0001410578-19-000657.txt : 20190805 0001410578-19-000657.hdr.sgml : 20190805 20190805141500 ACCESSION NUMBER: 0001410578-19-000657 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 87 CONFORMED PERIOD OF REPORT: 20190630 FILED AS OF DATE: 20190805 DATE AS OF CHANGE: 20190805 FILER: COMPANY DATA: COMPANY CONFORMED NAME: BOINGO WIRELESS, INC. CENTRAL INDEX KEY: 0001169988 STANDARD INDUSTRIAL CLASSIFICATION: COMMUNICATION SERVICES, NEC [4899] IRS NUMBER: 000000000 STATE OF INCORPORATION: DE FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 001-35155 FILM NUMBER: 19998269 BUSINESS ADDRESS: STREET 1: 10960 WILSHIRE BLVD., 23RD FLOOR CITY: LOS ANGELES STATE: CA ZIP: 90024 BUSINESS PHONE: 310-586-5180 MAIL ADDRESS: STREET 1: 10960 WILSHIRE BLVD., 23RD FLOOR CITY: LOS ANGELES STATE: CA ZIP: 90024 FORMER COMPANY: FORMER CONFORMED NAME: BOINGO WIRELESS INC DATE OF NAME CHANGE: 20020326 10-Q 1 wifi-20190630x10q.htm FORM 10-Q
false--12-31Q220190001169988wifi:MonteCarloMethodMember42669000441070000.0236323true00truetrueP30DP3YP1YP5Y0001169988srt:MinimumMemberwifi:PerformanceBasedRestrictedStockUnitsMember2019-06-300001169988srt:MaximumMemberwifi:PerformanceBasedRestrictedStockUnitsMember2019-06-300001169988wifi:NonEmployeeDirectorsAndNewMembersMemberwifi:ServiceBasedRestrictedStockUnitsMember2019-06-300001169988wifi:WholesalePartnerArrangementMembersrt:MinimumMember2019-01-012019-06-300001169988wifi:WholesalePartnerArrangementMembersrt:MaximumMember2019-01-012019-06-300001169988wifi:MultiFamilyPartnerArrangementMembersrt:MinimumMember2019-01-012019-06-300001169988wifi:MultiFamilyPartnerArrangementMembersrt:MaximumMember2019-01-012019-06-300001169988wifi:DasPartnerArrangementMembersrt:MinimumMember2019-01-012019-06-300001169988wifi:DasPartnerArrangementMembersrt:MaximumMember2019-01-012019-06-300001169988wifi:MilitaryAndRetailMember2019-01-012019-06-300001169988wifi:MultiFamilyPartnerArrangementMember2019-06-300001169988srt:MinimumMember2019-01-012019-06-300001169988srt:MaximumMember2019-01-012019-06-300001169988srt:MinimumMember2018-01-012018-12-310001169988srt:MaximumMember2018-01-012018-12-310001169988wifi:ElauwitNetworksLlcMember2019-01-012019-01-310001169988wifi:ElauwitNetworksLlcMember2018-08-012018-12-310001169988srt:MinimumMemberwifi:ElauwitNetworksLlcMemberus-gaap:MeasurementInputDiscountRateMemberwifi:ExcessEarningsReliefFromRoyaltyAndLossOfRevenueMethodsMember2018-08-010001169988srt:MaximumMemberwifi:ElauwitNetworksLlcMemberus-gaap:MeasurementInputDiscountRateMemberwifi:ExcessEarningsReliefFromRoyaltyAndLossOfRevenueMethodsMember2018-08-010001169988wifi:ElauwitNetworksLlcMemberwifi:MeasurementInputRoyaltyRateMemberwifi:ReliefFromRoyaltyMethodMember2018-08-010001169988wifi:ElauwitNetworksLlcMemberus-gaap:MeasurementInputDiscountRateMemberwifi:FairValueLessCostMethodMember2018-08-010001169988srt:MaximumMember2019-07-310001169988srt:MaximumMember2013-04-010001169988us-gaap:CommonStockMember2019-04-012019-06-300001169988us-gaap:CommonStockMember2019-01-012019-03-310001169988us-gaap:CommonStockMember2018-04-012018-06-300001169988us-gaap:CommonStockMember2018-01-012018-03-310001169988us-gaap:RetainedEarningsMember2019-06-300001169988us-gaap:NoncontrollingInterestMember2019-06-300001169988us-gaap:AdditionalPaidInCapitalMember2019-06-300001169988us-gaap:AccumulatedOtherComprehensiveIncomeMember2019-06-300001169988us-gaap:RetainedEarningsMember2019-03-310001169988us-gaap:NoncontrollingInterestMember2019-03-310001169988us-gaap:AdditionalPaidInCapitalMember2019-03-310001169988us-gaap:AccumulatedOtherComprehensiveIncomeMember2019-03-3100011699882019-03-310001169988us-gaap:RetainedEarningsMember2018-12-310001169988us-gaap:NoncontrollingInterestMember2018-12-310001169988us-gaap:AdditionalPaidInCapitalMember2018-12-310001169988us-gaap:AccumulatedOtherComprehensiveIncomeMember2018-12-310001169988us-gaap:RetainedEarningsMember2018-06-300001169988us-gaap:NoncontrollingInterestMember2018-06-300001169988us-gaap:AdditionalPaidInCapitalMember2018-06-300001169988us-gaap:AccumulatedOtherComprehensiveIncomeMember2018-06-300001169988us-gaap:RetainedEarningsMember2018-03-310001169988us-gaap:NoncontrollingInterestMember2018-03-310001169988us-gaap:AdditionalPaidInCapitalMember2018-03-310001169988us-gaap:AccumulatedOtherComprehensiveIncomeMember2018-03-3100011699882018-03-310001169988us-gaap:RetainedEarningsMember2017-12-310001169988us-gaap:NoncontrollingInterestMember2017-12-310001169988us-gaap:AdditionalPaidInCapitalMember2017-12-310001169988us-gaap:AccumulatedOtherComprehensiveIncomeMember2017-12-310001169988wifi:ConvertibleUnsecuredSeniorNotesMaturingIn1stOctober2023Member2018-10-020001169988wifi:EmployeeAndNonemployeeStockOptionMember2018-01-012018-12-310001169988wifi:EmployeeAndNonemployeeStockOptionMemberwifi:Plan2011Member2019-06-300001169988wifi:EmployeeAndNonemployeeStockOptionMember2019-06-300001169988wifi:EmployeeAndNonemployeeStockOptionMember2018-12-310001169988us-gaap:RestrictedStockUnitsRSUMemberwifi:Plan2011Member2019-06-300001169988us-gaap:RestrictedStockUnitsRSUMember2019-06-300001169988us-gaap:RestrictedStockUnitsRSUMember2018-12-310001169988wifi:PerformanceBasedRestrictedStockUnitsMember2019-02-012019-02-280001169988wifi:EmployeeAndNonemployeeStockOptionMemberus-gaap:ShareBasedCompensationAwardTrancheTwoMember2019-01-012019-06-300001169988srt:MaximumMemberwifi:ExecutiveAndNonExecutiveMemberwifi:ServiceBasedRestrictedStockUnitsMember2019-01-012019-06-300001169988wifi:NonEmployeeDirectorsAndNewMembersMemberwifi:ServiceBasedRestrictedStockUnitsMember2019-01-012019-06-300001169988wifi:NonEmployeeDirectorsAndExistingMembersMemberwifi:ServiceBasedRestrictedStockUnitsMember2019-01-012019-06-300001169988wifi:EmployeeAndNonemployeeStockOptionMemberus-gaap:ShareBasedCompensationAwardTrancheOneMember2019-01-012019-06-300001169988wifi:PerformanceBasedRestrictedStockUnitsMember2019-01-012019-06-300001169988wifi:EmployeeAndNonemployeeStockOptionMember2019-01-012019-06-300001169988wifi:WholesalePartnerArrangementMembersrt:MaximumMember2019-04-012019-06-300001169988wifi:DistributedAntennaSystemMembersrt:MaximumMember2019-04-012019-06-300001169988wifi:WholesalePartnerArrangementMember2019-06-300001169988wifi:DistributedAntennaSystemMember2019-06-300001169988wifi:WholesalePartnerArrangementMember2019-04-012019-06-300001169988wifi:MilitaryOrMultiFamilyMember2019-04-012019-06-300001169988wifi:DistributedAntennaSystemMember2019-04-012019-06-300001169988wifi:AdvertisingAndOtherMember2019-04-012019-06-300001169988us-gaap:RetailMember2019-04-012019-06-300001169988wifi:WholesalePartnerArrangementMember2019-01-012019-06-300001169988wifi:MilitaryOrMultiFamilyMember2019-01-012019-06-300001169988wifi:DistributedAntennaSystemMember2019-01-012019-06-300001169988wifi:AdvertisingAndOtherMember2019-01-012019-06-300001169988us-gaap:RetailMember2019-01-012019-06-300001169988wifi:WholesalePartnerArrangementMember2018-04-012018-06-300001169988wifi:MilitaryOrMultiFamilyMember2018-04-012018-06-300001169988wifi:DistributedAntennaSystemMember2018-04-012018-06-300001169988wifi:AdvertisingAndOtherMember2018-04-012018-06-300001169988us-gaap:RetailMember2018-04-012018-06-300001169988wifi:WholesalePartnerArrangementMember2018-01-012018-06-300001169988wifi:MilitaryOrMultiFamilyMember2018-01-012018-06-300001169988wifi:DistributedAntennaSystemMember2018-01-012018-06-300001169988wifi:AdvertisingAndOtherMember2018-01-012018-06-300001169988us-gaap:RetailMember2018-01-012018-06-300001169988wifi:FurnitureFixturesAndOfficeEquipmentMember2019-06-300001169988us-gaap:SoftwareAndSoftwareDevelopmentCostsMember2019-06-300001169988us-gaap:LeaseholdImprovementsMember2019-06-300001169988us-gaap:ConstructionInProgressMember2019-06-300001169988us-gaap:ComputerEquipmentMember2019-06-300001169988wifi:FurnitureFixturesAndOfficeEquipmentMember2018-12-310001169988us-gaap:SoftwareAndSoftwareDevelopmentCostsMember2018-12-310001169988us-gaap:LeaseholdImprovementsMember2018-12-310001169988us-gaap:ConstructionInProgressMember2018-12-310001169988us-gaap:ComputerEquipmentMember2018-12-310001169988us-gaap:RetainedEarningsMember2019-04-012019-06-300001169988us-gaap:RetainedEarningsMember2019-01-012019-03-310001169988us-gaap:RetainedEarningsMember2018-04-012018-06-300001169988us-gaap:AccumulatedOtherComprehensiveIncomeMember2019-04-012019-06-300001169988us-gaap:NoncontrollingInterestMember2019-01-012019-03-310001169988us-gaap:AccumulatedOtherComprehensiveIncomeMember2019-01-012019-03-310001169988us-gaap:AccumulatedOtherComprehensiveIncomeMember2018-04-012018-06-300001169988us-gaap:AccumulatedOtherComprehensiveIncomeMember2018-01-012018-03-310001169988us-gaap:AccountingStandardsUpdate201409Member2019-01-010001169988us-gaap:RetainedEarningsMember2018-01-012018-03-310001169988us-gaap:NoncontrollingInterestMember2018-01-012018-03-310001169988wifi:ChicagoConcourseDevelopmentGroupLLCMember2019-06-300001169988wifi:BoingoHoldingParticipacoesLtdaMember2019-06-300001169988us-gaap:NoncontrollingInterestMember2019-04-012019-06-300001169988us-gaap:NoncontrollingInterestMember2018-04-012018-06-300001169988wifi:ObligationOfUnderpaidRevenueSharePaymentsMember2019-01-012019-06-300001169988srt:MinimumMemberus-gaap:RevolvingCreditFacilityMember2019-01-012019-06-300001169988srt:MaximumMemberus-gaap:RevolvingCreditFacilityMember2019-01-012019-06-300001169988us-gaap:SecuredDebtMember2019-06-300001169988us-gaap:RevolvingCreditFacilityMember2019-06-300001169988us-gaap:LetterOfCreditMember2019-06-300001169988srt:MinimumMember2019-06-300001169988srt:MaximumMember2019-06-3000011699882019-01-012019-01-010001169988us-gaap:LineOfCreditMember2019-04-012019-06-300001169988us-gaap:LineOfCreditMember2019-01-012019-06-300001169988us-gaap:RestrictedStockUnitsRSUMember2019-04-012019-06-300001169988us-gaap:EmployeeStockOptionMember2019-04-012019-06-300001169988us-gaap:RestrictedStockUnitsRSUMember2019-01-012019-06-300001169988us-gaap:EmployeeStockOptionMember2019-01-012019-06-300001169988us-gaap:RestrictedStockUnitsRSUMember2018-04-012018-06-300001169988us-gaap:EmployeeStockOptionMember2018-04-012018-06-300001169988us-gaap:RestrictedStockUnitsRSUMember2018-01-012018-06-300001169988us-gaap:EmployeeStockOptionMember2018-01-012018-06-300001169988us-gaap:FairValueInputsLevel3Member2019-06-300001169988us-gaap:FairValueInputsLevel3Member2018-12-310001169988us-gaap:FairValueInputsLevel3Member2019-01-012019-06-300001169988wifi:ConvertibleUnsecuredSeniorNotesMaturingIn1stOctober2023Memberus-gaap:CallOptionMember2018-10-310001169988wifi:NetworkAccessMember2019-04-012019-06-300001169988wifi:NetworkAccessMember2019-01-012019-06-300001169988wifi:NetworkAccessMember2018-04-012018-06-300001169988wifi:NetworkAccessMember2018-01-012018-06-300001169988srt:MinimumMemberus-gaap:LineOfCreditMember2019-01-012019-06-300001169988srt:MaximumMemberus-gaap:LineOfCreditMember2019-01-012019-06-300001169988wifi:ConvertibleUnsecuredSeniorNotesMaturingIn1stOctober2023Member2018-10-012018-10-310001169988wifi:ConvertibleUnsecuredSeniorNotesMaturingIn1stOctober2023Member2018-10-310001169988srt:MinimumMemberus-gaap:LineOfCreditMemberus-gaap:PrimeRateMember2019-01-012019-06-300001169988srt:MinimumMemberus-gaap:LineOfCreditMemberus-gaap:LondonInterbankOfferedRateLIBORMember2019-01-012019-06-300001169988srt:MaximumMemberus-gaap:LineOfCreditMemberus-gaap:PrimeRateMember2019-01-012019-06-300001169988srt:MaximumMemberus-gaap:LineOfCreditMemberus-gaap:LondonInterbankOfferedRateLIBORMember2019-01-012019-06-300001169988wifi:ConvertibleUnsecuredSeniorNotesMaturingIn1stOctober2023Member2019-06-300001169988us-gaap:CommonStockMember2019-06-300001169988us-gaap:CommonStockMember2019-03-310001169988us-gaap:CommonStockMember2018-12-310001169988us-gaap:CommonStockMember2018-06-300001169988us-gaap:CommonStockMember2018-03-310001169988us-gaap:CommonStockMember2017-12-3100011699882018-06-3000011699882017-12-310001169988wifi:ElauwitNetworksLlcMemberwifi:PartnerRelationshipsMember2018-08-010001169988wifi:ElauwitNetworksLlcMemberwifi:NonCompeteAgreementMember2018-08-010001169988wifi:ElauwitNetworksLlcMemberwifi:FiniteLivedIntangibleAssetsBacklogHeldForSaleMember2018-08-010001169988wifi:ElauwitNetworksLlcMemberus-gaap:TransmissionServiceAgreementMember2018-08-010001169988wifi:ElauwitNetworksLlcMemberus-gaap:OrderOrProductionBacklogMember2018-08-010001169988wifi:ElauwitNetworksLlcMemberus-gaap:CustomerRelationshipsMember2018-08-010001169988wifi:ElauwitNetworksLlcMember2019-04-012019-06-300001169988wifi:ElauwitNetworksLlcMemberwifi:AnnualRevenueVolatilityRateMember2018-08-010001169988wifi:ElauwitNetworksLlcMemberus-gaap:MeasurementInputRiskFreeInterestRateMember2018-08-010001169988us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2019-06-300001169988us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2018-12-310001169988wifi:ElauwitNetworksLlcMember2018-08-010001169988srt:MaximumMemberwifi:ElauwitNetworksLlcMember2018-08-012018-08-010001169988wifi:ElauwitNetworksLlcMember2018-08-012018-08-010001169988wifi:ElauwitNetworksLlcMember2019-01-012019-06-300001169988wifi:ElauwitNetworksLlcMember2018-04-012018-06-300001169988wifi:ElauwitNetworksLlcMember2018-01-012018-06-300001169988us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2019-06-300001169988us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2019-06-300001169988us-gaap:FairValueMeasurementsRecurringMember2019-06-300001169988us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2018-12-310001169988us-gaap:FairValueMeasurementsRecurringMember2018-12-310001169988us-gaap:RestrictedStockUnitsRSUMember2019-04-012019-06-300001169988us-gaap:RestrictedStockUnitsRSUMember2018-04-012018-06-300001169988wifi:ConvertibleUnsecuredSeniorNotesMaturingIn1stOctober2023Member2019-04-012019-06-300001169988wifi:ConvertibleUnsecuredSeniorNotesMaturingIn1stOctober2023Member2019-01-012019-06-300001169988wifi:NetworkOperationsMember2019-04-012019-06-300001169988us-gaap:SellingAndMarketingExpenseMember2019-04-012019-06-300001169988us-gaap:ResearchAndDevelopmentExpenseMember2019-04-012019-06-300001169988us-gaap:GeneralAndAdministrativeExpenseMember2019-04-012019-06-300001169988wifi:NetworkOperationsMember2019-01-012019-06-300001169988us-gaap:SellingAndMarketingExpenseMember2019-01-012019-06-300001169988us-gaap:ResearchAndDevelopmentExpenseMember2019-01-012019-06-300001169988us-gaap:GeneralAndAdministrativeExpenseMember2019-01-012019-06-300001169988wifi:NetworkOperationsMember2018-04-012018-06-300001169988us-gaap:SellingAndMarketingExpenseMember2018-04-012018-06-300001169988us-gaap:ResearchAndDevelopmentExpenseMember2018-04-012018-06-300001169988us-gaap:GeneralAndAdministrativeExpenseMember2018-04-012018-06-300001169988wifi:NetworkOperationsMember2018-01-012018-06-300001169988us-gaap:SellingAndMarketingExpenseMember2018-01-012018-06-300001169988us-gaap:ResearchAndDevelopmentExpenseMember2018-01-012018-06-300001169988us-gaap:GeneralAndAdministrativeExpenseMember2018-01-012018-06-3000011699882018-01-012018-06-300001169988us-gaap:AdditionalPaidInCapitalMember2019-04-012019-06-3000011699882019-04-012019-06-300001169988us-gaap:AdditionalPaidInCapitalMember2019-01-012019-03-3100011699882019-01-012019-03-310001169988us-gaap:AdditionalPaidInCapitalMember2018-04-012018-06-3000011699882018-04-012018-06-300001169988us-gaap:AdditionalPaidInCapitalMember2018-01-012018-03-3100011699882018-01-012018-03-310001169988wifi:ElauwitNetworksLlcMemberwifi:PartnerRelationshipsMember2018-08-012018-08-010001169988wifi:ElauwitNetworksLlcMemberwifi:NonCompeteAgreementMember2018-08-012018-08-010001169988wifi:ElauwitNetworksLlcMemberus-gaap:TransmissionServiceAgreementMember2018-08-012018-08-010001169988wifi:ElauwitNetworksLlcMemberus-gaap:OrderOrProductionBacklogMember2018-08-012018-08-010001169988wifi:ElauwitNetworksLlcMemberus-gaap:CustomerRelationshipsMember2018-08-012018-08-0100011699882019-06-3000011699882018-12-3100011699882019-07-2600011699882019-01-012019-06-30xbrli:sharesiso4217:USDiso4217:USDxbrli:shareswifi:itemxbrli:purewifi:Diso4217:USDwifi:EquityInstrumentswifi:claimwifi:segment

UNITED STATES SECURITIES AND EXCHANGE COMMISSION

WASHINGTON, D.C. 20549

FORM 10-Q

QUARTERLY REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934

For the quarterly period ended June 30, 2019

OR

TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934

For the transition period from               to              

Commission file number: 001-35155

BOINGO WIRELESS, INC.

(Exact name of registrant as specified in its charter)

Delaware

95-4856877

(State or other jurisdiction of

(I.R.S. Employer

incorporation or organization)

Identification No.)

10960 Wilshire Blvd., 23rd Floor

Los Angeles, California

90024

(Address of principal executive offices)

(Zip Code)

(310) 586-5180

(Registrant’s telephone number, including area code)

Securities registered pursuant to Section 12(b) of the Act:

Common Stock, $0.0001 par value

WIFI

The NASDAQ Stock Market LLC

(Title of each class)

(Trading symbol)

(Name of each exchange on which registered)

Indicate by check mark whether the registrant (1) has 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 the registrant was required to file such reports) and (2) has been subject to such filing requirements for the past 90 days. Yes  No 

Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T (§232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit such files). Yes  No 

Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company or an emerging growth company. See the definitions of “large accelerated filer,” “accelerated filer”, “smaller reporting company” and “emerging growth company” in Rule 12b-2 of the Exchange Act.

Large accelerated filer

Accelerated filer

Non-accelerated filer

Smaller Reporting Company

Emerging Growth Company

If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act.

Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act). Yes No

As of July 26, 2019, there were 44,110,918 shares of the registrant’s common stock outstanding.

TABLE OF CONTENTS

Page

PART I — FINANCIAL INFORMATION

Item 1.

Financial Statements (unaudited)

3

Condensed Consolidated Balance Sheets

3

Condensed Consolidated Statements of Operations

4

Condensed Consolidated Statements of Comprehensive Income (Loss)

5

Condensed Consolidated Statement of Stockholders’ Equity

6

Condensed Consolidated Statements of Cash Flows

7

Notes to the Condensed Consolidated Financial Statements

8

Item 2.

Management’s Discussion and Analysis of Financial Condition and Results of Operations

31

Item 3.

Quantitative and Qualitative Disclosure about Market Risk

46

Item 4.

Controls and Procedures

46

PART II — OTHER INFORMATION

Item 1.

Legal Proceedings

47

Item 1A.

Risk Factors

47

Item 6.

Exhibits

48

SIGNATURES

49

2

PART I — FINANCIAL INFORMATION

Item 1. Financial Statements

Boingo Wireless, Inc.

Condensed Consolidated Balance Sheets

(Unaudited)

(In thousands, except per share amounts)

June 30, 

December 31, 

    

2019

    

2018

Assets

Current assets:

Cash and cash equivalents

$

27,381

$

149,412

Marketable securities

 

42,799

Accounts receivable, net

 

73,996

 

42,766

Prepaid expenses and other current assets

 

9,755

 

7,815

Total current assets

 

153,931

199,993

Property and equipment, net

 

350,172

 

314,179

Operating lease right-of-use assets, net

 

16,067

 

Goodwill

 

58,890

 

59,640

Intangible assets, net

 

16,890

 

19,152

Other assets

 

10,113

 

9,936

Total assets

$

606,063

$

602,900

Liabilities and stockholders’ equity

Current liabilities:

Accounts payable

$

21,351

$

21,543

Accrued expenses and other liabilities

 

61,444

 

62,653

Deferred revenue

 

61,620

 

80,383

Current portion of operating leases

2,708

Current portion of long-term debt

778

Current portion of finance leases

3,429

4,201

Current portion of notes payable

2,035

2,411

Total current liabilities

    

153,365

 

171,191

Deferred revenue, net of current portion

 

175,489

 

137,205

Long-term portion of operating leases

18,421

Long-term debt

158,469

151,670

Long-term portion of finance leases

1,790

3,293

Long-term portion of notes payable

683

1,618

Deferred tax liabilities

 

1,129

 

1,073

Other liabilities

1,268

 

6,728

Total liabilities

 

510,614

 

472,778

Commitments and contingencies (Note 14)

Stockholders’ equity:

Preferred stock, $0.0001 par value; 5,000 shares authorized; no shares issued and outstanding

 

 

Common stock, $0.0001 par value; 100,000 shares authorized; 44,107 and 42,669 shares issued and outstanding at June 30, 2019 and December 31, 2018, respectively

 

4

 

4

Additional paid-in capital

 

230,391

 

259,132

Accumulated deficit

 

(134,867)

 

(129,930)

Accumulated other comprehensive loss

(1,212)

(1,295)

Total common stockholders’ equity

 

94,316

 

127,911

Non-controlling interests

 

1,133

 

2,211

Total stockholders’ equity

 

95,449

 

130,122

Total liabilities and stockholders’ equity

$

606,063

$

602,900

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

3

Boingo Wireless, Inc.

Condensed Consolidated Statements of Operations

(Unaudited)

(In thousands, except per share amounts)

Three Months Ended

Six Months Ended

June 30, 

June 30, 

    

2019

    

2018

    

2019

    

2018

Revenue

$

68,554

$

59,601

$

135,027

$

117,760

Costs and operating expenses:

Network access

 

29,802

 

24,088

61,213

50,653

Network operations

 

14,249

 

12,723

28,391

25,569

Development and technology

 

8,353

 

7,463

17,352

14,888

Selling and marketing

 

6,194

 

5,353

12,061

10,816

General and administrative

 

7,015

 

6,730

15,309

14,429

Amortization of intangible assets

 

1,131

 

668

2,262

1,395

Total costs and operating expenses

 

66,744

 

57,025

136,588

117,750

Income (loss) from operations

 

1,810

 

2,576

(1,561)

10

Interest and other expense, net

 

(1,662)

 

(50)

(3,338)

(129)

Income (loss) before income taxes

 

148

 

2,526

(4,899)

(119)

Income tax benefit (expense)

 

81

 

(16)

(111)

(144)

Net income (loss)

 

229

 

2,510

(5,010)

(263)

Net income (loss) attributable to non-controlling interests

 

13

 

395

(73)

851

Net income (loss) attributable to common stockholders

$

216

$

2,115

$

(4,937)

$

(1,114)

Net income (loss) per share attributable to common stockholders:

Basic

$

0.00

$

0.05

$

(0.11)

$

(0.03)

Diluted

$

0.00

$

0.05

$

(0.11)

$

(0.03)

Weighted average shares used in computing net income (loss) per share attributable to common stockholders:

Basic

 

44,041

 

41,961

43,786

41,645

Diluted

 

44,378

 

45,219

43,786

41,645

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

4

Boingo Wireless, Inc.

Condensed Consolidated Statements of Comprehensive Income (Loss)

(Unaudited)

(In thousands)

Three Months Ended

Six Months Ended

June 30, 

June 30, 

    

2019

    

2018

    

2019

    

2018

Net income (loss)

$

229

$

2,510

$

(5,010)

$

(263)

Other comprehensive income (loss), net of tax

Foreign currency translation adjustments

 

70

 

(267)

36

(271)

Unrealized gain on marketable securities

29

45

Comprehensive income (loss)

 

328

 

2,243

(4,929)

(534)

Comprehensive income (loss) attributable to non-controlling interest

 

7

 

452

(75)

905

Comprehensive income (loss) attributable to common stockholders

$

321

$

1,791

$

(4,854)

$

(1,439)

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

5

Boingo Wireless, Inc.

Condensed Consolidated Statement of Stockholders’ Equity

(Unaudited)

(In thousands)

    

    

    

    

    

Accumulated

    

    

Common

Common

Additional

Other

Non-

Total

Stock

Stock

Paid-in

Accumulated

Comprehensive

controlling

Stockholders’

Shares

Amount

Capital

Deficit

Loss

Interests

Equity

Balance at December 31, 2018

 

42,669

$

4

$

259,132

$

(129,930)

$

(1,295)

$

2,211

$

130,122

Issuance of common stock under stock incentive plans

 

1,310

 

 

6

 

 

6

Shares withheld for taxes

 

 

 

(32,907)

 

 

(32,907)

Stock-based compensation expense

 

 

 

2,574

 

 

2,574

Net loss

(5,153)

(86)

(5,239)

Other comprehensive (loss) income

(22)

4

(18)

Balance at March 31, 2019

43,979

4

228,805

(135,083)

(1,317)

2,129

94,538

Issuance of common stock under stock incentive plans

128

74

74

Shares withheld for taxes

(759)

(759)

Stock-based compensation expense

2,271

2,271

Non-controlling interest distributions

(1,003)

(1,003)

Net income

216

13

229

Other comprehensive income (loss)

105

(6)

99

Balance at June 30, 2019

44,107

$

4

$

230,391

$

(134,867)

$

(1,212)

$

1,133

$

95,449

Balance at December 31, 2017

40,995

$

4

$

230,679

$

(131,967)

$

(898)

$

1,212

$

99,030

Issuance of common stock under stock incentive plans

758

4,228

4,228

Shares withheld for taxes

(6,340)

(6,340)

Stock-based compensation expense

3,312

3,312

Cumulative effect of a change in accounting principle

3,257

69

3,326

Net (loss) income

(3,229)

456

(2,773)

Other comprehensive loss

 

 

 

 

(1)

 

(3)

 

(4)

Balance at March 31,2018

 

41,753

4

231,879

(131,939)

(899)

1,734

100,779

Issuance of common stock under stock incentive plans

500

4,227

4,227

Shares withheld for taxes

(1,246)

(1,246)

Stock-based compensation expense

3,152

3,152

Non-controlling interest distributions

(614)

(614)

Net income

2,115

395

2,510

Other comprehensive (loss) income

(324)

57

(267)

Balance at June 30, 2018

42,253

$

4

$

238,012

$

(129,824)

$

(1,223)

$

1,572

$

108,541

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

6

Boingo Wireless, Inc.

Condensed Consolidated Statements of Cash Flows

(Unaudited)

(In thousands)

Six Months Ended

June 30, 

    

2019

    

2018

Cash flows from operating activities

Net loss

$

(5,010)

$

(263)

Adjustments to reconcile net loss including non-controlling interests to net cash provided by operating activities:

Depreciation and amortization of property and equipment

 

35,883

 

37,868

Amortization of intangible assets

 

2,262

 

1,395

Impairment loss, loss on disposal of fixed assets and intangible assets held for sale, net, and other

352

135

Stock-based compensation

4,380

6,072

Amortization of deferred financing costs and debt discount, net of amounts capitalized

4,381

Amortization of operating lease right-of-use assets

 

1,045

 

Gains and amortization of premiums/discounts for marketable securities

(425)

Changes in operating assets and liabilities:

Accounts receivable

 

(31,350)

 

(12,567)

Prepaid expenses and other assets

 

(376)

 

(22)

Accounts payable

 

95

 

704

Accrued expenses and other liabilities

 

3,661

 

1,018

Deferred revenue

 

19,521

 

(1,576)

Operating lease liabilities

(1,447)

Net cash provided by operating activities

 

32,972

 

32,764

Cash flows from investing activities

Purchases of marketable securities

(55,629)

Sales of marketable securities

13,300

Purchases of property and equipment

 

(73,852)

 

(42,918)

Net cash used in investing activities

 

(116,181)

 

(42,918)

Cash flows from financing activities

Debt issuance costs

(1,815)

Proceeds from credit facility

3,500

Principal payments on credit facility

(389)

(438)

Payments of acquisition related consideration

(1,952)

Proceeds from exercise of stock options

80

8,455

Payments of finance leases and notes payable

 

(3,586)

 

(2,865)

Payments of withholding tax on net issuance of restricted stock units

(33,666)

(7,586)

Payments to non-controlling interests

(1,003)

(614)

Net cash used in financing activities

 

(38,831)

 

(3,048)

Effect of exchange rates on cash

9

(23)

Net decrease in cash, cash equivalents, and restricted cash

 

(122,031)

 

(13,225)

Cash and cash equivalents at beginning of period

 

149,412

 

26,685

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

$

27,381

$

13,460

Supplemental disclosure of non-cash investing and financing activities

Property and equipment costs in accounts payable, accrued expenses and other liabilities

$

34,777

$

26,756

Purchase of equipment and prepaid maintenance services under capital financing arrangements

$

$

5,068

Capitalized stock-based compensation included in property and equipment costs

$

465

$

392

Purchase price for business acquisition included in accrued expenses and other liabilities

$

2,961

$

Financed sale of intangible assets held for sale

$

299

$

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

7

Boingo Wireless, Inc.

Notes to the Condensed Consolidated Financial Statements

(Unaudited)

(In thousands, except shares and per share amounts)

1. The business

Boingo Wireless, Inc. and its subsidiaries (collectively “we, “us”, “our” or “the Company”) is a leading global provider of wireless connectivity solutions for smartphones, tablets, laptops, wearables and other wireless-enabled consumer devices. Boingo Wireless, Inc. was incorporated on April 16, 2001 in the State of Delaware. We have a diverse monetization model that enables us to generate revenues from wholesale partnerships, retail sales, and advertising across these wireless networks. Wholesale offerings include distributed antenna systems (“DAS”) or small cells, which are cellular extension networks, multifamily, carrier offload, Wi-Fi roaming, value-added services, private label Wi-Fi, and location-based services. Retail products include Wi-Fi services for military personnel living in the barracks of U.S. Army, Air Force and Marine bases around the world, and Wi-Fi subscriptions and day passes that provide access to over 1.3 million commercial hotspots worldwide. Advertising revenue is driven by Wi-Fi sponsorships at airports, hotels, cafes and restaurants, and public spaces. Our customers include some of the world’s largest carriers, telecommunications service providers, global consumer brands, and property owners, as well as troops stationed at military bases and Internet savvy consumers on the go.

2. Summary of significant accounting policies

Basis of presentation

The accompanying interim condensed consolidated financial statements and related notes for the three and six months ended June 30, 2019 and 2018 are unaudited. The unaudited interim condensed consolidated financial information has been prepared in accordance with the rules and regulations of the SEC for interim financial information. Accordingly, they do not include all information and footnotes required by generally accepted accounting principles (“GAAP”) in the United States of America (“U.S.”) for complete financial statements. These financial statements should be read in conjunction with the audited consolidated financial statements and the accompanying notes for the year ended December 31, 2018 contained in our annual report on Form 10-K filed with the SEC on March 1, 2019. The unaudited interim condensed consolidated financial statements have been prepared on the same basis as the annual consolidated financial statements and in the opinion of management, reflect all adjustments, consisting of normal recurring adjustments, necessary for a fair statement of our results of operations for the three and six months ended June 30, 2019 and 2018, our cash flows for the six months ended June 30, 2019 and 2018, and our financial position as of June 30, 2019. The year-end balance sheet data was derived from audited consolidated financial statements but does not include all disclosures required by GAAP. Interim results are not necessarily indicative of the results to be expected for an entire year or any other future year or interim period.

In June 2018, the Financial Accounting Standards Board (“FASB”) issued Accounting Standards Update (“ASU”) 2018-07, Improvements to Nonemployee Share-Based Payment Accounting, which eliminates the separate accounting model for nonemployee share-based payment awards and generally requires companies to account for share-based payment transactions with nonemployees in the same way as share-based payment transactions with employees. The accounting remains different for attribution, which represents how the equity-based payment cost is recognized over the vesting period, and a contractual term election for valuing nonemployee equity share options. The standard is effective for interim and annual periods beginning after December 15, 2018. We adopted ASU 2018-07 on January 1, 2019 and the adoption of this standard did not have a material impact on our condensed consolidated financial statements.

In February 2016, the FASB issued a new standard related to leases, which was codified into Accounting Standards Codification (“ASC”) 842, Leases. ASC 842 requires lessees to recognize assets and liabilities for all leases with lease terms of more than 12 months on the balance sheet. Under ASC 842, the recognition, measurement, and presentation of expenses and cash flows arising from a lease by a lessee will depend on its classification as a finance or operating lease. On January 1, 2019, we adopted ASC 842 using the modified retrospective transition approach. ASC

8

842 permits two methods of adoption and we elected to apply the guidance to each lease that had commenced as of January 1, 2019 with a cumulative-effect adjustment to the opening balance of retained earnings as of that date. ASC 842 permits various optional transition practical expedients. The discount rate used to calculate the present value of the future payments was determined as of January 1, 2019 for existing lease contracts and was generally based on our incremental borrowing rate as of January 1, 2019 commensurate with the remaining lease term. We also elected the package of practical expedients which included the following: (i) an entity need not reassess whether any expired or existing contracts are or contain leases; (ii) an entity need not reassess the lease classification for any expired or existing leases; and (iii) an entity need not reassess initial direct costs for any existing leases. The standard had a material impact on our condensed consolidated balance sheet but did not have an impact on our condensed consolidated statement of operations and our condensed consolidated statement of cash flows. The most significant impact was the recognition of right-of-use (“ROU”) assets and liabilities related to our operating leases, while our accounting for finance leases remained substantially unchanged. Adoption of the new standard resulted in the recording of $16,916 of operating lease ROU assets and $22,338 of operating lease ROU liabilities as of January 1, 2019.

Principles of consolidation

The unaudited condensed consolidated financial statements include our accounts and the accounts of our majority owned subsidiaries. We consolidate our 70% ownership of Chicago Concourse Development Group, LLC and our 75% ownership of Boingo Holding Participacoes Ltda. in accordance with ASC 810, Consolidation. Other parties’ interests in consolidated entities are reported as non-controlling interests. All intercompany balances and transactions have been eliminated in consolidation.

Marketable securities

Our marketable securities consist of available-for-sale securities with original maturities exceeding three months. According to ASC 320, Investments—Debt and Equity Securities, we have classified securities, which have readily determinable fair values and are highly liquid, as short-term because such securities are expected to be realized within a one-year period. At June 30, 2019, we had $42,799 in marketable securities. We had no marketable securities at December 31, 2018.

Marketable securities are reported at fair value with the related unrealized gains and losses reported as other comprehensive income (loss) until realized or until a determination is made that an other-than-temporary decline in market value has occurred. No significant unrealized gains and losses have been reported during the periods presented. Factors considered by us in assessing whether an other-than-temporary impairment has occurred include the nature of the investment, whether the decline in fair value is attributable to specific adverse conditions affecting the investment, the financial condition of the investee, the severity and the duration of the impairment and whether we have the ability to hold the investment to maturity. When it is determined that an other-than-temporary impairment has occurred, the investment is written down to its market value at the end of the period in which it is determined that an other-than-temporary decline has occurred. The cost of marketable securities sold is based upon the specific identification method. Any realized gains or losses on the sale of investments are reflected as a component of interest and other expense, net.

For the three and six months ended June 30, 2019, we had no significant realized or unrealized gains or losses from investments in marketable securities classified as available-for-sale. As of June 30, 2019, we had $45 of cumulative unrealized gains, net of tax, which was $0 as of June 30, 2019 due to the full valuation allowance established against our deferred tax assets, in accumulated other comprehensive loss.

Segment and geographic information

We operate as one reportable segment; a service provider of wireless connectivity solutions across our managed and operated network and aggregated network for mobile devices such as laptops, smartphones, tablets and other wireless-enabled consumer devices. This single segment is consistent with the internal organization structure and the manner in which operations are reviewed and managed by our Chief Executive Officer, the chief operating decision maker.

9

All significant long-lived tangible assets are held in the United States of America. We do not disclose sales by geographic area because to do so would be impracticable.

The following is a summary of our revenue disaggregated by product offerings:

                                                                                                                                                                              

Three Months Ended

Six Months Ended

June 30, 

June 30, 

    

2019

    

2018

    

2019

    

2018

Revenue:

DAS

$

27,622

$

21,885

$

51,717

$

45,530

Military/multifamily

24,396

16,735

50,293

32,589

Wholesale—Wi-Fi

 

10,718

 

13,530

21,738

24,679

Retail

3,847

4,566

7,773

9,876

Advertising and other

 

1,971

 

2,885

3,506

5,086

Total revenue

$

68,554

$

59,601

$

135,027

$

117,760

Revenue recognition

We generate revenue from several sources including: (i) DAS customers that are telecom operators under long-term contracts for access to our DAS at our managed and operated locations, (ii) military and retail customers under subscription plans for month-to-month network access that automatically renew, and military and retail single-use access from sales of hourly, daily or other single-use access plans, (iii) arrangements with property owners for multifamily properties that provide for network installation and monthly Wi-Fi services and support for residents and employees, (iv) arrangements with wholesale Wi-Fi customers that provide software licensing, network access, and/or professional services fees, and (v) display advertisements and sponsorships on our walled garden sign-in pages. Software licensed by our wholesale platform services customers can only be used during the term of the service arrangements and has no utility to them upon termination of the service arrangement.

Revenues are recognized when a contract with a customer exists and control of the promised goods or services is transferred to our customers, in an amount that reflects the consideration we expect to be entitled to in exchange for those goods or services and the identified performance obligation has been satisfied. Contracts entered into at or near the same time with the same customer are combined and accounted for as a single contract if the contracts have a single commercial objective, the amount of consideration is dependent on the price or performance of the other contract, or the services promised in the contracts are a single performance obligation. Contract amendments are routine in the performance of our DAS, wholesale Wi-Fi, and advertising contracts. Contracts are often amended to account for changes in contract specifications or requirements or expand network access services. In most instances, our DAS and wholesale Wi-Fi contract amendments are for additional goods or services that are distinct, and the contract price increases by an amount that reflects the standalone selling price of the additional goods or services; therefore, such contract amendments are accounted for as separate contracts. Contract amendments for our advertising contracts are also generally for additional goods or services that are distinct; however, the contract price does not increase by an amount that reflects the standalone selling price of the additional goods or services. Advertising contract amendments are therefore generally accounted for as contract modifications under the prospective method. Contract amendments to transaction prices with no change in remaining services are accounted for as contract modifications under the cumulative catch-up method.

A performance obligation is a promise in a contract to transfer a distinct good or service to the customer and is the unit of account in ASC 606, Revenue from Contracts with Customers. A contract’s transaction price is allocated to each distinct performance obligation and is recognized as revenue when, or as, the performance obligation is satisfied, which typically occurs when the services are rendered. Determining whether products and services are considered distinct performance obligations that should be accounted for separately versus together may require significant judgment. Our contracts with customers may include multiple performance obligations. For such arrangements, we allocate revenue to each performance obligation based on its relative standalone selling price. We generally determine standalone selling prices based on the prices charged to customers. Judgment may be used to determine the standalone selling prices for items that are not sold separately, including services provided at no additional charge. Most of our performance obligations are satisfied over time as services are provided. We generally recognize revenue on a gross

10

basis as we are primarily responsible for fulfilling the promises to provide the specified goods or services, we are responsible for paying all costs related to the goods or services before they have been transferred to the customer, and we have discretion in establishing prices for the specified goods or services. Revenue is presented net of any sales and value added taxes.

Payment terms vary on a contract-by-contract basis, although terms generally require payment within 30 to 60 days for non-recurring payments, the first day of the monthly or quarterly billing cycle for recurring payments for DAS and wholesale Wi-Fi contracts, and the first day of the month prior to the month that services are provided for multifamily contracts. We apply a practical expedient for purposes of determining whether a significant financing component may exist for our contracts if, at contract inception, we expect that the period between when we transfer the promised good or service to the customer and when the customer pays for that good or service will be one year or less. In instances where the customer pays for a good or service one year or more in advance of the period when we transfer the promised good or service to the customer, we have determined our contracts generally do not include a significant financing component. The primary purpose of our invoicing terms is not to receive financing from our customers or to provide customers with financing but rather to maximize our profitability on the customer contract. Specifically, inclusion of non-refundable upfront fees in our long-term customer contracts increases the likelihood that the customer will be committed through the end of the contractual term and ensures recoverability of the capital outlay that we incur in expectation of the customer fulfilling its contractual obligations. We may also provide service credits to our customers if we fail to meet contractual monthly system uptime requirements and we account for the variable consideration related to these service credits using the most likely amount method.

For contracts that include variable consideration, we estimate the amount of consideration at contract inception under the expected value method or the most likely amount method and include the amount of variable consideration that is not considered to be constrained. Significant judgment is used in constraining estimates of variable consideration. We update our estimates at the end of each reporting period as additional information becomes available.

Timing of revenue recognition may differ from the timing of invoicing to customers. We record unbilled receivables (contract assets) when revenue is recognized prior to invoicing, deferred revenue (contract liabilities) when revenue is recognized after invoicing, and receivables when we have an unconditional right to consideration to invoice and receive payment in the future. We present our DAS, multifamily, and wholesale Wi-Fi contracts in our condensed consolidated balance sheet as either a contract asset or a contract liability with any unconditional rights to consideration presented separately as a receivable. Our other customer contracts generally do not have any significant contract asset or contract liability balances. Generally, a significant portion of the billing for our DAS contracts occurs prior to revenue recognition, resulting in our DAS contracts being presented as contract liabilities. In contrast, our wholesale Wi-Fi contracts that contain recurring fees with annual escalations are generally presented as contract assets as revenue is recognized prior to invoicing. Our multifamily contracts can be presented as either contract liabilities or contract assets primarily as a result of timing of invoicing for the network installations.

We recognize an asset for the incremental costs of obtaining a contract with a customer if we expect the benefit of those costs to be longer than one year. We have determined that certain sales incentive programs meet the requirements to be capitalized. Total capitalized costs to obtain a contract were immaterial during the three and six months ended June 30, 2019 and are included in prepaid expenses and other current assets and non-current other assets on our condensed consolidated balance sheets. We apply a practical expedient to expense costs as incurred for costs to obtain a contract with a customer when the amortization period would have been one year or less, the most significant of which relates to sales commissions related to obtaining our advertising customer contracts. Contract costs are evaluated for impairment in accordance with ASC 310, Receivables.

DAS

We enter into long-term contracts with telecom operators at our managed and operated locations. The initial term of our contracts with telecom operators generally range from five to twenty years and the agreements generally contain renewal options. Some of our contracts provide termination for convenience clauses that may or may not include substantive termination penalties. We apply judgment in determining the contract term, the period during which we have present and enforceable rights and obligations. Our DAS customer contracts generally contain a single performance

11

obligationprovide non-exclusive access to our DAS or small cell networks to provide telecom operators’ customers with access to the licensed wireless spectrum, together with providing telecom operators with construction, installation, optimization/engineering, maintenance services and agreed-upon storage space for the telecom operators’ transmission equipment, each related to providing such licensed wireless spectrum to the telecom operators. The performance obligation is considered a series of distinct services as the performance obligation is satisfied over time and the same time-based input method would be used to measure our progress toward complete satisfaction of the performance obligation to transfer each distinct service in the series to the customer. Our contract fee structure generally includes a non-refundable upfront fee and we evaluated whether customer options to renew services give rise to a material right that should be accounted for as a separate performance obligation because of those non-refundable upfront fees. We believe that a material right generally does not exist for our DAS customer contracts that contain renewal options because the telecom operators’ decision to renew is highly dependent upon our ability to maintain our exclusivity as the DAS service provider at the venue location and our limited operating history with venue and customer renewals. The telecom operators will make the decision to incur the capital improvement costs at the venue location irrespective of our remaining exclusivity period with the venue as the telecom operators expect that the assets will continue to be serviced regardless of whether we will remain such exclusive DAS service provider. Our contracts also provide our DAS customers with the option to purchase additional future services such as upgrades or enhancements. This option is not considered to provide the customer with a material right that should be accounted for as a separate performance obligation since the cost of the additional future services depends entirely on the market rate of such services at the time such services are requested and we are not automatically obligated to stand ready to deliver these additional goods or services as the customer may reject our proposal. Periodically, we install and sell DAS networks to customers where we do not have service contracts or remaining obligations beyond the installation of those networks and we recognize build-out fees for such projects as revenue when the installation work is completed, and the network has been accepted by the customer.

Our contract fee structure may include varying components of an upfront build-out fee and recurring access, maintenance, and other fees. The upfront build-out fee is generally structured as a firm-fixed price or cost-plus arrangement and becomes payable as certain contract and/or construction milestones are achieved. Our DAS and small cell networks are neutral-host networks that can accommodate multiple telecom operators. Some of our DAS customer contracts provide for credits that may be issued to existing telecom operators for additional telecom operators subsequently joining the DAS network. The credits are generally based upon a fixed dollar amount per additional telecom operator, a fixed percentage amount of the original build-out fee paid by the telecom operator per additional telecom operator, or a proportionate share based upon the split among the relevant number of telecom operators for the actual costs incurred by all telecom operators to construct the DAS network. In most cases, there is significant uncertainty on whether additional telecom operator contracts will be executed at inception of the contract with the existing telecom operator. We believe that the upfront build-out fee is fixed consideration once the build-out is complete and any subsequent credits that may be issued would be accounted for in a manner similar to a contract modification under the prospective method because (i) the execution of customer contracts with additional telecom carriers is at our sole election and (ii) we would not execute agreements with additional telecom carriers if it would not increase our revenues and gross profits at the venue level. Further, the credits issued to the existing telecom operator changes the transaction price on a go-forward basis, which corresponds with the decline in service levels for the existing telecom operator once the neutral-host DAS network can be accessed by the additional telecom operator. The recurring access, maintenance, and other fees generally escalate on an annual basis. The recurring fees are variable consideration until the contract term and annual escalation dates are fixed. We estimate the variable consideration for our recurring fees using the most likely amount method based on the expected commencement date for the services. We evaluate our estimates of variable consideration each period and record a cumulative catch-up adjustment in the period in which changes occur for the amount allocated to satisfied performance obligations.

We generally recognize revenue related to our single performance obligation for our DAS customer contract monthly over the contract term once the customer may access the DAS network and we commence maintenance on the DAS network.

12

Military and retail

Military and retail customers must review and agree to abide by our standard “Customer Agreement (With Acceptable Use Policy) and End User License Agreement” before they are able to sign up for our subscription or single-use Wi-Fi network access services. Our military and retail customer contracts generally contain a single performance obligationprovide non-exclusive access to Wi-Fi services, together with performance of standard maintenance, customer support, and the Wi-Finder app to facilitate seamless connection to the Company’s Wi-Fi network. The performance obligation is considered a series of distinct services as the performance obligation is satisfied over time and the same time-based input method would be used to measure our progress toward complete satisfaction of the performance obligation to transfer each distinct service in the series to the customer. Our contracts also provide our military and retail subscription customers with the option to renew the agreement when the subscription term is over. We do not consider this option to provide the customer with a material right that should be accounted for as a separate performance obligation because the customer would not receive a discount if it decided to renew and the option to renew is cancellable with 5 days’ notice prior to the end of the then current term by either party.

The contract transaction price is determined based on the subscription or single-use plan selected by the customer. Our military and retail service plans are for fixed price services as described on our website. From time to time, we offer promotional discounts that result in an immediate reduction in the price paid by the customer. Subscription fees from military and retail customers are paid monthly in advance. We provide refunds for our military and retail services on a case-by-case basis. Refunds and credit card chargeback amounts are not significant and are recorded as contra-revenue in the period the refunds are made, or chargebacks are received.

Subscription fee revenue is recognized ratably over the subscription period. Revenue generated from military and retail single-use access is recognized when access is provided, and the performance obligation is satisfied.

Multifamily

We enter into long-term contracts with property owners. The initial term of our contracts with property owners generally range from three to five years and the contracts may contain renewal options. Some of our contracts provide termination for convenience clauses that may or may not include substantive termination penalties. We apply judgment in determining the contract term, which is the period during which we have present and enforceable rights and obligations. Our customer contracts generally contain two performance obligations: (i) install the network required to provide Wi-Fi services; and (ii) provide Wi-Fi services and technical support to the residents and employees. Our contracts may also provide our property owners with the option to renew the agreement. We do not consider this option to provide the property owner with a material right that should be accounted for as a separate performance obligation because the property owner would not receive a discount if it decided to renew and the option to renew is generally cancellable by either party subject to the notice of non-renewal requirements specified in the contract. Our contracts may also provide our customers with the option to purchase additional future services. We do not consider this option to provide the customer with a material right that should be accounted for as a separate performance obligation since the cost of the additional future services are generally at market rates for such services and we are not automatically obligated to stand ready to deliver these additional goods or services because the customer may reject our proposal.

Our contract fee structure includes a network installation fee and recurring Wi-Fi service and support fees. The network installation fee is generally structured as a firm-fixed price arrangement and becomes payable as certain contract and/or installation milestones are achieved. We generally estimate variable consideration for unpriced change orders using the most likely amount method based on the expected price for those services. If network installations are not completed by specified dates, we may be subject to network installation penalties. We estimate the variable consideration for our network installation fees using the most likely amount method based on the amount of network installation penalties we expect to incur. Title to the network generally transfers to the property owner once installation is completed and the network has been accepted. We generally recognize revenue related to our network installation performance obligation using a cost-to-cost method over the network installation period. We may provide latent defect warranties for materials and installation labor services related to our network installation services. Our warranty obligations are generally not accounted for as separate performance obligations as warranties cannot be separately purchased and warranties do not provide a service in addition to the assurance that the network will function as expected.

13

The recurring fees commence once the network is launched with recurring fees generally based upon a fixed or variable occupancy rate. The recurring Wi-Fi service fees may be adjusted prospectively for changes in circuit and/or video content costs, and Wi-Fi support fees may escalate on an annual basis. We estimate the variable consideration for our recurring fees using the expected value method with the exception of the variable consideration related to actual occupancy rates, which we record when we have the contractual right to bill. We evaluate our estimates of variable consideration each period and record a cumulative catch-up adjustment in the period in which changes occur for the amount allocated to satisfied performance obligations. We recognize revenue related to the recurring fees on a monthly basis over the contract term as the Wi-Fi services and support is rendered, and the performance obligation is satisfied.

Wholesale Wi-Fi

We enter into long-term contracts with enterprise customers such as telecom operators, cable companies, technology companies, and enterprise software/services companies, that pay us usage-based Wi-Fi network access and software licensing fees to allow their customers' access to our footprint worldwide. We also enter into long-term contracts with financial institutions and other enterprise customers who provide access to our Wi-Fi footprint as a value-added service for their customers. The initial term of our contracts with wholesale Wi-Fi customers generally range from one to three years and the agreements generally contain renewal options. Some of our contracts provide termination for convenience clauses that may or may not include substantive termination penalties. We apply judgment in determining the contract term, the period during which we have present and enforceable rights and obligations. Our wholesale Wi-Fi customer contracts generally contain a single performance obligation-provide non-exclusive rights to access our Wi-Fi networks to provide wholesale Wi-Fi customers' end customers with access to the high-speed broadband network that may be bundled together with integration services, support services, and/or performance of standard maintenance. The performance obligation is considered a series of distinct services as the performance obligation is satisfied over time and the same time-based input method or usage-based output method would be used to measure our progress toward complete satisfaction of the performance obligation to transfer each distinct service in the series to the customer. Our contracts may also provide our enterprise customers with the option to renew the agreement. This option is not considered to provide the customer with a material right that should be accounted for as a separate performance obligation because the customer would not receive a discount if it decided to renew and the option to renew is generally cancellable by either party subject to the notice of non-renewal requirements specified in the contract. Our contracts may also provide our wholesale Wi-Fi customers with the option to purchase additional future services. We do not consider this option to provide the customer with a material right that should be accounted for as a separate performance obligation since the cost of the additional future services are generally at market rates for such services and we are not automatically obligated to stand ready to deliver these additional goods or services because the customer may reject our proposal. Periodically, we install and sell Wi-Fi networks to customers where we do not have service contracts or remaining obligations beyond the installation of those networks and we recognize build-out fees for such projects as revenue when the installation work is completed, and the network has been accepted by the customer.

Our contract fee structure may include varying components of a minimum fee and usage-based fees. Minimum fees represent fixed price consideration while usage-based fees represent variable consideration. With respect to variable consideration, our commitment to our wholesale Wi-Fi customers consists of providing continuous access to the network. It is therefore a single performance obligation to stand ready to perform and we allocate the variable fees charged for usage when we have the contractual right to bill. The variable component of revenue is recognized based on the actual usage during the period.

Wholesale Wi-Fi revenue is recognized as it is earned over the relevant contract term with variable consideration recognized when we have the contractual right to bill.

Advertising

We generally enter into short-term cancellable insertion orders with our advertising customers for advertising campaigns that are served at our managed and operated locations and other locations where we solely provide authorized access to a partner’s Wi-Fi network through sponsored and promotional programs. Our sponsorship advertising arrangements are generally priced under a cost per engagement structure, which is a set price per click or engagement, or

14

a cost per install structure for third party application downloads. Our display advertising arrangements are priced based on cost per thousand impressions. Insertion orders may also include bonus items. Our advertising customer contracts may contain multiple performance obligations with each distinct service. These distinct services may include an advertisement video or banner impressions in the contract bundled with the requirement to provide network, space on the website, and integration of customer advertisement onto the website, and each is generally considered to be its own performance obligation. The performance obligations are considered a series of distinct services as the performance obligations are satisfied over time and the same action-based output method would be used to measure our progress toward complete satisfaction of the performance obligation to transfer each distinct service in the series to the customer.

The contract transaction price is comprised of variable consideration based on the stated rates applied against the number of units delivered inclusive of the bonus units subject to the maximums provided for in the insertion order. It is customary for us to provide additional units over and above the amounts contractually required; however, there are a number of factors that can also negatively impact our ability to deliver the units required by the customer such as service outages at the venue resulting from power or circuit failures and customer cancellation of the remaining undelivered units under the insertion order due to campaign performance or budgetary constraints. Typically, the advertising campaign periods are short in duration. We therefore use the contractual rates per the insertion orders and actual units delivered to determine the transaction price each period end. The transaction price is allocated to each performance obligation based on the standalone selling price of each performance obligation.

Advertising revenue is recognized ratably over the service period based on actual units delivered subject to the maximums provided for in the insertion order.

Leases

We determine if an arrangement is a lease at inception. Operating leases are included in operating lease right-of-use assets, current portion of operating and finance leases, and long-term portion of operating and finance leases in our condensed consolidated balance sheets. Finance leases are included in property and equipment, net, current portion of operating and finance leases, and long-term portion of operating and finance leases in our condensed consolidated balance sheets.

Operating and finance lease ROU assets and ROU liabilities are recognized based on the present value of the future minimum lease payments over the lease term at the commencement date. As most of our leases do not provide an implicit rate, we use our incremental borrowing rate based on the information available at the commencement date in determining the present value of future payments. The ROU asset also includes any lease payments made and excludes lease incentives and initial direct costs incurred. Our lease terms may include options to extend or terminate the lease when it is reasonably certain that we will exercise that option. Lease expense for minimum lease payments is recognized on a straight-line basis over the lease term. We have lease agreements with lease and non-lease components, which are accounted for separately for the asset classes maintained. We exclude short-term leases with a lease term of 12 months or less at the commencement date from our condensed consolidated balance sheets.

Income taxes

We calculate our interim income tax provision in accordance with ASC 270, Interim Reporting, and ASC 740, Accounting for Income Taxes. At the end of each interim period, we estimate the annual effective tax rate and apply that rate to our ordinary quarterly earnings. The tax expense or benefit related to significant, unusual, or extraordinary items is recognized in the interim period in which those items occur. In addition, the effect of changes in enacted tax laws, rates, or tax status is recognized in the interim period in which the change occurs. Excess windfall tax benefits and tax deficiencies related to our stock option exercises and restricted stock unit (“RSU”) vesting are recognized as an income tax benefit or expense in our condensed consolidated statements of operations in the period they are deducted on the income tax return. Excess windfall tax benefits and tax deficiencies are therefore not anticipated when determining the annual effective tax rate and are instead recognized in the interim period in which those items occur.

The computation of the annual estimated effective tax rate at each interim period requires certain estimates and significant judgment, including the expected operating income (loss) for the year, projections of the proportion of income

15

(loss) earned and taxed in various states, permanent and temporary differences as a result of differences between amounts measured and recognized in accordance with tax laws and financial accounting standards, and the likelihood of recovering deferred tax assets generated in the current year. The accounting estimates used to compute the provision for income taxes may change as new events occur, additional information is obtained, or as the tax environment changes.

As of June 30, 2019, we had an immaterial amount of unremitted earnings in our subsidiaries located outside of the U.S. for which state taxes have not been paid. Our intention is to indefinitely reinvest these earnings outside the U.S. If we were to remit our foreign earnings, we would be subject to state income taxes or withholding taxes imposed on actual distributions, or currency transaction gains (losses) that would result in taxation upon remittance. However, the amounts of any such tax liabilities resulting from the repatriation of foreign earnings are not material.

Foreign currency translation

Our Brazilian subsidiary uses the Brazilian Real as its functional currency. Assets and liabilities of our Brazilian subsidiary are translated to U.S. dollars at period-end rates of exchange, and revenues and expenses are translated at average exchange rates prevailing for each month. The resulting translation adjustments are made directly to a separate component of other comprehensive loss, which is reflected in stockholders’ equity in our condensed consolidated balance sheets. As of June 30, 2019 and December 31, 2018, the Company had $(1,257) and $(1,295), respectively, of cumulative foreign currency translation adjustments, net of tax, which was $0 as of June 30, 2019 and December 31, 2018 due to the full valuation allowance established against our deferred tax assets, in accumulated other comprehensive loss.

The functional currency for our other foreign subsidiaries is the U.S. dollar. Gains and losses from the revaluation of foreign currency transactions and monetary assets and liabilities are included in the condensed consolidated statements of operations.

Use of estimates

The preparation of accompanying condensed consolidated financial statements in conformity with GAAP requires us to make estimates and assumptions that affect the reported amounts of assets and liabilities and the disclosure of contingent assets and liabilities at the dates of the accompanying condensed consolidated financial statements, and the reported amounts of revenue and expenses during the reporting period. Actual results could differ from those estimates. Assets and liabilities which are subject to significant judgment and the use of estimates include the allowance for doubtful accounts, recoverability of goodwill and long-lived assets, valuation allowances with respect to deferred tax assets, useful lives associated with property and equipment, valuation of ROU assets and ROU liabilities, valuation and useful lives of intangible assets, valuation of contingent consideration, contract assets and contract liabilities including estimates of variable consideration, and the valuation and assumptions underlying stock-based compensation and other equity instruments. On an ongoing basis, we evaluate our estimates compared to historical experience and trends, which form the basis for making judgments about the carrying value of assets and liabilities.

Fair value of financial instruments

Fair value is defined as 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, we consider the principal or most advantageous market in which it would transact, and we consider assumptions that market participants would use when pricing the asset or liability.

16

The accounting guidance for fair value measurement also requires an entity to maximize the use of observable inputs and minimize the use of unobservable inputs when measuring fair value. The standard establishes a fair value hierarchy based on the level of independent, objective evidence surrounding the inputs used to measure 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. The fair value hierarchy is as follows:

Level 1—Unadjusted quoted prices in active markets that are accessible at the measurement date for identical, unrestricted assets or liabilities.

Level 2—Quoted prices for identical assets and liabilities in markets that are not active, quoted prices for similar assets and liabilities in active markets or financial instruments for which significant inputs are observable, either directly or indirectly.

Level 3—Unobservable inputs that are supported by little or no market activity and that are significant to the fair value of the assets or liabilities.

The carrying amount reflected in the accompanying condensed consolidated balance sheets for cash and cash equivalents, accounts receivable, prepaid expenses and other current assets, other assets, accounts payable, accrued expenses and other liabilities, and deferred revenue approximates fair value due to the short duration and nature of these financial instruments.

Recent accounting pronouncements

In August 2018, the FASB issued ASU 2018-15, Intangibles—Goodwill and Other—Internal-Use Software (Subtopic 350-40): Customer’s Accounting for Implementation Costs Incurred in a Cloud Computing Arrangement That Is a Service Contract, which requires customers to apply the same criteria for capitalizing implementation costs incurred in a cloud computing arrangement that is hosted by the vendor as they would for an arrangement that has a software license. The standard is effective for interim and annual periods beginning after December 15, 2019 and early adoption is permitted. The standard can be adopted prospectively or retrospectively. We are currently evaluating the expected impact of this new standard.

3. Acquisitions

Elauwit Networks, LLC

On August 1, 2018, we acquired the assets of Elauwit Networks, LLC (“Elauwit”) for $28,000 plus other contingent consideration. Elauwit provides data and video services to multi-unit dwelling properties including student housing, condominiums, apartments, senior living, and hospitality industries throughout the U.S. In addition, Elauwit builds and maintains the network that supports these services for property owners and managers and provides support for residents and employees.

The acquisition has been accounted for under the acquisition method of accounting in accordance with ASC 805, Business Combinations. As such, the assets acquired and liabilities assumed are recorded at their acquisition-date fair values. The total purchase price was $29,537, which includes contingent consideration fair valued at $961. At the closing date, we paid cash of $15,576. $13,000 of the purchase price was held back for the following: (i) $11,000 held back for third-party consents not obtained at closing for certain customer agreements, which are released as Elauwit delivers third-party consents with respect to such customer agreements; and (ii) a $2,000 indemnification holdback that is being retained for a period of 12 months following the closing of the acquisition. In 2018, we paid $9,048 of the amounts held back for third-party consents. We paid the remaining $1,952 for amounts held back for third-party consents in January 2019. The contingent consideration could require payments in the aggregate amount of up to $15,000 that would be due and payable subject to certain conditions and the successful achievement of annual revenue targets for the acquired business during the 2019 and 2020 fiscal years. The contingent consideration is subject to acceleration under certain corporate events.

17

The fair value of the contingent consideration is based on Level 3 inputs. Further changes in the fair value of the contingent consideration will be recorded through operating income (loss). The contingent consideration was valued at the date of acquisition using the Monte Carlo method reflecting the average expected monthly revenue, an annual risk-free rate of 2.78%, and an annual revenue volatility rate of 40%.

The identifiable intangible assets were primarily valued using the excess earnings, relief from royalty, and loss-of-revenue methods using discount rates ranging from 8.0% to 21.0% and a 1.0% royalty rate, where applicable, except for certain backlog intangible assets held for sale that were valued at fair value less costs to sell using a discount rate of 8%. The amortizable intangible assets held for use are being amortized on a straight-line basis over their estimated useful lives. Intangible assets held for sale are not amortized. We allocated the excess of the purchase price over the fair value of assets acquired and liabilities assumed to goodwill, which is deductible for tax purposes. The goodwill arising from the Elauwit acquisition is attributable primarily to expected synergies and other benefits, including the acquired workforce, from combining Elauwit with us.

ASC 805 provides for a measurement period not to exceed one year from the acquisition date to adjust the provisional amounts recognized at the acquisition date to reflect new information obtained about facts and circumstances that existed as of the acquisition date that, if known, would have affected the measurement of the amounts recognized as of that date. During the six months ended June 30, 2019, we recorded a measurement period adjustment to increase the value of backlog intangible assets held for sale and decrease goodwill by $750 as a result of the identification of additional assets that were acquired. Intangible assets held for sale are included within prepaid expenses and other current assets on the condensed consolidated balance sheets. To date, we have not recorded any other material measurement period adjustments. The following summarizes the preliminary purchase price allocation:

    

    

Weighted Average

Estimated

Estimated Useful

 Fair Value

Life (years)

Consideration:

 

  

 

  

Cash paid

$

15,576

 

  

Holdback consideration

 

13,000

 

  

Contingent consideration

 

961

 

  

Total consideration

$

29,537

 

  

Recognized amounts of identifiable assets acquired and liabilities assumed:

 

  

 

  

Accounts receivable

$

4,494

 

  

Prepaid expenses and other current assets

 

1,687

 

  

Property and equipment

 

195

 

  

Other non-current assets

177

Accounts payable

 

(2,049)

 

  

Accrued expenses and other liabilities

 

(683)

 

  

Deferred revenue

 

(3,854)

 

  

Other non-current liabilities

 

(307)

 

  

Net tangible liabilities acquired

 

(340)

 

  

Backlog

 

7,030

 

5.0

Backlog-held for sale

750

Customer relationships

 

2,490

 

10.0

Partner relationships

 

1,200

 

10.0

Transition services agreement

 

540

 

2.0

Non-compete agreement

 

1,380

 

3.0

Goodwill

 

16,487

 

  

Total purchase price

$

29,537

 

  

18

The following table presents the results of Elauwit included in the Company’s revenue and net loss:

Three Months Ended

Six Months Ended

June 30, 

June 30, 

    

2019

    

2018

    

2019

    

2018

(Unaudited)

Revenue

$

5,884

$

$

13,304

$

Net loss

 

(1,659)

 

 

(4,016)

 

Pro forma results (Unaudited)

The following table presents the unaudited pro forma results of the Company for the three and six months ended June 30, 2018 as if the acquisition of Elauwit had occurred on January 1, 2017 and therefore includes Elauwit’s revenue and net income (loss), as adjusted, for such period. These results are not intended to reflect the actual operations of the Company had the acquisition occurred on January 1, 2017. Income taxes were calculated based on the projected annual effective tax rate excluding discrete items as of June 30, 2018. Acquisition transaction costs have been excluded from the pro forma net income (loss).

Three Months Ended

Six Months Ended

    

June 30, 2018

    

June 30, 2018

Revenue

$

68,422

$

132,968

Net income (loss)

 

2,033

 

(1,358)

Net income (loss) attributable to common stockholders

1,628

(2,212)

Net income (loss) per share attributable to common stockholders

Basic

$

0.04

$

(0.05)

Diluted

$

0.04

$

(0.05)

4. Cash and cash equivalents and marketable securities

Cash and cash equivalents and marketable securities consisted of the following:

                                                                                                                                                                                    

    

June 30, 

    

December 31, 

2019

2018

Cash and cash equivalents:

Cash

$

4,398

$

11,689

Money market accounts

 

22,983

 

137,723

Total cash and cash equivalents

$

27,381

$

149,412

Short-term marketable securities-available-for-sale:

Marketable securities

$

42,799

$

Total short-term marketable securities

$

42,799

$

All contractual maturities of marketable securities were less than one year at June 30, 2019. Marketable securities consist primarily of debt securities which include commercial paper and debt instruments including notes issued by foreign or domestic industrial and financial corporations and governments which pay in U.S. dollars and carry a rating of A or better. For the three months and six months ended June 30, 2019, interest income was $540 and $1,254, respectively. For the three and six months ended June 30, 2018, interest income was $11 and $19, respectively. Interest income is included in interest and other expense, net in the accompanying condensed consolidated statements of operations.

19

5. Contract assets and contract liabilities

The opening and closing balances of our contract asset, net and contract liability, net balances from contracts with customers for the six months ended June 30, 2019 are as follows:

Contract

Contract

    

Assets, Net

    

Liabilities, Net

Balance at December 31, 2018

$

468

$

217,733

Balance at June 30, 2019

756

237,109

Change

$

288

$

19,376

The current and non-current portions of our contract assets, net are included within prepaid expenses and other current assets and other assets, respectively, and current and non-current portions of our contract liabilities, net are included within deferred revenue and deferred revenue, net of current portion, respectively, in our condensed consolidated balance sheets. Contract assets, net is generated from our multifamily and wholesale Wi-Fi contracts and the change in the contract assets, net balance includes activity related to amounts invoiced offset by revenue recognized from performance obligations satisfied in the current reporting period.

Contract liabilities are recorded when fees are collected, or we have an unconditional right to consideration (a receivable) in advance of delivery of goods or services. The change in contract liabilities, net balance is related to customer activity associated with each of our product offerings including the receipt of cash payments and the satisfaction of our performance obligations. Revenues for the three and six months ended June 30, 2019 include the following:

Three Months Ended

Six Months Ended

    

June 30, 2019

    

June 30, 2019

Amounts included in the beginning of period contract liability balance

$

22,629

$

51,500

Amounts associated with performance obligations satisfied in previous periods

 

7

301

As of June 30, 2019, the aggregate amount of the transaction price allocated to remaining service performance obligations for our DAS contracts was $221,374. We expect to recognize this revenue as service is provided over the remaining contract term. As of June 30, 2019, our DAS contracts have a remaining duration of less than one year to approximately fifteen years.

Certain of our wholesale Wi-Fi contracts include variable consideration based on usage. This variable consideration has been excluded from the disclosure of remaining performance obligations. As of June 30, 2019, the aggregate amount of the transaction price allocated to remaining service performance obligations for certain of our wholesale Wi-Fi contracts with guaranteed minimum consideration was $10,598. We expect to recognize this revenue as service is provided over the remaining contract term. As of June 30, 2019, our wholesale Wi-Fi contracts have a remaining duration of less than one year to approximately fifteen years.

Information about remaining performance obligations that are part of a contract that has an original expected duration of one year or less have been excluded from the above, which primarily consists of network installations for our multifamily customers and monthly service contracts.

20

6. Property and equipment

The following is a summary of property and equipment, at cost less accumulated depreciation and amortization:

    

June 30, 

    

December 31, 

2019

2018

Leasehold improvements

$

520,923

$

474,808

Construction in progress

 

60,117

 

40,369

Software

 

56,360

 

51,534

Computer equipment

 

15,381

 

14,215

Furniture, fixtures and office equipment

 

2,148

 

2,141

Total property and equipment

 

654,929

 

583,067

Less: accumulated depreciation and amortization

 

(304,757)

 

(268,888)

Total property and equipment, net

$

350,172

$

314,179

Depreciation and amortization expense, which includes depreciation and amortization for property and equipment under finance leases, is allocated as follows in the accompanying condensed consolidated statements of operations:

                                                                                                                                                                                  

Three Months Ended

Six Months Ended

June 30, 

June 30, 

    

2019

    

2018

    

2019

    

2018

Network access

$

9,482

$

10,134

$

21,064

$

23,721

Network operations

 

4,322

 

4,314

8,708

8,570

Development and technology

 

2,808

 

2,568

5,587

5,076

General and administrative

 

262

 

246

524

501

Total depreciation and amortization of property and equipment

$

16,874

$

17,262

$

35,883

$

37,868

7. Accrued expenses and other liabilities

Accrued expenses and other liabilities consisted of the following:

                                                                                                                                                                                     

    

June 30, 

    

December 31, 

2019

2018

Accrued construction in progress

$

18,672

20,930

Accrued customer liabilities

18,135

$

15,219

Revenue share

7,286

5,514

Salaries and wages

 

3,755

 

4,425

Accrued taxes

 

2,901

 

2,745

Holdback consideration

2,000

2,000

Accrued partner network

1,236

1,228

Accrued professional fees

949

1,434

Acquisition purchase consideration

1,952

Other

 

6,510

 

7,206

Total accrued expenses and other liabilities

$

61,444

$

62,653

8. Convertible Notes

In October 2018, the Company sold, through the initial purchasers, convertible senior notes (“Convertible Notes”) to qualified institutional buyers pursuant to Rule 144A of the Securities Act of 1933, as amended, for gross proceeds of $201,250. The Convertible Notes are senior, unsecured obligations with interest payable semi-annually in cash at a rate of 1.00% per annum on April 1st and October 1st of each year, beginning on April 1, 2019. The Convertible Notes will mature on October 1, 2023 unless they are redeemed, repurchased or converted prior to such date. Prior to

21

April 1, 2023, the Convertible Notes are convertible at the option of holders only during certain periods and upon satisfaction of certain conditions. Thereafter, the Convertible Notes will be convertible at any time until the close of business on the second scheduled trading day immediately preceding the maturity date. Upon conversion, the Convertible Notes may be settled in shares of the Company’s common stock, cash or a combination of cash and shares of the Company’s common stock, at the Company’s election.

The Convertible Notes have an initial conversion rate of 23.6323 shares of common stock per $1,000 principal amount of the Convertible Notes, which will be subject to customary anti-dilution adjustments in certain circumstances. This represents an initial effective conversion price of approximately $42.31 per share, which represents a premium of approximately 30% to the $32.55 per share closing price of the Company’s common stock on October 2, 2018, the date the Company priced the offering.

The Company may redeem all or any portion of the Convertible Notes, at its option, on or after October 5, 2021, at a redemption price equal to 100% of the principal amount of the Convertible Notes to be redeemed, plus accrued and unpaid interest to, but excluding, the redemption date, if the last reported sale price of the Company’s stock has been at least 130% of the conversion price then in effect for at least 20 trading days (whether or not consecutive) during any 30 consecutive trading day period (including the last trading day of such period) ending on, and including, the trading day immediately preceding the date on which the Company provides written notice of redemption.

Holders of Convertible Notes may require the Company to repurchase their Convertible Notes upon the occurrence of certain events that constitute a fundamental change under the indenture governing the Convertible Notes at a fundamental change repurchase price equal to 100% of the principal amount thereof, plus accrued and unpaid interest to, but excluding, the date of repurchase. In connection with certain corporate events or if the Company issues a notice of redemption prior to the maturity date, it will, under certain circumstances, increase the conversion rate for holders who elect to convert their Convertible Notes in connection with such corporate event or notice of redemption.

In connection with the pricing of the Convertible Notes, the Company entered into privately negotiated capped call transactions with a financial institution. The capped call transactions initially cover, subject to customary anti-dilution adjustments, the number of shares of the Company’s common stock that initially underlie the Convertible Notes. The cap price of the capped call transactions is initially $65.10 per share of the Company’s common stock, representing a premium of 100% above the closing price of $32.55 per share of the Company’s common stock on October 2, 2018, and is subject to certain adjustments under the terms of the capped call transactions. The capped call transactions are expected generally to reduce potential dilution to the Company’s common stock upon conversion of the Convertible Notes and/or offset the potential cash payments that the Company could be required to make in excess of the principal amount of any converted Convertible Notes upon conversion thereof, with such reduction and/or offset subject to a cap based on the cap price.

The following table summarizes the Convertible Notes as of June 30, 2019:

                                                                                                                                                                   

    

June 30, 

2019

Par value of the Convertible Notes

$

201,250

Unamortized debt discounts

 

(41,010)

Unamortized debt issuance costs

 

(4,104)

Net carrying value of Convertible Notes

$

156,136

The fair value of our Convertible Notes was $173,610 as of June 30, 2019. The estimated fair value of Convertible Notes is based on market rates and the closing trading price of the Convertible Notes as of June 25, 2019 and is classified as Level 2 in the fair value hierarchy. As of June 30, 2019, the if-converted value of the Convertible Notes did not exceed the principal amount.

Debt issuance costs are amortized on an effective interest basis over the term of the Convertible Notes. Debt issuance cost amortization expense, net of amounts capitalized, is included in interest and other expense, net in the accompanying condensed consolidated statements of operations for the three and six months ended June 30, 2019. The

22

following table sets forth interest expense related to the Convertible Notes for the three and six months ended June 30, 2019:

                                                                                                                                                                  

Three Months

    

Ended

 

Six Months Ended

June 30, 2019

 

June 30, 2019

Contractual interest expense

$

503

$

1,006

Amortization of debt issuance costs

 

211

419

Amortization of debt discount

 

2,042

4,048

Total

$

2,756

$

5,473

Effective interest rate of the liability component

 

7.1

%

7.1

%

During the three and six months ended June 30, 2019, we capitalized $743 and $1,208, respectively, of amortization and interest expense related to the Convertible Notes.

Amortization expense for our debt discount and debt issuance costs through 2023 are as follows:

                                                                                                                                                                 

    

Debt

    

Debt Issuance

Discounts

Costs

July 1, 2019―December 31, 2019

$

4,197

$

431

January 1, 2020―December 31, 2020

 

8,864

 

901

January 1, 2021―December 31, 2021

 

9,528

 

955

January 1, 2022―December 31, 2022

 

10,241

 

1,015

January 1, 2023―December 31, 2023

 

8,180

 

802

$

41,010

$

4,104

9. Credit Facility

In February 2019, we entered into a Credit Agreement (the “Credit Agreement”) and related agreements with Bank of America, N.A. acting as agent for lenders named therein, including Bank of America, N.A., Silicon Valley Bank, Bank of the West, Zions Bancorporation, N.A. dba California Bank & Trust, and Barclays Bank PLC (the “Lenders”), for a secured credit facility in the form of a revolving line of credit of up to $150,000 (the “Revolving Line of Credit”) and a term loan of $3,500 (the “Term Loan” and together with the Revolving Line of Credit, the “Credit Facility”). We may use borrowings under the Credit Facility for general working capital and corporate purposes. In general, amounts borrowed under the Credit Facility are secured by a lien against all assets, with certain exclusions.

As of June 30, 2019, we had no amounts outstanding under the Revolving Line of Credit and $3,111 outstanding under the Term Loan. Amounts borrowed under the Revolving Line of Credit and Term Loan will bear variable interest at the greater of LIBOR plus 1.75% - 2.75% or Lender’s Prime Rate plus 0.75% - 1.75% per year and we will pay a fee of 0.25% - 0.5% per year on any unused portion of the Revolving Line of Credit. The Term Loan requires quarterly payments of interest and principal until it is repaid in full on the maturity date but may be prepaid in whole or part at any time. Our Credit Facility will mature on April 3, 2023. Repayment of amounts borrowed under the Credit Facility may be accelerated in the event that we are in violation of the representations, warranties and covenants made in the Credit Agreement, including certain financial covenants set forth therein, and under other specified default events including, but not limited to, non-payment or inability to pay debt, breach of cross default provisions, insolvency provisions, and change of control.

The Company is subject to customary financial and non-financial covenants under the Credit Facility, including a minimum quarterly consolidated senior secured leverage ratio, a minimum quarterly consolidated total leverage ratio, a maximum quarterly consolidated fixed charge coverage ratio, and cash on hand minimums.

23

Principal payments due under our Term Loan through 2023 are as follows:

                                                                                                                                                                

    

Principal Payments

July 1, 2019―December 31, 2019

$

389

January 1, 2020―December 31, 2020

 

778

January 1, 2021―December 31, 2021

 

778

January 1, 2022―December 31, 2022

 

778

January 1, 2023―December 31, 2023

 

388

$

3,111

Debt issuance costs are amortized on a straight-line basis over the term of the Credit Facility. Amortization expense related to debt issuance costs, net of amounts capitalized, are included in interest and other expense in the accompanying condensed consolidated statements of operations for the three and six months ended June 30, 2019. Amortization and interest expense capitalized during the three and six months ended June 30, 2019 amounted to $36 each. Amortization and interest expense expensed during the three and six months ended June 30, 2019 amounted to $114 and $170, respectively. The interest rate for the Credit Facility for the six months ended June 30, 2019 ranged from 4.2% to 4.4%.

Amortization expense for our debt issuance costs through 2023 are as follows:

    

Amortization Expense

July 1, 2019―December 31, 2019

$

229

January 1, 2020―December 31, 2020

 

457

January 1, 2021―December 31, 2021

 

457

January 1, 2022―December 31, 2022

 

457

January 1, 2023―December 31, 2023

 

120

$

1,720

10. Leases

We have operating and finance leases for corporate offices, datacenters, data communication equipment and database software. Our operating leases have remaining lease terms of less than one year to nine years and our finance leases have remaining lease terms of one month to two years. Some of our operating leases may include one or more options to renew and can extend the lease term from 1 year to 10 years. The exercise of operating lease renewal options is at our sole discretion. Certain leases also include options to purchase the leased property. The depreciable life of assets and leasehold improvements are limited by the expected lease term, unless there is a transfer of title or purchase option reasonably certain of exercise. Some of our operating lease agreements include options to terminate the leases upon written notice and may include early termination penalties. Our lease agreements do not contain any material residual value guarantees or material restrictive covenants. As of June 30, 2019, assets recorded under finance leases were $12,280 and accumulated depreciation and amortization associated with finance leases was $4,326.

The components of lease expense were as follows:

    

Three Months

    

Six Months

Ended 

Ended

June 30, 2019

June 30, 2019

Operating lease expense

$

891

$

1,776

Finance lease expense:

 

  

 

  

Depreciation and amortization of assets included in property and equipment, net

$

517

$

1,041

Interest on lease liabilities

 

 

56

Total finance lease expense

$

517

$

1,097

24

Interest on lease liabilities capitalized during the three and six months ended June 30, 2019 amounted to $47 each.

Supplemental cash flow information related to leases was as follows:

    

Six Months

Ended June 30,

2019

Cash paid for amounts included in the measurement of lease liabilities:

 

  

Operating cash flows from operating leases

$

(1,987)

Operating cash flows from finance leases

 

(103)

Financing cash flows from finance leases

 

(2,275)

Right-of-use assets obtained in exchange for lease obligations:

 

Operating leases

 

17,112

Operating lease ROU assets obtained in exchange for lease obligations include the effects of the adoption of ASC 842 effective January 1, 2019.

Other information related to leases was as follows:

    

June 30, 2019

 

Weighted average remaining lease term:

 

  

Operating leases

 

6.6

years

Financing leases

 

1.5

years

Weighted average discount rate:

 

Operating leases

 

5.3

%

Finance leases

 

3.2

%

Future minimum lease payments under non-cancellable leases as of June 30, 2019 as presented in accordance with ASC 842 were as follows:

    

Operating

    

Finance

Leases

Leases

July 1, 2019 – December 31, 2019

$

1,755

$

1,995

January 1, 2020―December 31, 2020

 

3,746

 

2,784

January 1, 2021―December 31, 2021

 

3,565

 

574

January 1, 2022―December 31, 2022

 

3,541

 

January 1, 2023―December 31, 2023

 

3,626

 

January 1, 2024―December 31, 2024

 

3,639

 

Thereafter

 

5,235

 

Total future minimum lease payments

 

25,107

 

5,353

Less: Imputed interest

 

(3,978)

 

(134)

Total

 

21,129

 

5,219

Current portion of operating and finance leases

 

2,708

 

3,429

Long-term portion of operating and finance leases

$

18,421

$

1,790

25

Future minimum lease payments under non-cancellable leases as of December 31, 2018 as presented in accordance with ASC 840, Leases, were as follows:

    

Operating

    

Capital

Leases

Leases

January 1, 2019 – December 31, 2019

$

3,573

$

4,373

January 1, 2020―December 31, 2020

 

3,456

 

2,783

January 1, 2021―December 31, 2021

 

3,385

 

574

January 1, 2022―December 31, 2022

 

3,414

 

January 1, 2023―December 31, 2023

 

3,495

 

Thereafter

 

8,835

 

Minimum lease payments

$

26,158

 

7,730

Less: Amounts representing interest ranging from 1.3% to 7.7%

 

(236)

Minimum lease payments

 

7,494

Current portion of capital leases

 

4,201

Long-term portion of capital leases

$

3,293

11. Notes payable

We enter into financed maintenance arrangements for some of our leased data communication equipment. Future minimum lease payments under notes payable as of June 30, 2019 were as follows:

                                                                                                                                                                 

    

Notes Payable

July 1, 2019 – December 31, 2019

$

1,124

January 1, 2020―December 31, 2020

 

1,541

January 1, 2021―December 31, 2021

 

95

Total future minimum payments

 

2,760

Less: Imputed interest

 

(42)

Total

 

2,718

Current portion of note payable

 

2,035

Long-term portion of notes payable

$

683

12. Fair value measurement

The following table sets forth our financial assets and liabilities that are measured at fair value on a recurring basis:

                                                                                                                                                                                   

At June 30, 2019

    

Level 1

    

Level 2

    

Level 3

    

Total

Assets:

Money market accounts

$

22,983

$

$

$

22,983

Marketable securities

 

6,987

 

35,812

 

 

42,799

Total assets

$

29,970

$

35,812

$

$

65,782

Liabilities:

Contingent consideration

$

$

$

961

$

961

Total liabilities

$

$

$

961

$

961

26

At December 31, 2018

    

Level 1

    

Level 2

    

Level 3

    

Total

Assets:

Money market accounts

$

137,723

$

$

$

137,723

Total assets

$

137,723

$

$

$

137,723

Liabilities:

Contingent consideration

$

$

$

961

$

961

Total liabilities

$

$

$

961

$

961

Our marketable securities utilize Level 1 and Level 2 inputs and consist primarily of corporate securities, which primarily include commercial paper and debt instruments including notes issued by foreign or domestic industrial and financial corporations and governments which pay in U.S. dollars and carry a rating of A or better. We have evaluated the various types of securities in our investment portfolio to determine an appropriate fair value hierarchy level based upon trading activity and the observability of market inputs. Due to variations in trading volumes and the lack of quoted market prices in active markets, our fixed maturities are classified as Level 2 securities. The fair value of our fixed maturity marketable securities is derived through the use of a third-party pricing source using recent reported trades for identical or similar securities, making adjustments through the reporting date based upon available market observable data.

The Company’s contingent consideration obligation was initially recorded at fair value and the Company will revalue this obligation each reporting period until the related contingencies are resolved. The fair value measurement is estimated using probability-weighted discounted cash flow approaches that are based on significant unobservable inputs related to achievement of estimated annual sales and are reviewed quarterly. Significant changes to estimated annual sales and discount rates would result in corresponding changes in the fair value of this obligation. There were no significant changes to the fair value of our contingent consideration liabilities during the six months ended June 30, 2019. The following table presents a reconciliation of the beginning and ending amounts related to the fair value of contingent consideration categorized as Level 3:

                                                                                                                                                                

Balance , December 31, 2018

    

$

961

Payment of contingent consideration

 

Change in fair value

 

Balance , June 30, 2019

$

961

13. Income taxes

Income tax benefit of $81 and income tax expense of $(16) reflect effective tax rates of 54.7% and (0.6)% for the three months ended June 30, 2019 and 2018, respectively. Income tax expense of $(111) and $(144) reflect effective tax rates of (2.3)% and (121.0)% for the six months ended June 30, 2019 and 2018, respectively. Our effective tax rate differs from the statutory rate primarily due to our valuation allowance for the three and six months ended June 30, 2019 and 2018 as well as foreign tax expense for the three and six months ended June 30, 2018.

We operate within federal, state and international taxing jurisdictions and are subject to audit in these jurisdictions. These audits can involve complex issues which may require an extended period to resolve. We are subject to taxation in the United States and in various states. Our tax years 2016 and forward are subject to examination by the IRS and our tax years 2014 and forward are subject to examination by material state jurisdictions. However, due to prior year loss carryovers, the IRS and state tax authorities may examine any tax years for which the carryovers are used to offset future taxable income.

14. Commitments and contingencies

Letters of credit

We have entered into Letter of Credit Authorization agreements (collectively, “Letters of Credit”), which are issued under our Credit Agreement. The Letters of Credit are irrevocable and serve as performance guarantees that will

27

allow our customers to draw upon the available funds if we are in default. As of June 30, 2019, we have Letters of Credit totaling $12,929 that are scheduled to expire or renew over the next year. There have been no drafts drawn under these Letters of Credit as of June 30, 2019.

Legal proceedings

From time to time, we may be subject to claims, suits, investigations and proceedings arising out of the normal course of business. We are not currently a party to any litigation that we believe could have a material adverse effect on our business, financial position, results of operations or cash flows. Legal costs are expensed as incurred.

Other matters

We have received a claim from one of our venue partners with respect to contractual terms on our revenue share payments. The claim asserts that we have underpaid revenue share payments and related interest by approximately $4,600. We are currently in settlement discussions with our venue partner. As of June 30, 2019, we have accrued for the probable and estimable losses that have been incurred, which have been recorded as general and administrative expenses in the condensed consolidated statements of operations. We are not currently a party to any other claims that we believe could have a material adverse effect on our business, financial position, results of operations or cash flows.

15. Stock incentive plans

In March 2011, our board of directors approved the 2011 Equity Incentive Plan (“2011 Plan”). The 2011 Plan provides for the grant of incentive and non-statutory stock options, stock appreciation rights, restricted shares of our common stock, stock units, and performance cash awards. As of June 30, 2019, options to purchase approximately 279,000 shares of common stock and RSUs covering approximately 855,000 shares of common stock were outstanding under the 2011 Plan.

No further awards will be made under our Amended and Restated 2001 Stock Incentive Plan (“2001 Plan”), and it will be terminated. Options outstanding under the 2001 Plan will continue to be governed by their existing terms.

Stock-based compensation expense is allocated as follows on the accompanying condensed consolidated statements of operations:

Three Months Ended

Six Months Ended

June 30, 

June 30, 

    

2019

    

2018

    

2019

    

2018

Network operations

$

348

$

516

$

854

$

1,053

Development and technology

 

334

 

314

 

637

 

592

Selling and marketing

 

548

 

393

 

1,077

 

866

General and administrative

 

806

 

1,723

 

1,812

 

3,561

Total stock-based compensation

$

2,036

$

2,946

$

4,380

$

6,072

During the three and six months ended June 30, 2019, we capitalized $235 and $465, respectively, of stock-based compensation expense. During the three and six months ended June 30, 2018, we capitalized $206 and $392, respectively, of stock-based compensation expense.

Stock option awards

We grant stock option awards to both employees and non-employee directors. The grant date for these awards is the same as the measurement date. The stock option awards generally vest over a four-year service period with 25% vesting when the individual completes 12 months of continuous service and the remaining 75% vesting monthly thereafter. These awards are valued as of the measurement date and the stock-based compensation expense, net of forfeitures, is recognized on a straight-line basis over the requisite service period.

28

A summary of the stock option activity is as follows:

    

    

    

Weighted-

    

Average

Weighted

Remaining

Number of

Average

Contract

Aggregate

Options

Exercise

Life

Intrinsic

    

 (000’s)

    

Price

    

 (years)

    

Value

Outstanding at December 31, 2018

 

304

$

7.49

 

3.8

$

3,970

Exercised

 

(15)

$

5.47

Canceled/forfeited

 

$

Outstanding and exercisable at June 30, 2019

 

289

$

7.59

 

3.3

$

2,999

Restricted stock unit awards

We grant service-based RSUs to executive and non-executive personnel and non-employee directors. The service-based RSUs granted to executive and non-executive personnel generally vest over a three-year period subject to continuous service on each vesting date. The service-based RSUs for our non-employee directors generally vest over a one-year period for existing members and 33.3% per year over a three-year period for new members subject to continuous service on each vesting date.

We grant performance-based RSUs to executive personnel. These awards vest subject to certain performance objectives based on the Company’s revenue growth, Adjusted EBITDA growth, and/or relative total stockholder return achieved during the specified performance period and certain long-term service conditions. The maximum number of RSUs that may vest is determined based on actual Company achievement and performance-based RSUs generally vest over a three-year period subject to continuous service on each vesting date and achievement of the performance conditions. We recognize stock-based compensation expense for performance-based RSUs when we believe that it is probable that the performance objectives will be met.

A summary of the RSU activity is as follows:

                                                                                                                                                                                

Weighted Average

Number of Shares

Grant-Date Fair

    

(000’s)

    

Value

Non-vested at December 31, 2018

 

3,119

$

8.60

Granted(1)

 

593

$

22.76

Vested

 

(2,806)

$

7.21

Canceled/forfeited

 

(51)

$

23.31

Non-vested at June 30, 2019

 

855

$

22.08

(1)The RSUs granted to all of our named executive officers in 2017 were subject to satisfaction of specified service-based and performance-based conditions. The performance objectives were subject to under- or over- achievement on a sliding scale, with a threshold of 50% of the target number of RSUs and a maximum of 150% of the target RSUs. In February 2019, our Compensation Committee determined actual achievement of the 2017 performance-based RSUs resulting in additional RSUs granted of approximately 29,000 at a grant-date fair value of $11.94 per share during the six months ended June 30, 2019.

During the six months ended June 30, 2019, approximately 2,806,000 shares of RSUs vested. The Company issued approximately 1,423,000 shares and the remaining shares were withheld to pay minimum statutory federal, state, and local employment payroll taxes on those vested awards.

29

16. Net income (loss) per share attributable to common stockholders

The following table sets forth the computation of basic and diluted net income (loss) per share attributable to common stockholders:

                                                                                                                                                                                  

Three Months Ended

Six Months Ended

June 30, 

June 30, 

    

2019

    

2018

    

2019

    

2018

(in thousands)

Numerator:

Net income (loss) attributable to common stockholders, basic and diluted

$

216

$

2,115

$

(4,937)

$

(1,114)

Denominator:

Weighted average common stock, basic

 

44,041

 

41,961

43,786

41,645

Effect of dilutive stock options

191

472

Effect of dilutive RSUs

146

2,786

Weighted average common stock, diluted

44,378

45,219

43,786

41,645

Net income (loss) per share attributable to common stockholders:

Basic

$

0.00

$

0.05

$

(0.11)

$

(0.03)

Diluted

$

0.00

0.05

$

(0.11)

(0.03)

For the six months ended June 30, 2019 and 2018, we excluded all assumed exercises of stock options and the assumed issuance of common stock under RSUs from the computation of diluted net loss per share as the effect would be anti-dilutive due to the net loss for the period. For the three months ended June 30, 2019 and 2018, we excluded the assumed issuance of approximately 435,000 shares and 27,000 shares, respectively, of common stock under RSUs from the computation of diluted net income per share as the inclusion would have been anti-dilutive. For the three and six months ended June 30, 2019, we also excluded the shares that would be issuable assuming conversion of the Convertible Notes and the shares for the capped call as their effect would be anti-dilutive. Diluted EPS for our Convertible Notes is calculated under the treasury method in accordance with ASC 260, Earnings Per Share.

On April 1, 2013, the Company approved a stock repurchase program to repurchase up to $10,000 of the Company’s common stock in the open market, exclusive of any commissions, markups or expenses. The stock repurchased will be retired and will resume the status of authorized but unissued shares of common stock. The Company did not repurchase any of our common stock during the three and six months ended June 30, 2019. As of June 30, 2019, the remaining approved amount for repurchases was approximately $5,180. In July 2019, the stock repurchase plan was terminated and was replaced with a new stock repurchase program to repurchase up to $20,000 of the Company’s common stock in the open market.

30

Item 2. Management’s Discussion and Analysis of Financial Condition and Results of Operations

The following discussion and analysis of our financial condition and results of operations should be read in conjunction with our unaudited condensed consolidated financial statements and notes thereto included in “Item 1. Financial Statements” of this Quarterly Report on Form 10-Q and the audited consolidated financial statements and notes thereto and the section titled “Item 7. Management’s Discussion and Analysis of Financial Condition and Results of Operations” in our Annual Report on Form 10-K for the year ended December 31, 2018, filed with the Securities Exchange Commission on March 1, 2019.

Forward-Looking Statements

This Quarterly Report on Form 10-Q and the documents incorporated herein by reference contain forward-looking statements within the meaning of the “safe harbor” provisions of the Private Securities Litigation Reform Act of 1995, as amended, based on our current expectations, estimates and projections about our operations, industry, financial condition, performance, results of operations, and liquidity. Statements containing words such as “may,” “believe,” “anticipate,” “expect,” “intend,” “plan,” “project,” “projections,” “business outlook,” “estimate,” or similar expressions constitute forward-looking statements. These forward-looking statements include, but are not limited to, statements about future financial performance; revenues; metrics; operating expenses; market trends, including those in the markets in which we compete; operating and marketing efficiencies; liquidity; cash flows and uses of cash; dividends; capital expenditures; depreciation and amortization; tax payments; foreign currency exchange rates; hedging arrangements; our ability to repay indebtedness, pay dividends and invest in initiatives; our products and services; pricing; competition; strategies; and new business initiatives, products, services, and features. Potential factors that could affect the matters about which the forward-looking statements are made include, among others, the factors disclosed in the section entitled “Risk Factors” in this Quarterly Report on Form 10-Q and additional factors that accompany the related forward-looking statements in this Quarterly Report on Form 10-Q and our other filings with the Securities and Exchange Commission, including our Annual Report on Form 10-K for the year ended December 31, 2018. Readers are cautioned not to place undue reliance on these forward-looking statements, which reflect management’s analysis only as the date hereof. Any such forward-looking statements are not guarantees of future performance or results and involve risks and uncertainties that may cause actual performance and results to differ materially from those predicted. Reported results should not be considered an indication of future performance. Except as required by law, we undertake no obligation to publicly release the results of any revision to these forward-looking statements that may be made to reflect events or circumstances after the date hereof or to reflect the occurrence of unanticipated events.

Overview

Boingo helps the world stay connected to the people and things they love.

We acquire long-term wireless rights at large venues like airports, transportation hubs, stadiums/arenas, military bases, multifamily properties, universities, convention centers, and office campuses; we build high-quality wireless networks such as distributed antenna systems (“DAS”), Wi-Fi, and small cells at those venues; and we monetize the wireless networks through a number of products and services.

Over the past 17 years, we’ve built a global footprint of wireless networks that we estimate reaches more than a billion consumers annually. We operate 69 DAS networks containing approximately 35,200 DAS nodes, and believe we are the largest operator of indoor DAS networks in the world. Our Wi-Fi network, which includes locations we manage and operate ourselves (our “managed and operated locations”) as well as networks managed and operated by third-parties with whom we contract for access (our “roaming” networks), includes over 1.3 million commercial Wi-Fi hotspots in more than 100 countries around the world.

We generate revenue from our wireless networks in a number of ways, including our DAS, small cells, multifamily and wholesale Wi-Fi offerings, which are targeted towards businesses, and our military, retail, and advertising offerings, which are targeted towards consumers.

31

We generate wholesale revenue from telecom operators that pay us build-out fees and recurring access fees so that their cellular customers may use our DAS or small cell networks at locations where we manage and operate the wireless network. For the three months ended June 30, 2019, DAS revenue accounted for approximately 40% of our revenue.

Military revenue, which is driven by military personnel who purchase Wi-Fi services on military bases, and multifamily revenue, which is driven by property owners who purchase network installation services and recurring monthly Wi-Fi services and support, accounted for approximately 36% of our total revenue for the three months ended June 30, 2019. As of June 30, 2019, our military subscriber base was approximately 142,000, a 2.1% decrease over the prior year comparative period. Retail revenue, which is driven by consumers who purchase a recurring monthly subscription plan or one-time Wi-Fi access, accounted for approximately 6% of our total revenue for the three months ended June 30, 2019. As of June 30, 2019, our retail subscriber base was approximately 92,000, a 39.9% decrease over the prior year comparative period.

Our wholesale customers such as telecom operators, cable companies, technology companies, and enterprise software/services companies, pay us usage-based Wi-Fi network access and software licensing fees to allow their customers’ access to our footprint worldwide. Wholesale Wi-Fi revenue also includes financial institutions and other enterprise customers who provide Boingo as a value-added service for their customers. For the three months ended June 30, 2019, wholesale Wi-Fi revenue accounted for approximately 16% of our revenue.

We also generate revenue from advertisers that seek to reach consumers via sponsored Wi-Fi access. For the three months ended June 30, 2019, advertising and other revenue accounted for approximately 2% of our revenue.

Our customer agreements for certain DAS networks include both a fixed and variable fee structure with the highest percentage of sales typically occurring in the fourth quarter of each year and the lowest percentage of sales occurring in the first quarter of each year. We expect this trend to continue. We do not expect significant seasonal impact for any of our other products.

In support of our overall business strategy, we are focused on the following objectives:

expand our footprint of managed and operated and aggregated networks;

leverage our neutral-host business model to grow DAS, small cell, and wholesale roaming partnerships;

expand our carrier offload relationships; and

increase our brand awareness.

Key Business Metrics

In addition to monitoring traditional financial measures, we also monitor our operating performance using key performance indicators. Our key performance indicators follow:

DAS nodes. This metric represents the number of active DAS nodes as of the end of the period. A DAS node is a single communications endpoint, typically an antenna, which transmits or receives radio frequency signals wirelessly. This measure is an indicator of the reach of our DAS network.

Subscribersmilitary and Subscribersretail. These metrics represent the number of paying customers who are on a month-to-month subscription plan at a given period end.

Connects. This metric shows how often individuals connect to our global Wi-Fi network in a given period. The connects include wholesale and retail customers in both customer pay locations and customer free locations where we

32

are a paid service provider or receive sponsorship or promotion fees. We count each connect as a single connect regardless of how many times that individual accesses the network at a given venue during their 24-hour period. This measure is an indicator of paid activity throughout our network.

Revenue

Our revenue consists of DAS revenue, military/multifamily revenue and retail revenue, wholesale Wi-Fi revenue, and advertising and other revenue.

DAS. We generate revenue from telecom operator partners that pay us network build-out fees, inclusive of network upgrades, and access fees for our DAS and small cell networks.

Military/multifamily and retail. We generate revenue from sales to military and retail individuals of month-to-month network access subscriptions that automatically renew and hourly, daily or other single-use access, primarily through charge card transactions. We generate multifamily revenue from property owners who pay us a recurring monthly fee for Wi-Fi services including building and maintaining the network that supports these services and providing support for residents and employees of the properties.

Wholesale—Wi-Fi. We generate revenue from wholesale Wi-Fi partners that license our software and pay usage-based monthly network access fees to allow their customers to access our global Wi-Fi network. Usage-based network access fees may be measured in minutes, connects, megabytes or gigabytes, and in most cases are subject to minimum volume commitments. Other wholesale Wi-Fi partners pay us monthly fees to provide a Wi-Fi infrastructure that we install, manage and operate at their venues for their customers under a service provider arrangement.

Advertising and other. We generate revenue from advertisers that seek to reach visitors to our landing pages at our managed and operated network locations with online advertising, promotional and sponsored programs and at locations where we solely provide authorized access to a partner’s Wi-Fi network through sponsored access and promotional programs. In addition, we receive revenue from partners in certain venues where we manage and operate the Wi-Fi network.

33

Results of Operations

The following tables set forth our results of operations for the specified periods:

Three Months Ended

Six Months Ended

June 30, 

June 30, 

    

2019

    

2018

    

2019

    

2018

(unaudited)

(in thousands)

Consolidated Statement of Operations Data:

Revenue

$

68,554

$

59,601

$

135,027

$

117,760

Costs and operating expenses:

Network access

 

29,802

 

24,088

 

61,213

 

50,653

Network operations

 

14,249

 

12,723

 

28,391

 

25,569

Development and technology

 

8,353

 

7,463

 

17,352

 

14,888

Selling and marketing

 

6,194

 

5,353

 

12,061

 

10,816

General and administrative

 

7,015

 

6,730

 

15,309

 

14,429

Amortization of intangible assets

 

1,131

 

668

 

2,262

 

1,395

Total costs and operating expenses

 

66,744

 

57,025

 

136,588

 

117,750

Income (loss) from operations

 

1,810

 

2,576

 

(1,561)

 

10

Interest and other expense, net

 

(1,662)

 

(50)

 

(3,338)

 

(129)

Income (loss) before income taxes

 

148

 

2,526

 

(4,899)

 

(119)

Income tax benefit (expense)

 

81

 

(16)

 

(111)

 

(144)

Net income (loss)

 

229

 

2,510

 

(5,010)

 

(263)

Net income (loss) attributable to non-controlling interests

 

13

 

395

 

(73)

 

851

Net income (loss) attributable to common stockholders

$

216

$

2,115

$

(4,937)

$

(1,114)

Depreciation and amortization expense included in costs and operating expenses:

Three Months Ended

Six Months Ended

June 30, 

June 30, 

    

2019

    

2018

    

2019

    

2018

(unaudited)

(in thousands)

Network access

$

9,482

$

10,134

$

21,064

$

23,721

Network operations

 

4,322

 

4,314

 

8,708

 

8,570

Development and technology

 

2,808

 

2,568

 

5,587

 

5,076

General and administrative

 

262

 

246

 

524

 

501

Total(1)

$

16,874

$

17,262

$

35,883

$

37,868

(1)The $0.4 million and $2.0 million decrease in depreciation and amortization of property and equipment for the three and six months ended June 30, 2019, as compared to the three and six months ended June 30, 2018, respectively, is primarily due to a decrease in depreciation expense related to certain DAS build-out projects that were depreciated over a longer estimated useful life resulting from the successful extension of certain venue agreements, which was partially offset by depreciation expense for new DAS build-out projects that were completed and launched in 2018 and 2019.

34

Stock-based compensation expense included in costs and operating expenses:

Three Months Ended

Six Months Ended

June 30, 

June 30, 

    

2019

    

2018

    

2019

    

2018

(unaudited)

(in thousands)

Network operations

$

348

$

516

$

854

$

1,053

Development and technology

 

334

 

314

 

637

 

592

Selling and marketing

 

548

 

393

 

1,077

 

866

General and administrative

 

806

 

1,723

 

1,812

 

3,561

Total(2)

$

2,036

$

2,946

$

4,380

$

6,072

(2)Stock-based compensation expense decreased by $0.9 million and $1.7 million for the three and six months ended June 30, 2019, as compared to the three and six months ended June 30, 2018, respectively. The decreases are primarily due to the decrease in stock-based compensation expense related to the multi-year 2016 RSUs granted to our previous Chief Executive Officer and our Chief Financial Officer, which became fully vested in February 2019. No similar multi-year RSUs have been granted to any of our executives after 2016. We capitalized $0.2 million and $0.5 million of stock-based compensation expense for each of the three and six months ended June 30, 2019, respectively. We capitalized $0.2 million and $0.4 million of stock-based compensation expense for each of the three and six months ended June 30, 2018, respectively.

The following table sets forth our results of operations for the specified periods as a percentage of our revenue for those periods:

Three Months Ended

 

Six Months Ended

 

June 30, 

 

June 30, 

 

    

2019

2018

2019

2018

 

(unaudited)

 

(as a percentage of revenue)

 

Consolidated Statement of Operations Data:

Revenue

 

100.0

%  

100.0

%  

100.0

%  

100.0

%

Costs and operating expenses:

Network access

 

43.5

 

40.4

45.3

 

43.0

Network operations

 

20.8

 

21.3

21.0

 

21.7

Development and technology

 

12.2

 

12.5

12.9

 

12.6

Selling and marketing

 

9.0

 

9.0

8.9

 

9.2

General and administrative

 

10.2

 

11.3

11.3

 

12.3

Amortization of intangible assets

 

1.6

 

1.1

1.7

 

1.2

Total costs and operating expenses

 

97.4

95.7

101.2

 

100.0

Income (loss) from operations

 

2.6

 

4.3

(1.2)

 

0.0

Interest and other expense, net

 

(2.4)

 

(0.1)

(2.5)

 

(0.1)

Income (loss) before income taxes

 

0.2

 

4.2

(3.6)

 

(0.1)

Income tax benefit (expense)

 

0.1

 

(0.0)

(0.1)

 

(0.1)

Net income (loss)

 

0.3

 

4.2

(3.7)

 

(0.2)

Net income (loss) attributable to non-controlling interests

 

0.0

 

0.7

(0.1)

 

0.7

Net income (loss) attributable to common stockholders

 

0.3

%  

3.5

%  

(3.7)

%  

(0.9)

%

35

Three Months ended June 30, 2019 and 2018

Revenue

Three Months Ended June 30, 

    

2019

2018

Change

% Change

(unaudited)

(in thousands, except percentages)

Revenue:

DAS

$

27,622

$

21,885

$

5,737

 

26.2

Military/multifamily

 

24,396

 

16,735

 

7,661

 

45.8

Wholesale—Wi-Fi

 

10,718

 

13,530

 

(2,812)

 

(20.8)

Retail

 

3,847

 

4,566

 

(719)

 

(15.7)

Advertising and other

 

1,971

 

2,885

 

(914)

 

(31.7)

Total revenue

$

68,554

$

59,601

$

8,953

 

15.0

Key business metrics:

DAS nodes

 

35.2

 

25.7

 

9.5

 

37.0

Subscribers—military

 

142

 

145

 

(3)

 

(2.1)

Subscribers—retail

 

92

 

153

 

(61)

 

(39.9)

Connects

 

85,841

 

69,301

 

16,540

 

23.9

DAS. DAS revenue increased $5.7 million, or 26.2%, for the three months ended June 30, 2019, as compared to the three months ended June 30, 2018, due to a $4.8 million increase in access fees from our telecom operators and a $0.9 million increase from build-out projects in our managed and operated locations. DAS access fees for the three months ended June 30, 2019 include $3.0 million of one-time access fees.

Military/multifamily. Military/multifamily revenue increased $7.7 million, or 45.8%, for the three months ended June 30, 2019, as compared to the three months ended June 30, 2018, primarily due to a $5.9 million increase in multifamily revenues resulting from our Elauwit Networks, LLC acquisition in August 2018, and a $1.9 million increase in military subscriber revenue, which was driven primarily by an 11.6% increase in the average monthly revenue per military subscriber in 2019 compared to 2018.

WholesaleWi-Fi. Wholesale Wi-Fi revenue decreased $2.8 million, or 20.8% for the three months ended June 30, 2019, as compared to the three months ended June 30, 2018, due to a $3.6 million decrease in partner usage based fees, which was partially offset by a $0.8 million increase in fees primarily earned from our venue partners who pay us to provide a Wi-Fi infrastructure that we install, manage and operate at their venues.

Retail. Retail revenue decreased $0.7 million, or 15.7%, for the three months ended June 30, 2019, as compared to the three months ended June 30, 2018, due to a $0.6 million decrease in retail subscriber revenue, which was driven primarily by the decrease in retail subscribers, and a $0.1 million decrease in retail single-use revenue.

Advertising and other. Advertising and other revenue decreased $0.9 million, or 31.7% for the three months ended June 30, 2019, as compared to the three months ended June 30, 2018, primarily due to a $1.0 million decrease in advertising sales at our managed and operated locations resulting from a decline in the number of premium ad units sold.

36

Costs and Operating Expenses

Three Months Ended June 30, 

    

2019

    

2018

    

Change

    

% Change

(unaudited)

(in thousands, except percentages)

Costs and operating expenses:

Network access

$

29,802

$

24,088

$

5,714

 

23.7

Network operations

 

14,249

 

12,723

 

1,526

 

12.0

Development and technology

 

8,353

 

7,463

 

890

 

11.9

Selling and marketing

 

6,194

 

5,353

 

841

 

15.7

General and administrative

 

7,015

 

6,730

 

285

 

4.2

Amortization of intangible assets

 

1,131

 

668

 

463

 

69.3

Total costs and operating expenses

$

66,744

$

57,025

$

9,719

 

17.0

Network access. Network access costs increased $5.7 million, or 23.7%, for the three months ended June 30, 2019, as compared to the three months ended June 30, 2018. The increase is primarily due to a $4.9 million increase in direct cost of sales and a $1.7 million increase in revenue share paid to venues in our managed and operated locations. The increases were partially offset by a $0.7 million decrease in depreciation expense. Network access costs include $4.6 million of expenses related to our multifamily operations, which we acquired in August 2018 in the Elauwit acquisition.

Network operations. Network operations expenses increased $1.5 million, or 12.0%, for the three months ended June 30, 2019, as compared to the three months ended June 30, 2018, due to a $0.6 million increase in personnel related expenses, a $0.2 million increase in network maintenance expenses, and a $0.7 million increase in other expenses. Network operations include $1.0 million of expenses related to our multifamily operations, which we acquired in August 2018.

Development and technology. Development and technology expenses increased $0.9 million, or 11.9%, for the three months ended June 30, 2019, as compared to the three months ended June 30, 2018, due to a $0.5 million increase in personnel related expenses, a $0.2 million increase in depreciation expense related to our increased software assets, and a $0.2 million in hardware and software maintenance expenses. Development and technology expenses include $0.1 million of expenses related to our multifamily operations, which we acquired in August 2018.

Selling and marketing. Selling and marketing expenses increased $0.8 million, or 15.7%, for the three months ended June 30, 2019, as compared to the three months ended June 30, 2018, primarily due to a $0.6 million increase in personnel related expenses. Selling and marketing expenses include $0.7 million of expenses related to our multifamily operations, which we acquired in August 2018.

General and administrative. General and administrative expenses remained relatively consistent for the three months ended June 30, 2019, as compared to the three months ended June 30, 2018. General and administrative expenses include $0.7 million of expenses related to our multifamily operations, which we acquired in August 2018.

Amortization of intangible assets. Amortization of intangible assets expense increased $0.5 million, or 69.3% for the three months ended June 30, 2019, as compared to the three months ended June 30, 2018, primarily due to the $0.6 million increase resulting from our Elauwit acquisition in August 2018.

Interest and Other Expense, Net

Interest and other expense increased $1.6 million, or 3,224.0%, for the three months ended June 30, 2019, as compared to the three months ended June 30, 2018, primarily due to interest expense incurred related to the Convertible Notes we issued in October 2018, which was partially offset by increased interest income related to our cash equivalents and marketable securities balances in 2019. During the three months ended June 30, 2019 and 2018, we capitalized $0.8 million and $0.2 million, respectively, of interest expense.

37

Income Tax Benefit (Expense)

There were no significant changes in income tax benefit (expense) for the three months ended June 30, 2019, as compared to the three months ended June 30, 2018. Our effective tax rate was 54.7% and (0.6)% for the three months ended June 30, 2019 and 2018, respectively.

Non-controlling Interests

Non-controlling interests decreased $0.4 million, or 96.7% for the three months ended June 30, 2019, as compared to the three months ended June 30, 2018.

Net Income Attributable to Common Stockholders

Our net income attributable to common stockholders for the three months ended June 30, 2019 decreased $1.9 million as compared to the three months ended June 30, 2018, primarily due to the $9.7 million increase in costs and operating expenses and the $1.6 million increase in interest and other expense, net. The increases were partially offset by the $9.0 million increase in revenues and the $0.4 million decrease in non-controlling interests. Our diluted net income per share decreased primarily as a result of the decrease in our net income.

Six Months ended June 30, 2019 and 2018

Revenue

Six Months Ended June 30, 

    

2019

    

2018

    

Change

    

% Change

(unaudited)

(in thousands, except percentages)

Revenue:

 

  

 

  

 

  

 

  

DAS

$

51,717

$

45,530

$

6,187

 

13.6

Military/multifamily

 

50,293

 

32,589

 

17,704

 

54.3

Wholesale—Wi-Fi

 

21,738

 

24,679

 

(2,941)

 

(11.9)

Retail

 

7,773

 

9,876

 

(2,103)

 

(21.3)

Advertising and other

 

3,506

 

5,086

 

(1,580)

 

(31.1)

Total revenue

$

135,027

$

117,760

$

17,267

 

14.7

Key business metrics:

 

  

 

  

 

  

 

  

DAS nodes

 

35.2

 

25.7

 

9.5

 

37.0

Subscribers—military

 

142

 

145

 

(3)

 

(2.1)

Subscribers—retail

 

92

 

153

 

(61)

 

(39.9)

Connects

 

164,466

 

135,202

 

29,264

 

21.6

DAS. DAS revenue increased $6.2 million, or 13.6%, for the six months ended June 30, 2019, as compared to the six months ended June 30, 2018, due to a $6.2 million increase in access fees from our telecom operators. DAS access fees for the six months ended June 30, 2019 include $3.0 million of one-time access fees.

Military/multifamily. Military/multifamily revenue increased $17.7 million, or 54.3%, for the six months ended June 30, 2019, as compared to the six months ended June 30, 2018, primarily due to a $13.3 million increase in multifamily revenues resulting from our multifamily operations, which we acquired in August 2018, and a $4.5 million increase in military subscriber revenue, which was driven primarily by an 11.7% increase in the average monthly revenue per military subscriber in 2019 compared to 2018.

WholesaleWi-Fi. Wholesale Wi-Fi revenue decreased $2.9 million, or 11.9% for the six months ended June 30, 2019, as compared to the six months ended June 30, 2018, due to a $4.1 million decrease in partner usage based fees, which was partially offset by a $1.2 million increase in fees primarily earned from our venue partners who pay us to provide a Wi-Fi infrastructure that we install, manage and operate at their venues.

38

Retail. Retail revenue decreased $2.1 million, or 21.3%, for the six months ended June 30, 2019, as compared to the six months ended June 30, 2018, due to a $1.7 million decrease in retail subscriber revenue, which was driven primarily by the decrease in retail subscribers, and a $0.4 million decrease in retail single-use revenue.

Advertising and other. Advertising and other revenue decreased $1.6 million, or 31.1% for the six months ended June 30, 2019, as compared to the six months ended June 30, 2018, primarily due to a $1.7 million decrease in advertising sales at our managed and operated locations resulting from a decline in the number of premium ad units sold.

Costs and Operating Expenses

Six Months Ended June 30, 

    

2019

2018

Change

% Change

(unaudited)

(in thousands, except percentages)

Costs and operating expenses:

 

  

 

  

 

  

 

  

Network access

$

61,213

$

50,653

$

10,560

 

20.8

Network operations

 

28,391

 

25,569

 

2,822

 

11.0

Development and technology

 

17,352

 

14,888

 

2,464

 

16.6

Selling and marketing

 

12,061

 

10,816

 

1,245

 

11.5

General and administrative

 

15,309

 

14,429

 

880

 

6.1

Amortization of intangible assets

 

2,262

 

1,395

 

867

 

62.2

Total costs and operating expenses

$

136,588

$

117,750

$

18,838

 

16.0

Network access. Network access costs increased $10.6 million, or 20.8%, for the six months ended June 30, 2019, as compared to the six months ended June 30, 2018. The increase is primarily due to an $11.0 million increase in direct cost of sales and a $1.9 million increase in revenue share paid to venues in our managed and operated locations, which were partially offset by $2.7 million decrease in depreciation expense related to our decreased fixed assets from our DAS build-out projects. Network access costs include $10.8 million of expenses related to our multifamily operations, which we acquired in August 2018.

Network operations. Network operations expenses increased $2.8 million, or 11.0%, for the six months ended June 30, 2019, as compared to the six months ended June 30, 2018, primarily due to a $1.7 million increase in personnel related expenses, a $0.5 million increase in network maintenance expenses and a $0.2 million increase in travel and entertainment expenses. Network operations include $2.0 million of expenses related to our multifamily operations, which we acquired in August 2018.

Development and technology. Development and technology expenses increased $2.5 million, or 16.6%, for the six months ended June 30, 2019, as compared to the six months ended June 30, 2018, due to a $0.8 million increase in personnel related expenses, a $0.5 million increase in depreciation expense related to our increased software assets, a $0.5 million increase in hardware and software maintenance expenses, a $0.2 million increase in cloud computing expenses, and a $0.5 million increase in other expenses. Development and technology expenses include $0.5 million of expenses related to our multifamily operations, which we acquired in August 2018.

Selling and marketing. Selling and marketing expenses increased $1.2 million, or 11.5%, for the six months ended June 30, 2019, as compared to the six months ended June 30, 2018, primarily due to a $1.1 million increase in personnel related expenses. Selling and marketing expenses include $1.2 million of expenses related to our multifamily operations, which we acquired in August 2018.

General and administrative. General and administrative expenses increased $0.9 million, or 6.1%, for the six months ended June 30, 2019, as compared to the six months ended June 30, 2018, primarily due to a $0.4 million increase in licenses and taxes. General and administrative expenses include $1.5 million of expenses related to our multifamily operations, which we acquired in August 2018.

39

Amortization of intangible assets. Amortization of intangible assets expense increased $0.9 million, or 62.2% for the six months ended June 30, 2019, as compared to the six months ended June 30, 2018, primarily due to the $1.2 million increase resulting from our Elauwit acquisition in August 2018.

Interest and Other Expense, Net

Interest and other expense increased $3.2 million, or 2,487.6%, for the six months ended June 30, 2019, as compared to the six months ended June 30, 2018, primarily due to interest expense incurred related to the Convertible Notes we issued in October 2018, which was partially offset by increased interest income related to our cash equivalents and marketable securities balances in 2019. During the six months ended June 30, 2019 and 2018, we capitalized $1.3 million and $0.3 million, respectively, of interest expense.

Income Tax Expense

There were no significant changes in income tax expense for the six months ended June 30, 2019, as compared to the six months ended June 30, 2018. Our effective tax rate decreased from (121.0)% for the six months ended June 30, 2018 to (2.3)% for the six months ended June 30, 2019. Or effective tax rate differs from the statutory rate primarily due to our valuation allowance for the six months ended June 30, 2019 and 2018 and foreign tax expense for the six months ended June 30, 2018.

Non-controlling Interests

Non-controlling interests decreased $0.9 million, or 108.6% for the six months ended June 30, 2019, as compared to the six months ended June 30, 2018.

Net Loss Attributable to Common Stockholders

Our net loss attributable to common stockholders for the six months ended June 30, 2019 increased $3.8 million as compared to the six months ended June 30, 2018, primarily due to the $18.8 million increase in costs and operating expenses and the $3.2 million increase in interest and other expenses, net, which were partially offset by the $17.3 million increase in revenues and the $0.9 million decrease in non-controlling interests. Our diluted net loss per share increased primarily as a result of the increase in our net loss.

Reconciliation of Non-GAAP Financial Measures

We define Adjusted EBITDA as net income (loss) attributable to common stockholders plus depreciation and amortization of property and equipment, stock-based compensation expense, amortization of intangible assets, income tax expense, interest and other expense, net, non-controlling interests, and excludes charges or gains that are non-recurring, infrequent, or unusual.

We believe that Adjusted EBITDA is useful to investors and other users of our financial statements in evaluating our operating performance because it provides them with an additional tool to compare business performance across companies and across periods. We believe that:

Adjusted EBITDA provides investors and other users of our financial information consistency and comparability with our past financial performance, facilitates period-to-period comparisons of operations and facilitates comparisons with other companies, many of which use similar non-generally accepted accounting principles in the United States (“GAAP”) financial measures to supplement their GAAP results; and

it is useful to exclude non-cash charges, such as depreciation and amortization of property and equipment, amortization of intangible assets and stock-based compensation, from Adjusted EBITDA because the amount of such expenses in any specific period may not directly correlate to the underlying performance of our business operations, and these expenses can vary significantly between

40

periods as a result of full amortization of previously acquired tangible and intangible assets or the timing of new stock-based awards.

We use Adjusted EBITDA in conjunction with traditional GAAP measures as part of our overall assessment of our performance, for planning purposes, including the preparation of our annual operating budget and quarterly forecasts, to evaluate the effectiveness of our business strategies and to communicate with our board of directors concerning our financial performance.

We do not place undue reliance on Adjusted EBITDA as our only measure of operating performance. Adjusted EBITDA should not be considered as a substitute for other measures of financial performance reported in accordance with GAAP. There are limitations to using non-GAAP financial measures, including that other companies may calculate these measures differently than we do.

We compensate for the inherent limitations associated with using Adjusted EBITDA through disclosure of these limitations, presentation of our financial statements in accordance with GAAP and reconciliation of Adjusted EBITDA to the most directly comparable GAAP measure, net income (loss) attributable to common stockholders.

The following provides a reconciliation of net income (loss) attributable to common stockholders to Adjusted EBITDA:

Three Months Ended

Six Months Ended

June 30, 

June 30, 

    

2019

2018

2019

2018

(unaudited)

(in thousands)

Net income (loss) attributable to common stockholders

$

216

$

2,115

$

(4,937)

$

(1,114)

Depreciation and amortization of property and equipment

 

16,874

 

17,262

 

35,883

 

37,868

Stock-based compensation expense

 

2,036

 

2,946

 

4,380

 

6,072

Amortization of intangible assets

 

1,131

 

668

 

2,262

 

1,395

Income tax (benefit) expense

 

(81)

 

16

 

111

 

144

Interest and other expense, net

 

1,662

 

50

 

3,338

 

129

Non-controlling interests

 

13

 

395

 

(73)

 

851

Adjusted EBITDA

$

21,851

$

23,452

$

40,964

$

45,345

Adjusted EBITDA was $21.9 million for the three months ended June 30, 2019, a decrease of 6.8% from $23.5 million recorded in the three months ended June 30, 2018. As a percent of revenue, Adjusted EBITDA was 31.9% for the three months ended June 30, 2019, down from 39.3% of revenue for the three months ended June 30, 2018. The Adjusted EBITDA decrease was primarily due to the $1.9 million decrease in our net income attributable to common stockholders, the $0.9 million decrease in stock-based compensation expense, and the $0.4 million decrease in non-controlling interests for the three months ended June 30, 2019 compared to the three months ended June 30, 2018. The changes were partially offset by the $1.6 million increase in interest and other expenses, net.

Adjusted EBITDA was $41.0 million for the six months ended June 30, 2019, a decrease of 9.7% from $45.3 million recorded in the six months ended June 30, 2018. As a percent of revenue, Adjusted EBITDA was 30.3% for the six months ended June 30, 2019, down from 38.5% of revenue for the six months ended June 30, 2018. The Adjusted EBITDA decrease was due primarily to the $3.8 million increase in our net loss attributable to common stockholders, the $1.7 million decrease in stock based compensation expense, the $1.1 million decrease in depreciation and amortization expense, and the $0.9 million decrease in non-controlling interests, which were partially offset by the $3.2 million increase in interest and other expenses, net, for the six months ended June 30, 2019 compared to the six months ended June 30, 2018.

41

Liquidity and Capital Resources

We have financed our operations primarily through cash provided by operating activities and borrowings under our Convertible Notes (defined below) and credit facilities. Our primary sources of liquidity as of June 30, 2019 consisted of $27.4 million of cash and cash equivalents, $42.8 million of marketable securities, $150.0 million available for borrowing under our Credit Facility, $12.9 million of which is reserved for our outstanding Letter of Credit Authorization agreements. As of June 30, 2019, we had $3.1 million outstanding under the Term Loan, and we had no amounts outstanding under the Revolving Line of Credit.

Our principal uses of liquidity have been to fund our operations, working capital requirements, capital expenditures and acquisitions. We expect that these requirements will be our principal needs for liquidity over the near term. Our capital expenditures in the six months ended June 30, 2019 were $73.9 million, of which $58.9 million will be reimbursed through revenue for DAS build-out projects from our telecom operators.

In February 2019, we entered into a Credit Agreement (the “Credit Agreement”) and related agreements with Bank of America, N.A. acting as agent for lenders named therein, including Bank of America, N.A., Silicon Valley Bank, Bank of the West, Zions Bancorporation, N.A. dba California Bank & Trust, and Barclays Bank PLC (the “Lenders”), for a secured credit facility in the form of a revolving line of credit up to $150.0 million (the “Revolving Line of Credit”) and a term loan of $3.5 million (the “Term Loan” and together with the Revolving Line of Credit, the “Credit Facility”). Our Credit Facility will mature on April 3, 2023. Amounts borrowed under the Revolving Line of Credit and Term Loan will bear variable interest at the greater of LIBOR plus 1.75% - 2.75% or Lender’s Prime Rate plus 0.75% - 1.75% per year and we will pay a fee of 0.25% - 0.5% per year on any unused portion of the Revolving Line of Credit.

Repayment of amounts borrowed under the Credit Facility may be accelerated in the event that we are in violation of the representation, warranties and covenants made in the Credit Agreement, including certain financial covenants set forth therein, and under other specific default events including, but not limited to, non-payment or inability to pay debt, breach of cross default provisions, insolvency provisions, and change in control. We are subject to customary covenants, including a minimum quarterly consolidated senior secured leverage ratio, a minimum quarterly consolidated total leverage ratio, a maximum quarterly consolidated fixed charge coverage ratio, and cash on hand minimums. The Credit Facility provides us with significant additional flexibility and liquidity to pursue our strategic objectives for capital expenditures and acquisitions that we may pursue from time to time.

In October 2018, we sold, through the initial purchasers, convertible senior notes (“Convertible Notes”) to qualified institutional buyers pursuant to Rule 144A of the Securities Act of 1933, as amended, for gross proceeds of $201.25 million. The Convertible Notes are senior, unsecured obligations with interest payable semi-annually in cash at a rate of 1.00% per annum on April 1st and October 1st of each year, beginning on April 1, 2019. The Convertible Notes will mature on October 1, 2023 unless they are redeemed, repurchased or converted prior to such date. Prior to April 1, 2023, the Convertible Notes are convertible at the option of holders only during certain periods and upon satisfaction of certain conditions. Thereafter, the Convertible Notes will be convertible at any time until the close of business on the second scheduled trading day immediately preceding the maturity date. Upon conversion, the Convertible Notes may be settled in shares of our common stock, cash or a combination of cash and shares of our common stock, at our election.

The Convertible Notes have an initial conversion rate of 23.6323 shares of common stock per $1,000 principal amount of the Convertible Notes, which will be subject to customary anti-dilution adjustments in certain circumstances. This represents an initial effective conversion price of approximately $42.31 per share, which represents a premium of approximately 30% to the $32.55 per share closing price of our common stock on October 2, 2018, the day we priced the offering.

We may redeem all or any portion of the Convertible Notes, at our option, on or after October 5, 2021, at a redemption price equal to 100% of the principal amount of the Convertible Notes to be redeemed, plus accrued and unpaid interest to, but excluding, the redemption date, if the last reported sale price of our stock has been at least 130% of the conversion price then in effect for at least 20 trading days (whether or not consecutive) during any 30 consecutive

42

trading day period (including the last trading day of such period) ending on, and including, the trading day immediately preceding the date on which we provide written notice of redemption.

Holders of Convertible Notes may require us to repurchase their Convertible Notes upon the occurrence of certain events that constitute a fundamental change under the indenture governing the Convertible Notes at a fundamental change repurchase price equal to 100% of the principal amount thereof, plus accrued and unpaid interest to, but excluding, the date of repurchase. In connection with certain corporate events or if we issue a notice of redemption prior to the maturity date, it will, under certain circumstances, increase the conversion rate for holders who elect to convert their Convertible Notes in connection with such corporate event or notice of redemption.

In connection with the pricing of the Convertible Notes, we entered into privately negotiated capped call transactions with a financial institution. The capped call transactions initially cover, subject to customary anti-dilution adjustments, the number of shares of our common stock that initially underlie the Convertible Notes. The cap price of the capped call transactions is initially $65.10 per share of our common stock, representing a premium of 100% above the closing price of $32.55 per share of our common stock on October 2, 2018, and is subject to certain adjustments under the terms of the capped call transactions. The capped call transactions are expected generally to reduce potential dilution to our common stock upon conversion of the Convertible Notes and/or offset the potential cash payments that we could be required to make in excess of the principal amount of any converted Convertible Notes upon conversion thereof, with such reduction and/or offset subject to a cap based on the cap price.

We believe that our existing cash and cash equivalents, marketable securities, cash flow from operations and availability under the Credit Facility will be sufficient to fund our operations and planned capital expenditures for at least the next 12 months from the date of issuance of our financial statements. There can be no assurance, however, that future industry-specific or other developments, general economic trends, or other matters will not adversely affect our operations or our ability to meet our future cash requirements. Our future capital requirements will depend on many factors, including our rate of revenue growth and corresponding timing of cash collections, the timing and size of our managed and operated location expansion efforts, the timing and extent of spending to support product development efforts, the timing of introductions of new solutions and enhancements to existing solutions and the continuing market acceptance of our solutions. We expect our capital expenditures for 2019 will range from $100.0 million to $120.0 million, including $75.0 million to $90.0 million of capital expenditures for DAS build-out projects which are reimbursed through revenue from our telecom operator customers. We anticipate the majority of our 2019 capital expenditures will be used to build out and upgrade Wi-Fi and DAS networks at our managed and operated venues.

We have contracts with the U.S. government. The U.S. government may modify, curtail or terminate its contracts with us, either at its convenience or for default based on performance. Any such modification, curtailment, or termination of one or more of our government contracts could have a material adverse effect on our earnings, cash flow and/or financial position. We may also enter into other acquisitions of complementary businesses, applications or technologies, which could require us to seek additional equity or debt financing. Additional funds may not be available on terms favorable to us, or at all.

We are subject to customary covenants, including a minimum quarterly consolidated leverage ratio, a maximum quarterly consolidated fixed charge coverage ratio, and monthly liquidity minimums. We were in compliance with all such financial covenants as of June 30, 2019 and through the date of this report. We are subject to certain non-financial covenants, and we were also in compliance with all such non-financial covenants as of June 30, 2019 and through the date of this report. The Credit Facility provides us with significant additional flexibility and liquidity for our strategic objectives involving capital expenditures and acquisitions that we may pursue from time to time.

43

The following table sets forth cash flow data for the six months ended June 30:

    

2019

    

2018

(unaudited)

(in thousands)

Net cash provided by operating activities

$

32,972

$

32,764

Net cash used in investing activities

 

(116,181)

 

(42,918)

Net cash used in financing activities

 

(38,831)

 

(3,048)

Net Cash Provided by Operating Activities

For the six months ended June 30, 2019, we generated $33.0 million of net cash from operating activities, an increase of $0.2 million from 2018. The increase is primarily due to a $4.4 million increase in the addback for amortization of deferred financing costs and debt discounts, a $2.5 million change in our operating assets and liabilities, which is primarily driven by a higher rate of cash collections and invoicing for our DAS build-out projects, and a $1.0 million increase in the addback for the amortization of operating lease right-of-use assets. The changes were partially offset by a $4.7 million increase in our net loss, a $1.7 million decrease in stock-based compensation expenses, a $1.1 million decrease in depreciation and amortization expenses, and a $0.4 million increase in gains and amortization of premiums/discounts on marketable securities in 2019.

Net Cash Used in Investing Activities

For the six months ended June 30, 2019, we used $116.2 million in investing activities, an increase of $73.3 million from 2018. The increase is due to a $42.3 million increase in net purchases of marketable securities resulting from our investment of some of the cash proceeds received from our issuance of the Convertible Notes, and a $30.9 million increase in purchases of property and equipment resulting from our continued build out and upgrade of Wi-Fi and DAS networks at our managed and operated venues.

Net Cash Used in Financing Activities

For the six months ended June 30, 2019, we used $38.8 million of cash in financing activities, an increase of $35.8 million from 2018. This increase is primarily due to a $26.1 million increase in payments for federal, state, and local employment payroll taxes related to our RSUs that vested during the period, an $8.4 million decrease in proceeds from exercise of stock options, a $2.0 million increase in cash paid for business acquisitions, a $1.8 million increase in cash paid for debt issuance costs, and a $0.7 million increase in principal payments for our finance leases and notes payable. The changes were partially offset by a $3.5 million increase in proceeds from our Credit Facility.

Contractual Obligations and Commitments

The following table sets forth our contractual obligations and commitments as of June 30, 2019:

Payments Due by Period

Less than

More than

    

Total

1 Year

2 - 3 Years

4 - 5 Years

5 Years

(in thousands)

Venue revenue share minimums(1)

$

43,497

$

10,437

$

14,623

$

10,901

$

7,536

Operating and finance leases(2)

 

26,348

 

6,137

 

7,303

 

6,193

 

6,715

Open purchase commitments(3)

 

27,493

 

26,868

 

492

 

133

 

Convertible Notes(4)

 

201,250

 

 

 

201,250

 

Credit Facility(5)

 

3,111

 

778

 

1,556

 

777

 

Notes payable(6)

 

2,718

 

2,035

 

683

 

 

Total

$

304,417

$

46,255

$

24,657

$

219,254

$

14,251

44

(1)Payments under exclusive long-term, non-cancellable contracts to provide wireless communications network access to venues such as airports.

(2)Non-cancellable operating leases for office and other spaces and finance leases for equipment, primarily for data communication equipment and database software.

(3)Open purchase commitments for the purchase of property and equipment, supplies and services. They are not recorded as liabilities on our condensed consolidated balance sheet as of June 30, 2019 as we have not received the related goods or services.

(4)Long-term debt associated with our Convertible Notes are based on contractual terms and intended timing of repayments of long-term debt.

(5)Debt associated with our Credit Agreement with Bank of America N.A. Payments are based on contractual terms and intended timing of repayments.

(6)Payments under notes payable related to purchases of prepaid maintenance service.

Off-Balance Sheet Arrangements

We do not have any off-balance sheet financing arrangements and we do not have any relationships with unconsolidated entities or financial partnerships, such as entities often referred to as structured finance or special purpose entities, which have been established for the purpose of facilitating off-balance sheet arrangements or other contractually narrow or limited purposes.

Critical Accounting Policies and Estimates

Leases

We determine if an arrangement is a lease at inception. Operating leases are included in operating lease right-of-use assets, current portion of operating and finance leases, and long-term portion of operating and finance leases in our condensed consolidated balance sheets. Finance leases are included in property and equipment, net, current portion of operating and finance leases, and long-term portion of operating and finance leases in our condensed consolidated balance sheets.

Operating and finance lease ROU assets and ROU liabilities are recognized based on the present value of the future minimum lease payments over the lease term at commencement date. As most of our leases do not provide an implicit rate, we use our incremental borrowing rate based on the information available at the commencement date in determining the present value of future payments. The ROU asset also includes any lease payments made and excludes lease incentives and initial direct costs incurred. Our lease terms may include options to extend or terminate the lease when it is reasonably certain that we will exercise that option. Lease expense for minimum lease payments is recognized on a straight-line basis over the lease term. We have lease agreements with lease and non-lease components, which are generally accounted for separately. We exclude short-term leases with a lease term of 12 months or less at commencement date from our condensed consolidated balance sheets.

There have been no other material changes to our critical accounting policies and estimates from the information provided for the year ended December 31, 2018 in “Management’s Discussion and Analysis of Financial Condition and Results of Operations,” included in our annual report on Form 10-K filed by us with the SEC on March 1, 2019.

45

Recently Issued Accounting Standards

Information regarding recent accounting pronouncements is contained in Note 2 “Summary of Significant Accounting Policies” to the accompanying condensed consolidated financial statements included in Part I, Item 1, of this Quarterly Report on Form 10-Q and under “Critical Accounting Policies and Estimates” in Part I, Item II, of this Quarterly Report on Form 10-Q, the information of which is incorporated herein by this reference.

Item 3. Quantitative and Qualitative Disclosure about Market Risk

Market risk represents the potential loss arising from adverse changes in the value of financial instruments. The risk of loss is assessed based on the likelihood of adverse changes in fair values, cash flows or future earnings. We are exposed to various market risks including: (i) investment portfolio risk, (ii) interest rate risk, and (iii) foreign currency exchange rate risk.

Investment portfolio risk. We have established guidelines relative to the diversification and maturities of investments to maintain safety and liquidity. These guidelines are reviewed periodically and may be modified depending on market conditions. Although investments may be subject to credit risk, our investment policy specifies credit quality standards for our investments and limits the amount of credit exposure from any single issue, issuer, or type of investment. At June 30, 2019, our market risk sensitive instruments consisted of marketable securities available-for-sale, which are comprised of highly rated short-term commercial paper, corporate debt instruments and US treasury and agencies obligations.

Our marketable available-for-sale securities are carried at fair value and are intended for use in meeting our ongoing liquidity needs. Unrealized gains and losses on available-for-sale securities, which are deemed temporary, are reported as a separate component of stockholders’ equity, net of tax. The cost of debt securities is adjusted for amortization of premiums and accretion of discounts to maturity. The amortization, along with realized gains and losses, would be included in interest and other expense, net.

Interest rate risk. Our Convertible Notes bear a coupon rate of 1.00% per annum. We do not have economic interest rate exposure on our Convertible Notes due to the fixed rate nature. However, the values of the Convertible Notes are exposed to interest rate risk. Generally, the fair value of our fixed interest rate Convertible Notes will increase as interest rates fall and decrease as interest rates rise. In addition, the fair values of the Convertible Notes are affected by our stock price. The fair value of the Convertible Notes will generally increase as our common stock price increases and will generally decrease as our common stock price declines in value. Additionally, we carry the Convertible Notes at face value less unamortized discount and issuance costs on our consolidated balance sheet, and we present the fair value for required disclosure purposes only.

Our Credit Facility bears interest at a variable rate equal to the greater of LIBOR plus 1.75% - 2.75% or the Lender’s Prime Rate plus 0.75% - 1.75% per year. Our use of variable rate debt exposes us to interest rate risk. A 100-basis point increase in the LIBOR or Lender’s Prime Rate as of June 30, 2019 would not have a material impact on net income (loss) and cash flow.

Foreign currency exchange rate risk. We are exposed to foreign currency exchange rate risk inherent in conducting business globally in numerous currencies, of which the most significant to our operations for the six months ended June 30, 2019 was the Brazilian Real. We are primarily exposed to foreign currency fluctuations related to the operations of our subsidiary in Brazil whose financial statements are not denominated in the U.S. dollar. Our foreign operations are not material to our operations as a whole. As such, we currently do not enter into currency forward exchange or option contracts to hedge foreign currency exposures.

Item 4. Controls and Procedures

Disclosure Controls and Procedures. We carried out an evaluation, under the supervision and with the participation of our management, including our Chief Executive Officer and Chief Financial Officer, of the effectiveness, as of June 30, 2019, of our disclosure controls and procedures (as defined in Rules 13a-15(e) and 15d-15(e) under the

46

Securities Exchange Act of 1934). Based upon that evaluation, our Chief Executive Officer and Chief Financial Officer concluded that our disclosure controls and procedures are effective.

Changes in Internal Control over Financial Reporting. During the three months ended June 30, 2019, there were no changes in our internal control over financial reporting that have materially affected, or are reasonably likely to materially affect, our internal control over financial reporting.

Because of the inherent limitations of internal control over financial reporting, including the possibility of collusion or improper management override of controls, material misstatements due to error or fraud may not be prevented or detected on a timely basis. Also, projections of any evaluation of the effectiveness of the internal control over financial reporting to future periods are subject to the risk that the controls may become inadequate because of changes in conditions, or that the degree of compliance with the policies or procedures may deteriorate.

PART II. OTHER INFORMATION

Item 1. Legal Proceedings

The information set forth in Note 14 “Commitments and Contingencies,” to the unaudited condensed consolidated financial statements included in Part I, Item 1, of this Quarterly Report on Form 10-Q, is incorporated herein by this reference.

Item 1A. Risk Factors

Certain Factors Affecting Boingo Wireless, Inc.

In addition to the other information set forth in this report, you should carefully consider the factors discussed in Part I, “Item 1A. Risk Factors” in our Annual Report on Form 10-K for the year ended December 31, 2018 filed with the SEC on March 1, 2019, which we incorporate by reference into this Quarterly Report on Form 10-Q, which could materially affect our business, results of operations, cash flows, or financial condition. The risks described in our Annual Report on Form 10-K are not the only risks facing our Company. Additional risks and uncertainties not currently known to us or that we currently deem to be immaterial also may materially adversely affect our business, financial condition, or future results. There have been no material changes in the risk factors contained in our Annual Report on Form 10-K.

Item 2. Unregistered Sales of Equity Securities and Use of Proceeds

On July 30, 2019, our Board of Directors authorized a new stock repurchase program under which we may repurchase up to $20 million of our outstanding shares of common stock through July 31, 2020. The program replaced and superseded our existing stock repurchase program. Under the program, we may repurchase shares in accordance with all applicable securities laws and regulations, including Rule 10b-18 of the Securities Exchange Act of 1934. The extent to which we may repurchase our shares, and the timing of such repurchases, will depend upon a variety of factors, including market conditions, regulatory requirements and other corporate considerations, as determined by our management. The repurchase program may be extended, suspended or discontinued at any time.

Items 3, 4 and 5 are not applicable and have been omitted.

47

Item 6. Exhibits

The following exhibits are filed as part of, or incorporated by reference into, this Quarterly Report on Form 10-Q:

Exhibit

    

Incorporated by Reference

Filed

No.

Description

    

Form

    

Date

    

Number

    

Herewith

3.1

Amended and Restated Certificate of Incorporation.

S-1

03/21/2011

3.2

3.2

Certificate of Amendment to the Certificate of Incorporation.

8-K

06/09/2017

3.1

3.3

Amended and Restated Bylaws.

8-K

06/09/2017

3.2

31.1

Certification of Michael Finley, Chief Executive Officer, pursuant to Rule 13a-14(a) and 15d-14(a), as adopted pursuant to Section 302 of the Sarbanes-Oxley Act of 2002.

X

31.2

Certification of Peter Hovenier, Chief Financial Officer, pursuant to Rule 13a-14(a) and 15d-14(a), as adopted pursuant to Section 302 of the Sarbanes-Oxley Act of 2002.

X

32.1

Certifications of Michael Finley, Chief Executive Officer, and Peter Hovenier, Chief Financial Officer, pursuant to 18 U.S.C. Section 1350, as adopted Pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.

X

101

The following financial information from the Quarterly Report on Form 10-Q of Boingo Wireless, Inc. for the quarter ended June 30, 2019, formatted in iXBRL (Inline eXtensible Business Reporting Language): (i) Condensed Consolidated Balance Sheets at June 30, 2019 and December 31, 2018 for Boingo Wireless, Inc.; (ii) Condensed Consolidated Statements of Operations for the three and six months ended June 30, 2019 and 2018 for Boingo Wireless, Inc.; (iii) Condensed Consolidated Statements of Comprehensive Income (Loss) for the three and six months ended June 30, 2019 and 2018 for Boingo Wireless, Inc.; (iv) Condensed Consolidated Statements of Cash Flows for the six months ended June 30, 2019 and 2018 for Boingo Wireless, Inc.; (v) Condensed Consolidated Statement of Stockholders’ Equity for Boingo Wireless, Inc.; and (vi) the Notes to Condensed Consolidated Financial Statements, tagged as blocks of text.

48

SIGNATURES

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.

BOINGO WIRELESS, INC.

Date: August 5, 2019

By:

/s/ MICHAEL FINLEY

Michael Finley

Chief Executive Officer and Member of the Board

(Principal Executive Officer)

BOINGO WIRELESS, INC.

Date: August 5, 2019

By:

/s/ PETER HOVENIER

Peter Hovenier

Chief Financial Officer

(Principal Financial and Accounting Officer)

49

EX-31.1 2 wifi-20190630ex31148e0f8.htm EXHIBIT 31.1 wifi_20190630_Ex31_1

Exhibit 31.1

 

CERTIFICATIONS

 

I, Michael Finley, certify that:

 

1.        I have reviewed this Quarterly Report on Form 10-Q of Boingo Wireless, Inc.;

 

2.        Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;

 

3.        Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;

 

4.        The registrant’s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:

 

(a)  Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;

 

(b)  Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;

 

(c)  Evaluated the effectiveness of the registrant’s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and

 

(d)  Disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and

 

5.        The registrant’s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of the registrant’s board of directors (or persons performing the equivalent functions):

 

(a)  All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant’s ability to record, process, summarize and report financial information; and

 

(b)  Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant’s internal control over financial reporting.

 

 

 

 

 

By:

/s/ Michael Finley

 

 

Michael Finley

 

 

Chief Executive Officer and Member of the Board

 

 

(Principal Executive Officer)

 

 

 

 

Date:

August 5, 2019

 

 

EX-31.2 3 wifi-20190630ex3123175d8.htm EXHIBIT 31.2 wifi_20190630_Ex31_2

Exhibit 31.2

 

CERTIFICATIONS

 

I, Peter Hovenier, certify that:

 

1.        I have reviewed this Quarterly Report on Form 10-Q of Boingo Wireless, Inc.;

 

2.        Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;

 

3.        Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;

 

4.        The registrant’s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:

 

(a)  Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;

 

(b)  Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;

 

(c)  Evaluated the effectiveness of the registrant’s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and

 

(d)  Disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and

 

5.        The registrant’s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of the registrant’s board of directors (or persons performing the equivalent functions):

 

(a)  All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant’s ability to record, process, summarize and report financial information; and

 

(b)  Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant’s internal control over financial reporting.

 

 

 

 

By:

/s/ Peter Hovenier

 

 

Peter Hovenier

 

 

Chief Financial Officer

 

 

(Principal Financial and Accounting Officer)

 

 

 

 

Date:

August 5, 2019

 

 

EX-32.1 4 wifi-20190630ex321db7d84.htm EXHIBIT 32.1 wifi_20190630_Ex32_1

Exhibit 32.1

 

CERTIFICATION OF CHIEF EXECUTIVE OFFICER

 

Pursuant to 18 U.S.C. § 1350, as created by Section 906 of the Sarbanes-Oxley Act of 2002, the undersigned officer of Boingo Wireless, Inc. (the “Company”) hereby certifies, to such officer’s knowledge, that:

 

1.        the accompanying Quarterly Report on Form 10-Q of the Company for the fiscal quarter ended June 30, 2019 (the “Report”) fully complies with the requirements of Section 13(a) or Section 15(d), as applicable, of the Securities Exchange Act of 1934, as amended; and

 

2.        the information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.

 

 

 

 

/s/ Michael Finley

 

Michael Finley

 

Chief Executive Officer and Member of the Board

 

(Principal Executive Officer)

 

Date: August 5, 2019

 

The foregoing certification is being furnished solely to accompany the Report pursuant to 18 U.S.C. § 1350, and is not being filed for purposes of Section 18 of the Securities Exchange Act of 1934, as amended, and is not to be incorporated by reference into any filing of the Company, whether made before or after the date hereof, regardless of any general incorporation language in such filing. A signed original of this written statement required by Section 906 has been provided to the Company and will be retained by the Company and furnished to the Securities and Exchange Commission or its staff upon request.

CERTIFICATION OF CHIEF FINANCIAL OFFICER

 

Pursuant to 18 U.S.C. § 1350, as created by Section 906 of the Sarbanes-Oxley Act of 2002, the undersigned officer of Boingo Wireless, Inc. (the “Company”) hereby certifies, to such officer’s knowledge, that:

 

1.        the accompanying Quarterly Report on Form 10-Q of the Company for the fiscal quarter ended June 30, 2019 (the “Report”) fully complies with the requirements of Section 13(a) or Section 15(d), as applicable, of the Securities Exchange Act of 1934, as amended; and

 

2.        the information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.

 

 

 

 

/s/ Peter Hovenier

 

Peter Hovenier

 

Chief Financial Officer

 

(Principal Financial and Accounting Officer)

 

Date: August 5, 2019

 

The foregoing certification is being furnished solely to accompany the Report pursuant to 18 U.S.C. § 1350, and is not being filed for purposes of Section 18 of the Securities Exchange Act of 1934, as amended, and is not to be incorporated by reference into any filing of the Company, whether made before or after the date hereof, regardless of any general incorporation language in such filing. A signed original of this written statement required by Section 906 has been provided to the Company and will be retained by the Company and furnished to the Securities and Exchange Commission or its staff upon request.

 

EX-101.SCH 5 wifi-20190630.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 Income (Loss) link:presentationLink link:calculationLink link:definitionLink 00500 - Statement - Condensed Consolidated Statements of Cash Flows link:presentationLink link:calculationLink link:definitionLink 40302 - Disclosure - Acquisitions - Preliminary Purchase price allocations (Details) link:presentationLink link:calculationLink link:definitionLink 40401 - Disclosure - Cash and cash equivalents and marketable securities (Details) link:presentationLink link:calculationLink link:definitionLink 40601 - Disclosure - Property and equipment (Details) link:presentationLink link:calculationLink link:definitionLink 40701 - Disclosure - Accrued expenses and other liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 40802 - Disclosure - Convertible Notes - Carrying and fair value (Details) link:presentationLink link:calculationLink link:definitionLink 40803 - Disclosure - Convertible Notes - Debt issuance costs and interest expense (Details) link:presentationLink link:calculationLink link:definitionLink 40804 - Disclosure - Convertible Notes - Amortization expense, debt discount and debt issuance costs (Details) link:presentationLink link:calculationLink link:definitionLink 40901 - Disclosure - Credit Facility (Details) link:presentationLink link:calculationLink link:definitionLink 41001 - Disclosure - Leases (Details) link:presentationLink link:calculationLink link:definitionLink 41002 - Disclosure - Leases - Schedule of Maturities of Lease Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 41002 - Disclosure - Leases - Schedule of Maturities of Lease Liabilities (Details) (Cal 2) link:presentationLink link:calculationLink link:definitionLink 41002 - Disclosure - Leases - Schedule of Maturities of Lease Liabilities (Details) (Cal 3) link:presentationLink link:calculationLink link:definitionLink 41003 - Disclosure - Leases - Schedule of Future minimum lease payments under non-cancellable leases (Details) link:presentationLink link:calculationLink link:definitionLink 41101 - Disclosure - Notes payable (Details) link:presentationLink link:calculationLink link:definitionLink 41101 - Disclosure - Notes payable (Details) (Cal 2) link:presentationLink link:calculationLink link:definitionLink 41101 - Disclosure - Notes payable (Details) (Calc 3) link:presentationLink link:calculationLink link:definitionLink 41201 - Disclosure - Fair value measurement (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 00400 - Statement - Condensed Consolidated Statement of Stockholders' Equity link:presentationLink link:calculationLink link:definitionLink 10101 - Disclosure - The business link:presentationLink link:calculationLink link:definitionLink 10201 - Disclosure - Summary of significant accounting policies link:presentationLink link:calculationLink link:definitionLink 10301 - Disclosure - Acquisitions link:presentationLink link:calculationLink link:definitionLink 10401 - Disclosure - Cash and cash equivalents and marketable securities link:presentationLink link:calculationLink link:definitionLink 10601 - Disclosure - Property and equipment link:presentationLink link:calculationLink link:definitionLink 10701 - Disclosure - Accrued expenses and other liabilities link:presentationLink link:calculationLink link:definitionLink 10901 - Disclosure - Credit Facility link:presentationLink link:calculationLink link:definitionLink 11101 - Disclosure - Notes payable link:presentationLink link:calculationLink link:definitionLink 11201 - Disclosure - Fair value measurement link:presentationLink link:calculationLink link:definitionLink 11301 - Disclosure - Income taxes link:presentationLink link:calculationLink link:definitionLink 11401 - Disclosure - Commitments and contingencies link:presentationLink link:calculationLink link:definitionLink 11501 - Disclosure - Stock incentive plans link:presentationLink link:calculationLink link:definitionLink 11601 - Disclosure - Net income (loss) per share attributable to common stockholders link:presentationLink link:calculationLink link:definitionLink 20202 - Disclosure - Summary of significant accounting policies (Policies) link:presentationLink link:calculationLink link:definitionLink 30203 - Disclosure - Summary of significant accounting policies (Tables) link:presentationLink link:calculationLink link:definitionLink 30303 - Disclosure - Acquisitions (Tables) link:presentationLink link:calculationLink link:definitionLink 30403 - Disclosure - Cash and cash equivalents and marketable securities (Tables) link:presentationLink link:calculationLink link:definitionLink 30503 - Disclosure - Contract assets and contract liabilities (Tables) link:presentationLink link:calculationLink link:definitionLink 30603 - Disclosure - Property and equipment (Tables) link:presentationLink link:calculationLink link:definitionLink 30703 - Disclosure - Accrued expenses and other liabilities (Tables) link:presentationLink link:calculationLink link:definitionLink 30803 - Disclosure - Convertible Notes (Tables) link:presentationLink link:calculationLink link:definitionLink 30903 - Disclosure - Credit Facility (Tables) link:presentationLink link:calculationLink link:definitionLink 31101 - Disclosure - Notes payable (Tables) link:presentationLink link:calculationLink link:definitionLink 31203 - Disclosure - Fair value measurement (Tables) link:presentationLink link:calculationLink link:definitionLink 31503 - Disclosure - Stock incentive plans (Tables) link:presentationLink link:calculationLink link:definitionLink 31603 - Disclosure - Net income (loss) per share attributable to common stockholders (Tables) link:presentationLink link:calculationLink link:definitionLink 40101 - Disclosure - The business (Details) link:presentationLink link:calculationLink link:definitionLink 40201 - Disclosure - Summary of significant accounting policies - Basis of presentation (Details) link:presentationLink link:calculationLink link:definitionLink 40202 - Disclosure - Summary of significant accounting policies - Principles of consolidation (Details) link:presentationLink link:calculationLink link:definitionLink 40204 - Disclosure - Summary of significant accounting policies - Segment and geographic information (Details) link:presentationLink link:calculationLink link:definitionLink 40205 - Disclosure - Summary of significant accounting policies - Revenue recognition - Practical expedient (Details) link:presentationLink link:calculationLink link:definitionLink 40206 - Disclosure - Summary of significant accounting policies - Revenue recognition - Terms of contracts (Details) link:presentationLink link:calculationLink link:definitionLink 40207 - Disclosure - Summary of significant accounting policies - Foreign currency translation (Details) link:presentationLink link:calculationLink link:definitionLink 40301 - Disclosure - Acquisitions (Details) link:presentationLink link:calculationLink link:definitionLink 40303 - Disclosure - Acquisitions - Actual and pro forma results (unaudited) (Details) link:presentationLink link:calculationLink link:definitionLink 40501 - Disclosure - Contract assets and contract liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 40501 - Disclosure - Contract assets and contract liabilities Default (Details) link:presentationLink link:calculationLink link:definitionLink 40801 - Disclosure - Convertible Notes (Details) link:presentationLink link:calculationLink link:definitionLink 41202 - Disclosure - Fair value measurement - Level 3 Reconciliation (Details) link:presentationLink link:calculationLink link:definitionLink 41301 - Disclosure - Income taxes (Details) link:presentationLink link:calculationLink link:definitionLink 41401 - Disclosure - Commitments and contingencies - Letters of credit (Details) link:presentationLink link:calculationLink link:definitionLink 41402 - Disclosure - Commitments and contingencies - Others matters (Details) link:presentationLink link:calculationLink link:definitionLink 41501 - Disclosure - Stock incentive plans - Plans (Details) link:presentationLink link:calculationLink link:definitionLink 41502 - Disclosure - Stock incentive plans - Compensation expense (Details) link:presentationLink link:calculationLink link:definitionLink 41503 - Disclosure - Stock incentive plans - Stock option awards (Details) link:presentationLink link:calculationLink link:definitionLink 41504 - Disclosure - Stock incentive plans - Restricted stock unit awards (Details) link:presentationLink link:calculationLink link:definitionLink 41601 - Disclosure - Net income (loss) per share attributable to common stockholders (Details) link:presentationLink link:calculationLink link:definitionLink 10501 - Disclosure - Contract assets and contract liabilities link:presentationLink link:calculationLink link:definitionLink 10801 - Disclosure - Convertible Notes link:presentationLink link:calculationLink link:definitionLink 11001 - Disclosure - Leases link:presentationLink link:calculationLink link:definitionLink 31003 - Disclosure - Leases (Tables) link:presentationLink link:calculationLink link:definitionLink 40203 - Disclosure - Summary of significant accounting policies - Marketable securities (Details) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 6 wifi-20190630_cal.xml XBRL TAXONOMY EXTENSION CALCULATION LINKBASE EX-101.DEF 7 wifi-20190630_def.xml XBRL TAXONOMY EXTENSION DEFINITION LINKBASE EX-101.LAB 8 wifi-20190630_lab.xml XBRL TAXONOMY EXTENSION LABEL LINKBASE EX-101.PRE 9 wifi-20190630_pre.xml XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE XML 10 wifi-20190630x10q_htm.xml IDEA: XBRL DOCUMENT 0001169988 srt:MinimumMember wifi:PerformanceBasedRestrictedStockUnitsMember 2019-06-30 0001169988 srt:MaximumMember wifi:PerformanceBasedRestrictedStockUnitsMember 2019-06-30 0001169988 wifi:NonEmployeeDirectorsAndNewMembersMember wifi:ServiceBasedRestrictedStockUnitsMember 2019-06-30 0001169988 wifi:WholesalePartnerArrangementMember srt:MinimumMember 2019-01-01 2019-06-30 0001169988 wifi:WholesalePartnerArrangementMember srt:MaximumMember 2019-01-01 2019-06-30 0001169988 wifi:MultiFamilyPartnerArrangementMember srt:MinimumMember 2019-01-01 2019-06-30 0001169988 wifi:MultiFamilyPartnerArrangementMember srt:MaximumMember 2019-01-01 2019-06-30 0001169988 wifi:DasPartnerArrangementMember srt:MinimumMember 2019-01-01 2019-06-30 0001169988 wifi:DasPartnerArrangementMember srt:MaximumMember 2019-01-01 2019-06-30 0001169988 wifi:MilitaryAndRetailMember 2019-01-01 2019-06-30 0001169988 wifi:MultiFamilyPartnerArrangementMember 2019-06-30 0001169988 srt:MinimumMember 2019-01-01 2019-06-30 0001169988 srt:MaximumMember 2019-01-01 2019-06-30 0001169988 srt:MinimumMember 2018-01-01 2018-12-31 0001169988 srt:MaximumMember 2018-01-01 2018-12-31 0001169988 wifi:ElauwitNetworksLlcMember 2019-01-01 2019-01-31 0001169988 wifi:ElauwitNetworksLlcMember 2018-08-01 2018-12-31 0001169988 srt:MinimumMember wifi:ElauwitNetworksLlcMember us-gaap:MeasurementInputDiscountRateMember wifi:ExcessEarningsReliefFromRoyaltyAndLossOfRevenueMethodsMember 2018-08-01 0001169988 srt:MaximumMember wifi:ElauwitNetworksLlcMember us-gaap:MeasurementInputDiscountRateMember wifi:ExcessEarningsReliefFromRoyaltyAndLossOfRevenueMethodsMember 2018-08-01 0001169988 wifi:ElauwitNetworksLlcMember wifi:MeasurementInputRoyaltyRateMember wifi:ReliefFromRoyaltyMethodMember 2018-08-01 0001169988 wifi:ElauwitNetworksLlcMember us-gaap:MeasurementInputDiscountRateMember wifi:FairValueLessCostMethodMember 2018-08-01 0001169988 srt:MaximumMember 2019-07-31 0001169988 srt:MaximumMember 2013-04-01 0001169988 us-gaap:CommonStockMember 2019-04-01 2019-06-30 0001169988 us-gaap:CommonStockMember 2019-01-01 2019-03-31 0001169988 us-gaap:CommonStockMember 2018-04-01 2018-06-30 0001169988 us-gaap:CommonStockMember 2018-01-01 2018-03-31 0001169988 us-gaap:RetainedEarningsMember 2019-06-30 0001169988 us-gaap:NoncontrollingInterestMember 2019-06-30 0001169988 us-gaap:AdditionalPaidInCapitalMember 2019-06-30 0001169988 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-06-30 0001169988 us-gaap:RetainedEarningsMember 2019-03-31 0001169988 us-gaap:NoncontrollingInterestMember 2019-03-31 0001169988 us-gaap:AdditionalPaidInCapitalMember 2019-03-31 0001169988 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-03-31 0001169988 2019-03-31 0001169988 us-gaap:RetainedEarningsMember 2018-12-31 0001169988 us-gaap:NoncontrollingInterestMember 2018-12-31 0001169988 us-gaap:AdditionalPaidInCapitalMember 2018-12-31 0001169988 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2018-12-31 0001169988 us-gaap:RetainedEarningsMember 2018-06-30 0001169988 us-gaap:NoncontrollingInterestMember 2018-06-30 0001169988 us-gaap:AdditionalPaidInCapitalMember 2018-06-30 0001169988 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2018-06-30 0001169988 us-gaap:RetainedEarningsMember 2018-03-31 0001169988 us-gaap:NoncontrollingInterestMember 2018-03-31 0001169988 us-gaap:AdditionalPaidInCapitalMember 2018-03-31 0001169988 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2018-03-31 0001169988 2018-03-31 0001169988 us-gaap:RetainedEarningsMember 2017-12-31 0001169988 us-gaap:NoncontrollingInterestMember 2017-12-31 0001169988 us-gaap:AdditionalPaidInCapitalMember 2017-12-31 0001169988 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2017-12-31 0001169988 wifi:ConvertibleUnsecuredSeniorNotesMaturingIn1stOctober2023Member 2018-10-02 0001169988 wifi:EmployeeAndNonemployeeStockOptionMember 2018-01-01 2018-12-31 0001169988 wifi:EmployeeAndNonemployeeStockOptionMember wifi:Plan2011Member 2019-06-30 0001169988 wifi:EmployeeAndNonemployeeStockOptionMember 2019-06-30 0001169988 wifi:EmployeeAndNonemployeeStockOptionMember 2018-12-31 0001169988 us-gaap:RestrictedStockUnitsRSUMember wifi:Plan2011Member 2019-06-30 0001169988 us-gaap:RestrictedStockUnitsRSUMember 2019-06-30 0001169988 us-gaap:RestrictedStockUnitsRSUMember 2018-12-31 0001169988 wifi:PerformanceBasedRestrictedStockUnitsMember 2019-02-01 2019-02-28 0001169988 wifi:EmployeeAndNonemployeeStockOptionMember us-gaap:ShareBasedCompensationAwardTrancheTwoMember 2019-01-01 2019-06-30 0001169988 srt:MaximumMember wifi:ExecutiveAndNonExecutiveMember wifi:ServiceBasedRestrictedStockUnitsMember 2019-01-01 2019-06-30 0001169988 wifi:NonEmployeeDirectorsAndNewMembersMember wifi:ServiceBasedRestrictedStockUnitsMember 2019-01-01 2019-06-30 0001169988 wifi:NonEmployeeDirectorsAndExistingMembersMember wifi:ServiceBasedRestrictedStockUnitsMember 2019-01-01 2019-06-30 0001169988 wifi:EmployeeAndNonemployeeStockOptionMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2019-01-01 2019-06-30 0001169988 wifi:PerformanceBasedRestrictedStockUnitsMember 2019-01-01 2019-06-30 0001169988 wifi:EmployeeAndNonemployeeStockOptionMember 2019-01-01 2019-06-30 0001169988 wifi:WholesalePartnerArrangementMember srt:MaximumMember 2019-04-01 2019-06-30 0001169988 wifi:DistributedAntennaSystemMember srt:MaximumMember 2019-04-01 2019-06-30 0001169988 wifi:WholesalePartnerArrangementMember 2019-06-30 0001169988 wifi:DistributedAntennaSystemMember 2019-06-30 0001169988 wifi:WholesalePartnerArrangementMember 2019-04-01 2019-06-30 0001169988 wifi:MilitaryOrMultiFamilyMember 2019-04-01 2019-06-30 0001169988 wifi:DistributedAntennaSystemMember 2019-04-01 2019-06-30 0001169988 wifi:AdvertisingAndOtherMember 2019-04-01 2019-06-30 0001169988 us-gaap:RetailMember 2019-04-01 2019-06-30 0001169988 wifi:WholesalePartnerArrangementMember 2019-01-01 2019-06-30 0001169988 wifi:MilitaryOrMultiFamilyMember 2019-01-01 2019-06-30 0001169988 wifi:DistributedAntennaSystemMember 2019-01-01 2019-06-30 0001169988 wifi:AdvertisingAndOtherMember 2019-01-01 2019-06-30 0001169988 us-gaap:RetailMember 2019-01-01 2019-06-30 0001169988 wifi:WholesalePartnerArrangementMember 2018-04-01 2018-06-30 0001169988 wifi:MilitaryOrMultiFamilyMember 2018-04-01 2018-06-30 0001169988 wifi:DistributedAntennaSystemMember 2018-04-01 2018-06-30 0001169988 wifi:AdvertisingAndOtherMember 2018-04-01 2018-06-30 0001169988 us-gaap:RetailMember 2018-04-01 2018-06-30 0001169988 wifi:WholesalePartnerArrangementMember 2018-01-01 2018-06-30 0001169988 wifi:MilitaryOrMultiFamilyMember 2018-01-01 2018-06-30 0001169988 wifi:DistributedAntennaSystemMember 2018-01-01 2018-06-30 0001169988 wifi:AdvertisingAndOtherMember 2018-01-01 2018-06-30 0001169988 us-gaap:RetailMember 2018-01-01 2018-06-30 0001169988 wifi:FurnitureFixturesAndOfficeEquipmentMember 2019-06-30 0001169988 us-gaap:SoftwareAndSoftwareDevelopmentCostsMember 2019-06-30 0001169988 us-gaap:LeaseholdImprovementsMember 2019-06-30 0001169988 us-gaap:ConstructionInProgressMember 2019-06-30 0001169988 us-gaap:ComputerEquipmentMember 2019-06-30 0001169988 wifi:FurnitureFixturesAndOfficeEquipmentMember 2018-12-31 0001169988 us-gaap:SoftwareAndSoftwareDevelopmentCostsMember 2018-12-31 0001169988 us-gaap:LeaseholdImprovementsMember 2018-12-31 0001169988 us-gaap:ConstructionInProgressMember 2018-12-31 0001169988 us-gaap:ComputerEquipmentMember 2018-12-31 0001169988 us-gaap:RetainedEarningsMember 2019-04-01 2019-06-30 0001169988 us-gaap:RetainedEarningsMember 2019-01-01 2019-03-31 0001169988 us-gaap:RetainedEarningsMember 2018-04-01 2018-06-30 0001169988 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-04-01 2019-06-30 0001169988 us-gaap:NoncontrollingInterestMember 2019-01-01 2019-03-31 0001169988 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-01-01 2019-03-31 0001169988 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2018-04-01 2018-06-30 0001169988 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2018-01-01 2018-03-31 0001169988 us-gaap:AccountingStandardsUpdate201409Member 2019-01-01 0001169988 us-gaap:RetainedEarningsMember 2018-01-01 2018-03-31 0001169988 us-gaap:NoncontrollingInterestMember 2018-01-01 2018-03-31 0001169988 wifi:ChicagoConcourseDevelopmentGroupLLCMember 2019-06-30 0001169988 wifi:BoingoHoldingParticipacoesLtdaMember 2019-06-30 0001169988 us-gaap:NoncontrollingInterestMember 2019-04-01 2019-06-30 0001169988 us-gaap:NoncontrollingInterestMember 2018-04-01 2018-06-30 0001169988 wifi:ObligationOfUnderpaidRevenueSharePaymentsMember 2019-01-01 2019-06-30 0001169988 srt:MinimumMember us-gaap:RevolvingCreditFacilityMember 2019-01-01 2019-06-30 0001169988 srt:MaximumMember us-gaap:RevolvingCreditFacilityMember 2019-01-01 2019-06-30 0001169988 us-gaap:SecuredDebtMember 2019-06-30 0001169988 us-gaap:RevolvingCreditFacilityMember 2019-06-30 0001169988 us-gaap:LetterOfCreditMember 2019-06-30 0001169988 srt:MinimumMember 2019-06-30 0001169988 srt:MaximumMember 2019-06-30 0001169988 2019-01-01 2019-01-01 0001169988 us-gaap:LineOfCreditMember 2019-04-01 2019-06-30 0001169988 us-gaap:LineOfCreditMember 2019-01-01 2019-06-30 0001169988 us-gaap:RestrictedStockUnitsRSUMember 2019-04-01 2019-06-30 0001169988 us-gaap:EmployeeStockOptionMember 2019-04-01 2019-06-30 0001169988 us-gaap:RestrictedStockUnitsRSUMember 2019-01-01 2019-06-30 0001169988 us-gaap:EmployeeStockOptionMember 2019-01-01 2019-06-30 0001169988 us-gaap:RestrictedStockUnitsRSUMember 2018-04-01 2018-06-30 0001169988 us-gaap:EmployeeStockOptionMember 2018-04-01 2018-06-30 0001169988 us-gaap:RestrictedStockUnitsRSUMember 2018-01-01 2018-06-30 0001169988 us-gaap:EmployeeStockOptionMember 2018-01-01 2018-06-30 0001169988 us-gaap:FairValueInputsLevel3Member 2019-06-30 0001169988 us-gaap:FairValueInputsLevel3Member 2018-12-31 0001169988 us-gaap:FairValueInputsLevel3Member 2019-01-01 2019-06-30 0001169988 wifi:ConvertibleUnsecuredSeniorNotesMaturingIn1stOctober2023Member us-gaap:CallOptionMember 2018-10-31 0001169988 wifi:NetworkAccessMember 2019-04-01 2019-06-30 0001169988 wifi:NetworkAccessMember 2019-01-01 2019-06-30 0001169988 wifi:NetworkAccessMember 2018-04-01 2018-06-30 0001169988 wifi:NetworkAccessMember 2018-01-01 2018-06-30 0001169988 srt:MinimumMember us-gaap:LineOfCreditMember 2019-01-01 2019-06-30 0001169988 srt:MaximumMember us-gaap:LineOfCreditMember 2019-01-01 2019-06-30 0001169988 wifi:ConvertibleUnsecuredSeniorNotesMaturingIn1stOctober2023Member 2018-10-01 2018-10-31 0001169988 wifi:ConvertibleUnsecuredSeniorNotesMaturingIn1stOctober2023Member 2018-10-31 0001169988 srt:MinimumMember us-gaap:LineOfCreditMember us-gaap:PrimeRateMember 2019-01-01 2019-06-30 0001169988 srt:MinimumMember us-gaap:LineOfCreditMember us-gaap:LondonInterbankOfferedRateLIBORMember 2019-01-01 2019-06-30 0001169988 srt:MaximumMember us-gaap:LineOfCreditMember us-gaap:PrimeRateMember 2019-01-01 2019-06-30 0001169988 srt:MaximumMember us-gaap:LineOfCreditMember us-gaap:LondonInterbankOfferedRateLIBORMember 2019-01-01 2019-06-30 0001169988 wifi:ConvertibleUnsecuredSeniorNotesMaturingIn1stOctober2023Member 2019-06-30 0001169988 us-gaap:CommonStockMember 2019-06-30 0001169988 us-gaap:CommonStockMember 2019-03-31 0001169988 us-gaap:CommonStockMember 2018-12-31 0001169988 us-gaap:CommonStockMember 2018-06-30 0001169988 us-gaap:CommonStockMember 2018-03-31 0001169988 us-gaap:CommonStockMember 2017-12-31 0001169988 2018-06-30 0001169988 2017-12-31 0001169988 wifi:ElauwitNetworksLlcMember wifi:PartnerRelationshipsMember 2018-08-01 0001169988 wifi:ElauwitNetworksLlcMember wifi:NonCompeteAgreementMember 2018-08-01 0001169988 wifi:ElauwitNetworksLlcMember wifi:FiniteLivedIntangibleAssetsBacklogHeldForSaleMember 2018-08-01 0001169988 wifi:ElauwitNetworksLlcMember us-gaap:TransmissionServiceAgreementMember 2018-08-01 0001169988 wifi:ElauwitNetworksLlcMember us-gaap:OrderOrProductionBacklogMember 2018-08-01 0001169988 wifi:ElauwitNetworksLlcMember us-gaap:CustomerRelationshipsMember 2018-08-01 0001169988 wifi:ElauwitNetworksLlcMember 2019-04-01 2019-06-30 0001169988 wifi:ElauwitNetworksLlcMember wifi:AnnualRevenueVolatilityRateMember 2018-08-01 0001169988 wifi:ElauwitNetworksLlcMember us-gaap:MeasurementInputRiskFreeInterestRateMember 2018-08-01 0001169988 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2019-06-30 0001169988 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2018-12-31 0001169988 wifi:ElauwitNetworksLlcMember 2018-08-01 0001169988 srt:MaximumMember wifi:ElauwitNetworksLlcMember 2018-08-01 2018-08-01 0001169988 wifi:ElauwitNetworksLlcMember 2018-08-01 2018-08-01 0001169988 wifi:ElauwitNetworksLlcMember 2019-01-01 2019-06-30 0001169988 wifi:ElauwitNetworksLlcMember 2018-04-01 2018-06-30 0001169988 wifi:ElauwitNetworksLlcMember 2018-01-01 2018-06-30 0001169988 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2019-06-30 0001169988 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2019-06-30 0001169988 us-gaap:FairValueMeasurementsRecurringMember 2019-06-30 0001169988 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2018-12-31 0001169988 us-gaap:FairValueMeasurementsRecurringMember 2018-12-31 0001169988 us-gaap:RestrictedStockUnitsRSUMember 2019-04-01 2019-06-30 0001169988 us-gaap:RestrictedStockUnitsRSUMember 2018-04-01 2018-06-30 0001169988 wifi:ConvertibleUnsecuredSeniorNotesMaturingIn1stOctober2023Member 2019-04-01 2019-06-30 0001169988 wifi:ConvertibleUnsecuredSeniorNotesMaturingIn1stOctober2023Member 2019-01-01 2019-06-30 0001169988 wifi:NetworkOperationsMember 2019-04-01 2019-06-30 0001169988 us-gaap:SellingAndMarketingExpenseMember 2019-04-01 2019-06-30 0001169988 us-gaap:ResearchAndDevelopmentExpenseMember 2019-04-01 2019-06-30 0001169988 us-gaap:GeneralAndAdministrativeExpenseMember 2019-04-01 2019-06-30 0001169988 wifi:NetworkOperationsMember 2019-01-01 2019-06-30 0001169988 us-gaap:SellingAndMarketingExpenseMember 2019-01-01 2019-06-30 0001169988 us-gaap:ResearchAndDevelopmentExpenseMember 2019-01-01 2019-06-30 0001169988 us-gaap:GeneralAndAdministrativeExpenseMember 2019-01-01 2019-06-30 0001169988 wifi:NetworkOperationsMember 2018-04-01 2018-06-30 0001169988 us-gaap:SellingAndMarketingExpenseMember 2018-04-01 2018-06-30 0001169988 us-gaap:ResearchAndDevelopmentExpenseMember 2018-04-01 2018-06-30 0001169988 us-gaap:GeneralAndAdministrativeExpenseMember 2018-04-01 2018-06-30 0001169988 wifi:NetworkOperationsMember 2018-01-01 2018-06-30 0001169988 us-gaap:SellingAndMarketingExpenseMember 2018-01-01 2018-06-30 0001169988 us-gaap:ResearchAndDevelopmentExpenseMember 2018-01-01 2018-06-30 0001169988 us-gaap:GeneralAndAdministrativeExpenseMember 2018-01-01 2018-06-30 0001169988 2018-01-01 2018-06-30 0001169988 us-gaap:AdditionalPaidInCapitalMember 2019-04-01 2019-06-30 0001169988 2019-04-01 2019-06-30 0001169988 us-gaap:AdditionalPaidInCapitalMember 2019-01-01 2019-03-31 0001169988 2019-01-01 2019-03-31 0001169988 us-gaap:AdditionalPaidInCapitalMember 2018-04-01 2018-06-30 0001169988 2018-04-01 2018-06-30 0001169988 us-gaap:AdditionalPaidInCapitalMember 2018-01-01 2018-03-31 0001169988 2018-01-01 2018-03-31 0001169988 wifi:ElauwitNetworksLlcMember wifi:PartnerRelationshipsMember 2018-08-01 2018-08-01 0001169988 wifi:ElauwitNetworksLlcMember wifi:NonCompeteAgreementMember 2018-08-01 2018-08-01 0001169988 wifi:ElauwitNetworksLlcMember us-gaap:TransmissionServiceAgreementMember 2018-08-01 2018-08-01 0001169988 wifi:ElauwitNetworksLlcMember us-gaap:OrderOrProductionBacklogMember 2018-08-01 2018-08-01 0001169988 wifi:ElauwitNetworksLlcMember us-gaap:CustomerRelationshipsMember 2018-08-01 2018-08-01 0001169988 2019-06-30 0001169988 2018-12-31 0001169988 2019-07-26 0001169988 2019-01-01 2019-06-30 shares iso4217:USD iso4217:USD shares wifi:item pure wifi:D iso4217:USD wifi:EquityInstruments wifi:claim wifi:segment false --12-31 Q2 2019 0001169988 wifi:MonteCarloMethodMember 42669000 44107000 0.0236323 true 0 0 true true P30D P3Y P1Y P5Y 10-Q true 2019-06-30 false 001-35155 BOINGO WIRELESS, INC. DE 95-4856877 10960 Wilshire Blvd., 23rd Floor Los Angeles CA 90024 310 586-5180 Common Stock, $0.0001 par value WIFI NASDAQ Yes Yes Large Accelerated Filer false false false 44110918 27381000 149412000 42799000 0 73996000 42766000 9755000 7815000 153931000 199993000 350172000 314179000 16067000 0 58890000 59640000 16890000 19152000 10113000 9936000 606063000 602900000 21351000 21543000 61444000 62653000 61620000 80383000 2708000 0 778000 0 3429000 4201000 2035000 2411000 153365000 171191000 175489000 137205000 18421000 0 158469000 151670000 1790000 3293000 683000 1618000 1129000 1073000 1268000 6728000 510614000 472778000 0.0001 0.0001 5000000 5000000 0 0 0.0001 0.0001 100000000 100000000 44107000 42669000 4000 4000 230391000 259132000 -134867000 -129930000 -1212000 -1295000 94316000 127911000 1133000 2211000 95449000 130122000 606063000 602900000 68554000 59601000 135027000 117760000 29802000 24088000 61213000 50653000 14249000 12723000 28391000 25569000 8353000 7463000 17352000 14888000 6194000 5353000 12061000 10816000 7015000 6730000 15309000 14429000 1131000 668000 2262000 1395000 66744000 57025000 136588000 117750000 1810000 2576000 -1561000 10000 -1662000 -50000 -3338000 -129000 148000 2526000 -4899000 -119000 -81000 16000 111000 144000 229000 2510000 -5010000 -263000 13000 395000 -73000 851000 216000 2115000 -4937000 -1114000 0.00 0.05 -0.11 -0.03 0.00 0.05 -0.11 -0.03 44041000 41961000 43786000 41645000 44378000 45219000 43786000 41645000 229000 2510000 -5010000 -263000 70000 -267000 36000 -271000 29000 0 45000 0 328000 2243000 -4929000 -534000 7000 452000 -75000 905000 321000 1791000 -4854000 -1439000 42669000 4000 259132000 -129930000 -1295000 2211000 130122000 1310000 6000 6000 32907000 32907000 2574000 2574000 -5153000 -86000 -5239000 -22000 4000 -18000 43979000 4000 228805000 -135083000 -1317000 2129000 94538000 128000 74000 74000 759000 759000 2271000 2271000 1003000 1003000 216000 13000 229000 105000 -6000 99000 44107000 4000 230391000 -134867000 -1212000 1133000 95449000 40995000 4000 230679000 -131967000 -898000 1212000 99030000 758000 4228000 4228000 6340000 6340000 3312000 3312000 3257000 69000 3326000 -3229000 456000 -2773000 -1000 -3000 -4000 41753000 4000 231879000 -131939000 -899000 1734000 100779000 500000 4227000 4227000 1246000 1246000 3152000 3152000 614000 614000 2115000 395000 2510000 -324000 57000 -267000 42253000 4000 238012000 -129824000 -1223000 1572000 108541000 -5010000 -263000 35883000 37868000 2262000 1395000 352000 135000 4380000 6072000 4381000 0 1045000 0 425000 0 31350000 12567000 376000 22000 95000 704000 3661000 1018000 19521000 -1576000 -1447000 0 32972000 32764000 55629000 0 13300000 0 73852000 42918000 -116181000 -42918000 1815000 0 3500000 0 389000 438000 1952000 0 80000 8455000 3586000 2865000 33666000 7586000 1003000 614000 -38831000 -3048000 9000 -23000 -122031000 -13225000 149412000 26685000 27381000 13460000 34777000 26756000 0 5068000 465000 392000 2961000 0 299000 0 <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">1. The business</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Boingo Wireless, Inc. and its subsidiaries (collectively “we, “us”, “our” or “the Company”) is a leading global provider of wireless connectivity solutions for smartphones, tablets, laptops, wearables and other wireless-enabled consumer devices. Boingo Wireless, Inc. was incorporated on April 16, 2001 in the State of Delaware. We have a diverse monetization model that enables us to generate revenues from wholesale partnerships, retail sales, and advertising across these wireless networks. Wholesale offerings include distributed antenna systems (“DAS”) or small cells, which are cellular extension networks, multifamily, carrier offload, Wi-Fi roaming, value-added services, private label Wi-Fi, and location-based services. Retail products include Wi-Fi services for military personnel living in the barracks of U.S. Army, Air Force and Marine bases around the world, and Wi-Fi subscriptions and day passes that provide access to over 1.3 million commercial hotspots worldwide. Advertising revenue is driven by Wi-Fi sponsorships at airports, hotels, cafes and restaurants, and public spaces. Our customers include some of the world’s largest carriers, telecommunications service providers, global consumer brands, and property owners, as well as troops stationed at military bases and Internet savvy consumers on the go.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 1300000 <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">2. Summary of significant accounting policies</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><b style="font-weight:bold;">Basis of presentation</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The accompanying interim condensed consolidated financial statements and related notes for the three and six months ended June 30, 2019 and 2018 are unaudited. The unaudited interim condensed consolidated financial information has been prepared in accordance with the rules and regulations of the SEC for interim financial information. Accordingly, they do not include all information and footnotes required by generally accepted accounting principles (“GAAP”) in the United States of America (“U.S.”) for complete financial statements. These financial statements should be read in conjunction with the audited consolidated financial statements and the accompanying notes for the year ended December 31, 2018 contained in our annual report on Form 10-K filed with the SEC on March 1, 2019. The unaudited interim condensed consolidated financial statements have been prepared on the same basis as the annual consolidated financial statements and in the opinion of management, reflect all adjustments, consisting of normal recurring adjustments, necessary for a fair statement of our results of operations for the three and six months ended June 30, 2019 and 2018, our cash flows for the six months ended June 30, 2019 and 2018, and our financial position as of June 30, 2019. The year-end balance sheet data was derived from audited consolidated financial statements but does not include all disclosures required by GAAP. Interim results are not necessarily indicative of the results to be expected for an entire year or any other future year or interim period.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">In June 2018, the Financial Accounting Standards Board (“FASB”) issued Accounting Standards Update (“ASU”) 2018-07, <i style="font-style:italic;">Improvements to Nonemployee Share-Based Payment Accounting</i>, which eliminates the separate accounting model for nonemployee share-based payment awards and generally requires companies to account for share-based payment transactions with nonemployees in the same way as share-based payment transactions with employees. The accounting remains different for attribution, which represents how the equity-based payment cost is recognized over the vesting period, and a contractual term election for valuing nonemployee equity share options. The standard is effective for interim and annual periods beginning after December 15, 2018. We adopted ASU 2018-07 on January 1, 2019 and the adoption of this standard did not have a material impact on our condensed consolidated financial statements.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">In February 2016, the FASB issued a new standard related to leases, which was codified into Accounting Standards Codification (“ASC”) 842, <i style="font-style:italic;">Leases</i>. ASC 842 requires lessees to recognize assets and liabilities for all leases with lease terms of more than 12 months on the balance sheet. Under ASC 842, the recognition, measurement, and presentation of expenses and cash flows arising from a lease by a lessee will depend on its classification as a finance or operating lease. On January 1, 2019, we adopted ASC 842 using the modified retrospective transition approach. ASC </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">842 permits two methods of adoption and we elected to apply the guidance to each lease that had commenced as of January 1, 2019 with a cumulative-effect adjustment to the opening balance of retained earnings as of that date. ASC 842 permits various optional transition practical expedients. The discount rate used to calculate the present value of the future payments was determined as of January 1, 2019 for existing lease contracts and was generally based on our incremental borrowing rate as of January 1, 2019 commensurate with the remaining lease term. We also elected the package of practical expedients which included the following: (i) an entity need not reassess whether any expired or existing contracts are or contain leases; (ii) an entity need not reassess the lease classification for any expired or existing leases; and (iii) an entity need not reassess initial direct costs for any existing leases. The standard had a material impact on our condensed consolidated balance sheet but did not have an impact on our condensed consolidated statement of operations and our condensed consolidated statement of cash flows. The most significant impact was the recognition of right-of-use (“ROU”) assets and liabilities related to our operating leases, while our accounting for finance leases remained substantially unchanged. Adoption of the new standard resulted in the recording of $16,916 of operating lease ROU assets and $22,338 of operating lease ROU liabilities as of January 1, 2019.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><b style="font-weight:bold;">Principles of consolidation</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The unaudited condensed consolidated financial statements include our accounts and the accounts of our majority owned subsidiaries. We consolidate our 70% ownership of Chicago Concourse Development Group, LLC and our 75% ownership of Boingo Holding Participacoes Ltda. in accordance with ASC 810, <i style="font-style:italic;">Consolidation</i>. Other parties’ interests in consolidated entities are reported as non-controlling interests. All intercompany balances and transactions have been eliminated in consolidation.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><b style="font-weight:bold;">Marketable securities</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Our marketable securities consist of available-for-sale securities with original maturities exceeding three months. According to ASC 320, <i style="font-style:italic;">Investments—Debt and Equity Securities</i>, we have classified securities, which have readily determinable fair values and are highly liquid, as short-term because such securities are expected to be realized within a one-year period. At June 30, 2019, we had $42,799 in marketable securities. We had no marketable securities at December 31, 2018.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Marketable securities are reported at fair value with the related unrealized gains and losses reported as other comprehensive income (loss) until realized or until a determination is made that an other-than-temporary decline in market value has occurred. No significant unrealized gains and losses have been reported during the periods presented. Factors considered by us in assessing whether an other-than-temporary impairment has occurred include the nature of the investment, whether the decline in fair value is attributable to specific adverse conditions affecting the investment, the financial condition of the investee, the severity and the duration of the impairment and whether we have the ability to hold the investment to maturity. When it is determined that an other-than-temporary impairment has occurred, the investment is written down to its market value at the end of the period in which it is determined that an other-than-temporary decline has occurred. The cost of marketable securities sold is based upon the specific identification method. Any realized gains or losses on the sale of investments are reflected as a component of interest and other expense, net.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">For the three and six months ended June 30, 2019, we had no significant realized or unrealized gains or losses from investments in marketable securities classified as available-for-sale. As of June 30, 2019, we had $45 of cumulative unrealized gains, net of tax, which was $0 as of June 30, 2019 due to the full valuation allowance established against our deferred tax assets, in accumulated other comprehensive loss.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><b style="font-weight:bold;">Segment and geographic information</b></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We operate as one reportable segment; a service provider of wireless connectivity solutions across our managed and operated network and aggregated network for mobile devices such as laptops, smartphones, tablets and other wireless-enabled consumer devices. This single segment is consistent with the internal organization structure and the manner in which operations are reviewed and managed by our Chief Executive Officer, the chief operating decision maker.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">All significant long-lived tangible assets are held in the United States of America. We do not disclose sales by geographic area because to do so would be impracticable.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The following is a summary of our revenue disaggregated by product offerings:</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">                                                                                                                                                                              </p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:50.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';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:8.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:9.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:9.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:50.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:21.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:24.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:50.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:21.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:24.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:50.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:50.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Revenue:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:50.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">DAS</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27,622</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,885</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 51,717</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,530</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:50.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Military/multifamily</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,396</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,735</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50,293</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32,589</p></td></tr><tr><td style="vertical-align:bottom;width:50.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Wholesale—Wi-Fi</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,718</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,530</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,738</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,679</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:50.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Retail</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,847</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,566</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,773</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,876</p></td></tr><tr><td style="vertical-align:bottom;width:50.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Advertising and other </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,971</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,885</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,506</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,086</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:50.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total revenue </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 68,554</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59,601</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 135,027</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 117,760</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><b style="font-weight:bold;">Revenue recognition</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We generate revenue from several sources including: (i) DAS customers that are telecom operators under long-term contracts for access to our DAS at our managed and operated locations, (ii) military and retail customers under subscription plans for month-to-month network access that automatically renew, and military and retail single-use access from sales of hourly, daily or other single-use access plans, (iii) arrangements with property owners for multifamily properties that provide for network installation and monthly Wi-Fi services and support for residents and employees, (iv) arrangements with wholesale Wi-Fi customers that provide software licensing, network access, and/or professional services fees, and (v) display advertisements and sponsorships on our walled garden sign-in pages. Software licensed by our wholesale platform services customers can only be used during the term of the service arrangements and has no utility to them upon termination of the service arrangement.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Revenues are recognized when a contract with a customer exists and control of the promised goods or services is transferred to our customers, in an amount that reflects the consideration we expect to be entitled to in exchange for those goods or services and the identified performance obligation has been satisfied. Contracts entered into at or near the same time with the same customer are combined and accounted for as a single contract if the contracts have a single commercial objective, the amount of consideration is dependent on the price or performance of the other contract, or the services promised in the contracts are a single performance obligation. Contract amendments are routine in the performance of our DAS, wholesale Wi-Fi, and advertising contracts. Contracts are often amended to account for changes in contract specifications or requirements or expand network access services. In most instances, our DAS and wholesale Wi-Fi contract amendments are for additional goods or services that are distinct, and the contract price increases by an amount that reflects the standalone selling price of the additional goods or services; therefore, such contract amendments are accounted for as separate contracts. Contract amendments for our advertising contracts are also generally for additional goods or services that are distinct; however, the contract price does not increase by an amount that reflects the standalone selling price of the additional goods or services. Advertising contract amendments are therefore generally accounted for as contract modifications under the prospective method. Contract amendments to transaction prices with no change in remaining services are accounted for as contract modifications under the cumulative catch-up method.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">A performance obligation is a promise in a contract to transfer a distinct good or service to the customer and is the unit of account in ASC 606, <i style="font-style:italic;">Revenue from Contracts with Customers</i>. A contract’s transaction price is allocated to each distinct performance obligation and is recognized as revenue when, or as, the performance obligation is satisfied, which typically occurs when the services are rendered. Determining whether products and services are considered distinct performance obligations that should be accounted for separately versus together may require significant judgment. Our contracts with customers may include multiple performance obligations. For such arrangements, we allocate revenue to each performance obligation based on its relative standalone selling price. We generally determine standalone selling prices based on the prices charged to customers. Judgment may be used to determine the standalone selling prices for items that are not sold separately, including services provided at no additional charge. Most of our performance obligations are satisfied over time as services are provided. We generally recognize revenue on a gross </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">basis as we are primarily responsible for fulfilling the promises to provide the specified goods or services, we are responsible for paying all costs related to the goods or services before they have been transferred to the customer, and we have discretion in establishing prices for the specified goods or services. Revenue is presented net of any sales and value added taxes.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Payment terms vary on a contract-by-contract basis, although terms generally require payment within 30 to 60 days for non-recurring payments, the first day of the monthly or quarterly billing cycle for recurring payments for DAS and wholesale Wi-Fi contracts, and the first day of the month prior to the month that services are provided for multifamily contracts. We apply a practical expedient for purposes of determining whether a significant financing component may exist for our contracts if, at contract inception, we expect that the period between when we transfer the promised good or service to the customer and when the customer pays for that good or service will be one year or less. In instances where the customer pays for a good or service one year or more in advance of the period when we transfer the promised good or service to the customer, we have determined our contracts generally do not include a significant financing component. The primary purpose of our invoicing terms is not to receive financing from our customers or to provide customers with financing but rather to maximize our profitability on the customer contract. Specifically, inclusion of non-refundable upfront fees in our long-term customer contracts increases the likelihood that the customer will be committed through the end of the contractual term and ensures recoverability of the capital outlay that we incur in expectation of the customer fulfilling its contractual obligations. We may also provide service credits to our customers if we fail to meet contractual monthly system uptime requirements and we account for the variable consideration related to these service credits using the most likely amount method.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">For contracts that include variable consideration, we estimate the amount of consideration at contract inception under the expected value method or the most likely amount method and include the amount of variable consideration that is not considered to be constrained. Significant judgment is used in constraining estimates of variable consideration. We update our estimates at the end of each reporting period as additional information becomes available.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Timing of revenue recognition may differ from the timing of invoicing to customers. We record unbilled receivables (contract assets) when revenue is recognized prior to invoicing, deferred revenue (contract liabilities) when revenue is recognized after invoicing, and receivables when we have an unconditional right to consideration to invoice and receive payment in the future. We present our DAS, multifamily, and wholesale Wi-Fi contracts in our condensed consolidated balance sheet as either a contract asset or a contract liability with any unconditional rights to consideration presented separately as a receivable. Our other customer contracts generally do not have any significant contract asset or contract liability balances. Generally, a significant portion of the billing for our DAS contracts occurs prior to revenue recognition, resulting in our DAS contracts being presented as contract liabilities. In contrast, our wholesale Wi-Fi contracts that contain recurring fees with annual escalations are generally presented as contract assets as revenue is recognized prior to invoicing. Our multifamily contracts can be presented as either contract liabilities or contract assets primarily as a result of timing of invoicing for the network installations.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We recognize an asset for the incremental costs of obtaining a contract with a customer if we expect the benefit of those costs to be longer than one year. We have determined that certain sales incentive programs meet the requirements to be capitalized. Total capitalized costs to obtain a contract were immaterial during the three and six months ended June 30, 2019 and are included in prepaid expenses and other current assets and non-current other assets on our condensed consolidated balance sheets. We apply a practical expedient to expense costs as incurred for costs to obtain a contract with a customer when the amortization period would have been one year or less, the most significant of which relates to sales commissions related to obtaining our advertising customer contracts. Contract costs are evaluated for impairment in accordance with ASC 310, <i style="font-style:italic;">Receivables</i>.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="text-decoration:underline;text-decoration-color:#000000;">DAS</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We enter into long-term contracts with telecom operators at our managed and operated locations. The initial term of our contracts with telecom operators generally range from five to twenty years and the agreements generally contain renewal options. Some of our contracts provide termination for convenience clauses that may or may not include substantive termination penalties. We apply judgment in determining the contract term, the period during which we have present and enforceable rights and obligations. Our DAS customer contracts generally contain a single performance </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">obligation<i style="font-style:italic;">—</i>provide non-exclusive access to our DAS or small cell networks to provide telecom operators’ customers with access to the licensed wireless spectrum, together with providing telecom operators with construction, installation, optimization/engineering, maintenance services and agreed-upon storage space for the telecom operators’ transmission equipment, each related to providing such licensed wireless spectrum to the telecom operators. The performance obligation is considered a series of distinct services as the performance obligation is satisfied over time and the same time-based input method would be used to measure our progress toward complete satisfaction of the performance obligation to transfer each distinct service in the series to the customer. Our contract fee structure generally includes a non-refundable upfront fee and we evaluated whether customer options to renew services give rise to a material right that should be accounted for as a separate performance obligation because of those non-refundable upfront fees. We believe that a material right generally does not exist for our DAS customer contracts that contain renewal options because the telecom operators’ decision to renew is highly dependent upon our ability to maintain our exclusivity as the DAS service provider at the venue location and our limited operating history with venue and customer renewals. The telecom operators will make the decision to incur the capital improvement costs at the venue location irrespective of our remaining exclusivity period with the venue as the telecom operators expect that the assets will continue to be serviced regardless of whether we will remain such exclusive DAS service provider. Our contracts also provide our DAS customers with the option to purchase additional future services such as upgrades or enhancements. This option is not considered to provide the customer with a material right that should be accounted for as a separate performance obligation since the cost of the additional future services depends entirely on the market rate of such services at the time such services are requested and we are not automatically obligated to stand ready to deliver these additional goods or services as the customer may reject our proposal. Periodically, we install and sell DAS networks to customers where we do not have service contracts or remaining obligations beyond the installation of those networks and we recognize build-out fees for such projects as revenue when the installation work is completed, and the network has been accepted by the customer.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Our contract fee structure may include varying components of an upfront build-out fee and recurring access, maintenance, and other fees. The upfront build-out fee is generally structured as a firm-fixed price or cost-plus arrangement and becomes payable as certain contract and/or construction milestones are achieved. Our DAS and small cell networks are neutral-host networks that can accommodate multiple telecom operators. Some of our DAS customer contracts provide for credits that may be issued to existing telecom operators for additional telecom operators subsequently joining the DAS network. The credits are generally based upon a fixed dollar amount per additional telecom operator, a fixed percentage amount of the original build-out fee paid by the telecom operator per additional telecom operator, or a proportionate share based upon the split among the relevant number of telecom operators for the actual costs incurred by all telecom operators to construct the DAS network. In most cases, there is significant uncertainty on whether additional telecom operator contracts will be executed at inception of the contract with the existing telecom operator. We believe that the upfront build-out fee is fixed consideration once the build-out is complete and any subsequent credits that may be issued would be accounted for in a manner similar to a contract modification under the prospective method because (i) the execution of customer contracts with additional telecom carriers is at our sole election and (ii) we would not execute agreements with additional telecom carriers if it would not increase our revenues and gross profits at the venue level. Further, the credits issued to the existing telecom operator changes the transaction price on a go-forward basis, which corresponds with the decline in service levels for the existing telecom operator once the neutral-host DAS network can be accessed by the additional telecom operator. The recurring access, maintenance, and other fees generally escalate on an annual basis. The recurring fees are variable consideration until the contract term and annual escalation dates are fixed. We estimate the variable consideration for our recurring fees using the most likely amount method based on the expected commencement date for the services. We evaluate our estimates of variable consideration each period and record a cumulative catch-up adjustment in the period in which changes occur for the amount allocated to satisfied performance obligations.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We generally recognize revenue related to our single performance obligation for our DAS customer contract monthly over the contract term once the customer may access the DAS network and we commence maintenance on the DAS network.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="text-decoration:underline;text-decoration-color:#000000;">Military and retail</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="text-decoration:underline;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Military and retail customers must review and agree to abide by our standard “Customer Agreement (With Acceptable Use Policy) and End User License Agreement” before they are able to sign up for our subscription or single-use Wi-Fi network access services. Our military and retail customer contracts generally contain a single performance obligation<i style="font-style:italic;">—</i>provide non-exclusive access to Wi-Fi services, together with performance of standard maintenance, customer support, and the Wi-Finder app to facilitate seamless connection to the Company’s Wi-Fi network. The performance obligation is considered a series of distinct services as the performance obligation is satisfied over time and the same time-based input method would be used to measure our progress toward complete satisfaction of the performance obligation to transfer each distinct service in the series to the customer. Our contracts also provide our military and retail subscription customers with the option to renew the agreement when the subscription term is over. We do not consider this option to provide the customer with a material right that should be accounted for as a separate performance obligation because the customer would not receive a discount if it decided to renew and the option to renew is cancellable with 5 days’ notice prior to the end of the then current term by either party.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The contract transaction price is determined based on the subscription or single-use plan selected by the customer. Our military and retail service plans are for fixed price services as described on our website. From time to time, we offer promotional discounts that result in an immediate reduction in the price paid by the customer. Subscription fees from military and retail customers are paid monthly in advance. We provide refunds for our military and retail services on a case-by-case basis. Refunds and credit card chargeback amounts are not significant and are recorded as contra-revenue in the period the refunds are made, or chargebacks are received.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Subscription fee revenue is recognized ratably over the subscription period. Revenue generated from military and retail single-use access is recognized when access is provided, and the performance obligation is satisfied.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="text-decoration:underline;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="text-decoration:underline;text-decoration-color:#000000;">Multifamily</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="text-decoration:underline;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We enter into long-term contracts with property owners. The initial term of our contracts with property owners generally range from three to five years and the contracts may contain renewal options. Some of our contracts provide termination for convenience clauses that may or may not include substantive termination penalties. We apply judgment in determining the contract term, which is the period during which we have present and enforceable rights and obligations. Our customer contracts generally contain two performance obligations: (i) install the network required to provide Wi-Fi services; and (ii) provide Wi-Fi services and technical support to the residents and employees. Our contracts may also provide our property owners with the option to renew the agreement. We do not consider this option to provide the property owner with a material right that should be accounted for as a separate performance obligation because the property owner would not receive a discount if it decided to renew and the option to renew is generally cancellable by either party subject to the notice of non-renewal requirements specified in the contract. Our contracts may also provide our customers with the option to purchase additional future services. We do not consider this option to provide the customer with a material right that should be accounted for as a separate performance obligation since the cost of the additional future services are generally at market rates for such services and we are not automatically obligated to stand ready to deliver these additional goods or services because the customer may reject our proposal.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Our contract fee structure includes a network installation fee and recurring Wi-Fi service and support fees. The network installation fee is generally structured as a firm-fixed price arrangement and becomes payable as certain contract and/or installation milestones are achieved. We generally estimate variable consideration for unpriced change orders using the most likely amount method based on the expected price for those services. If network installations are not completed by specified dates, we may be subject to network installation penalties. We estimate the variable consideration for our network installation fees using the most likely amount method based on the amount of network installation penalties we expect to incur. Title to the network generally transfers to the property owner once installation is completed and the network has been accepted. We generally recognize revenue related to our network installation performance obligation using a cost-to-cost method over the network installation period. We may provide latent defect warranties for materials and installation labor services related to our network installation services. Our warranty obligations are generally not accounted for as separate performance obligations as warranties cannot be separately purchased and warranties do not provide a service in addition to the assurance that the network will function as expected. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The recurring fees commence once the network is launched with recurring fees generally based upon a fixed or variable occupancy rate. The recurring Wi-Fi service fees may be adjusted prospectively for changes in circuit and/or video content costs, and Wi-Fi support fees may escalate on an annual basis. We estimate the variable consideration for our recurring fees using the expected value method with the exception of the variable consideration related to actual occupancy rates, which we record when we have the contractual right to bill. We evaluate our estimates of variable consideration each period and record a cumulative catch-up adjustment in the period in which changes occur for the amount allocated to satisfied performance obligations. We recognize revenue related to the recurring fees on a monthly basis over the contract term as the Wi-Fi services and support is rendered, and the performance obligation is satisfied.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="text-decoration:underline;text-decoration-color:#000000;">Wholesale Wi-Fi</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="text-decoration:underline;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We enter into long-term contracts with enterprise customers such as telecom operators, cable companies, technology companies, and enterprise software/services companies, that pay us usage-based Wi-Fi network access and software licensing fees to allow their customers' access to our footprint worldwide. We also enter into long-term contracts with financial institutions and other enterprise customers who provide access to our Wi-Fi footprint as a value-added service for their customers. The initial term of our contracts with wholesale Wi-Fi customers generally range from one to three years and the agreements generally contain renewal options. Some of our contracts provide termination for convenience clauses that may or may not include substantive termination penalties. We apply judgment in determining the contract term, the period during which we have present and enforceable rights and obligations. Our wholesale Wi-Fi customer contracts generally contain a single performance obligation<i style="font-style:italic;">-</i>provide non-exclusive rights to access our Wi-Fi networks to provide wholesale Wi-Fi customers' end customers with access to the high-speed broadband network that may be bundled together with integration services, support services, and/or performance of standard maintenance. The performance obligation is considered a series of distinct services as the performance obligation is satisfied over time and the same time-based input method or usage-based output method would be used to measure our progress toward complete satisfaction of the performance obligation to transfer each distinct service in the series to the customer. Our contracts may also provide our enterprise customers with the option to renew the agreement. This option is not considered to provide the customer with a material right that should be accounted for as a separate performance obligation because the customer would not receive a discount if it decided to renew and the option to renew is generally cancellable by either party subject to the notice of non-renewal requirements specified in the contract. Our contracts may also provide our wholesale Wi-Fi customers with the option to purchase additional future services. We do not consider this option to provide the customer with a material right that should be accounted for as a separate performance obligation since the cost of the additional future services are generally at market rates for such services and we are not automatically obligated to stand ready to deliver these additional goods or services because the customer may reject our proposal. Periodically, we install and sell Wi-Fi networks to customers where we do not have service contracts or remaining obligations beyond the installation of those networks and we recognize build-out fees for such projects as revenue when the installation work is completed, and the network has been accepted by the customer.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Our contract fee structure may include varying components of a minimum fee and usage-based fees. Minimum fees represent fixed price consideration while usage-based fees represent variable consideration. With respect to variable consideration, our commitment to our wholesale Wi-Fi customers consists of providing continuous access to the network. It is therefore a single performance obligation to stand ready to perform and we allocate the variable fees charged for usage when we have the contractual right to bill. The variable component of revenue is recognized based on the actual usage during the period.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Wholesale Wi-Fi revenue is recognized as it is earned over the relevant contract term with variable consideration recognized when we have the contractual right to bill.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="text-decoration:underline;text-decoration-color:#000000;">Advertising</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="text-decoration:underline;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We generally enter into short-term cancellable insertion orders with our advertising customers for advertising campaigns that are served at our managed and operated locations and other locations where we solely provide authorized access to a partner’s Wi-Fi network through sponsored and promotional programs. Our sponsorship advertising arrangements are generally priced under a cost per engagement structure, which is a set price per click or engagement, or </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">a cost per install structure for third party application downloads. Our display advertising arrangements are priced based on cost per thousand impressions. Insertion orders may also include bonus items. Our advertising customer contracts may contain multiple performance obligations with each distinct service. These distinct services may include an advertisement video or banner impressions in the contract bundled with the requirement to provide network, space on the website, and integration of customer advertisement onto the website, and each is generally considered to be its own performance obligation. The performance obligations are considered a series of distinct services as the performance obligations are satisfied over time and the same action-based output method would be used to measure our progress toward complete satisfaction of the performance obligation to transfer each distinct service in the series to the customer.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The contract transaction price is comprised of variable consideration based on the stated rates applied against the number of units delivered inclusive of the bonus units subject to the maximums provided for in the insertion order. It is customary for us to provide additional units over and above the amounts contractually required; however, there are a number of factors that can also negatively impact our ability to deliver the units required by the customer such as service outages at the venue resulting from power or circuit failures and customer cancellation of the remaining undelivered units under the insertion order due to campaign performance or budgetary constraints. Typically, the advertising campaign periods are short in duration. We therefore use the contractual rates per the insertion orders and actual units delivered to determine the transaction price each period end. The transaction price is allocated to each performance obligation based on the standalone selling price of each performance obligation.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Advertising revenue is recognized ratably over the service period based on actual units delivered subject to the maximums provided for in the insertion order.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><b style="font-weight:bold;">Leases</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We determine if an arrangement is a lease at inception. Operating leases are included in operating lease right-of-use assets, current portion of operating and finance leases, and long-term portion of operating and finance leases in our condensed consolidated balance sheets. Finance leases are included in property and equipment, net, current portion of operating and finance leases, and long-term portion of operating and finance leases in our condensed consolidated balance sheets.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Operating and finance lease ROU assets and ROU liabilities are recognized based on the present value of the future minimum lease payments over the lease term at the commencement date. As most of our leases do not provide an implicit rate, we use our incremental borrowing rate based on the information available at the commencement date in determining the present value of future payments. The ROU asset also includes any lease payments made and excludes lease incentives and initial direct costs incurred. Our lease terms may include options to extend or terminate the lease when it is reasonably certain that we will exercise that option. Lease expense for minimum lease payments is recognized on a straight-line basis over the lease term. We have lease agreements with lease and non-lease components, which are accounted for separately for the asset classes maintained. We exclude short-term leases with a lease term of 12 months or less at the commencement date from our condensed consolidated balance sheets.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><b style="font-weight:bold;">Income taxes</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We calculate our interim income tax provision in accordance with ASC 270, <i style="font-style:italic;">Interim Reporting</i>, and ASC 740, <i style="font-style:italic;">Accounting for Income Taxes</i>. At the end of each interim period, we estimate the annual effective tax rate and apply that rate to our ordinary quarterly earnings. The tax expense or benefit related to significant, unusual, or extraordinary items is recognized in the interim period in which those items occur. In addition, the effect of changes in enacted tax laws, rates, or tax status is recognized in the interim period in which the change occurs. Excess windfall tax benefits and tax deficiencies related to our stock option exercises and restricted stock unit (“RSU”) vesting are recognized as an income tax benefit or expense in our condensed consolidated statements of operations in the period they are deducted on the income tax return. Excess windfall tax benefits and tax deficiencies are therefore not anticipated when determining the annual effective tax rate and are instead recognized in the interim period in which those items occur.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The computation of the annual estimated effective tax rate at each interim period requires certain estimates and significant judgment, including the expected operating income (loss) for the year, projections of the proportion of income </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">(loss) earned and taxed in various states, permanent and temporary differences as a result of differences between amounts measured and recognized in accordance with tax laws and financial accounting standards, and the likelihood of recovering deferred tax assets generated in the current year. The accounting estimates used to compute the provision for income taxes may change as new events occur, additional information is obtained, or as the tax environment changes.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">As of June 30, 2019, we had an immaterial amount of unremitted earnings in our subsidiaries located outside of the U.S. for which state taxes have not been paid. Our intention is to indefinitely reinvest these earnings outside the U.S. If we were to remit our foreign earnings, we would be subject to state income taxes or withholding taxes imposed on actual distributions, or currency transaction gains (losses) that would result in taxation upon remittance. However, the amounts of any such tax liabilities resulting from the repatriation of foreign earnings are not material.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><b style="font-weight:bold;">Foreign currency translation</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Our Brazilian subsidiary uses the Brazilian Real as its functional currency. Assets and liabilities of our Brazilian subsidiary are translated to U.S. dollars at period-end rates of exchange, and revenues and expenses are translated at average exchange rates prevailing for each month. The resulting translation adjustments are made directly to a separate component of other comprehensive loss, which is reflected in stockholders’ equity in our condensed consolidated balance sheets. As of June 30, 2019 and December 31, 2018, the Company had $(1,257) and $(1,295), respectively, of cumulative foreign currency translation adjustments, net of tax, which was $0 as of June 30, 2019 and December 31, 2018 due to the full valuation allowance established against our deferred tax assets, in accumulated other comprehensive loss.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The functional currency for our other foreign subsidiaries is the U.S. dollar. Gains and losses from the revaluation of foreign currency transactions and monetary assets and liabilities are included in the condensed consolidated statements of operations.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><b style="font-weight:bold;">Use of estimates</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The preparation of accompanying condensed consolidated financial statements in conformity with GAAP requires us to make estimates and assumptions that affect the reported amounts of assets and liabilities and the disclosure of contingent assets and liabilities at the dates of the accompanying condensed consolidated financial statements, and the reported amounts of revenue and expenses during the reporting period. Actual results could differ from those estimates. Assets and liabilities which are subject to significant judgment and the use of estimates include the allowance for doubtful accounts, recoverability of goodwill and long-lived assets, valuation allowances with respect to deferred tax assets, useful lives associated with property and equipment, valuation of ROU assets and ROU liabilities, valuation and useful lives of intangible assets, valuation of contingent consideration, contract assets and contract liabilities including estimates of variable consideration, and the valuation and assumptions underlying stock-based compensation and other equity instruments. On an ongoing basis, we evaluate our estimates compared to historical experience and trends, which form the basis for making judgments about the carrying value of assets and liabilities.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><b style="font-weight:bold;">Fair value of financial instruments</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Fair value is defined as 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, we consider the principal or most advantageous market in which it would transact, and we consider assumptions that market participants would use when pricing the asset or liability.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The accounting guidance for fair value measurement also requires an entity to maximize the use of observable inputs and minimize the use of unobservable inputs when measuring fair value. The standard establishes a fair value hierarchy based on the level of independent, objective evidence surrounding the inputs used to measure 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. The fair value hierarchy is as follows:</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 0pt 36pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:36pt;"/><td style="font-family:'Times New Roman';font-size:10pt;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';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Level 1—Unadjusted quoted prices in active markets that are accessible at the measurement date for identical, unrestricted assets or liabilities.</span></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 0pt 18pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:36pt;"/><td style="font-family:'Times New Roman';font-size:10pt;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';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Level 2—Quoted prices for identical assets and liabilities in markets that are not active, quoted prices for similar assets and liabilities in active markets or financial instruments for which significant inputs are observable, either directly or indirectly.</span></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 0pt 18pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:36pt;"/><td style="font-family:'Times New Roman';font-size:10pt;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';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Level 3—Unobservable inputs that are supported by little or no market activity and that are significant to the fair value of the assets or liabilities.</span></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The carrying amount reflected in the accompanying condensed consolidated balance sheets for cash and cash equivalents, accounts receivable, prepaid expenses and other current assets, other assets, accounts payable, accrued expenses and other liabilities, and deferred revenue approximates fair value due to the short duration and nature of these financial instruments.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><b style="font-weight:bold;">Recent accounting pronouncements</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">In August 2018, the FASB issued ASU 2018-15, <i style="font-style:italic;">Intangibles—Goodwill and Other—Internal-Use Software (Subtopic 350-40): Customer’s Accounting for Implementation Costs Incurred in a Cloud Computing Arrangement That Is a Service Contract</i>, which requires customers to apply the same criteria for capitalizing implementation costs incurred in a cloud computing arrangement that is hosted by the vendor as they would for an arrangement that has a software license. The standard is effective for interim and annual periods beginning after December 15, 2019 and early adoption is permitted. The standard can be adopted prospectively or retrospectively. We are currently evaluating the expected impact of this new standard.</p> <p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><b style="font-weight:bold;">Basis of presentation</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The accompanying interim condensed consolidated financial statements and related notes for the three and six months ended June 30, 2019 and 2018 are unaudited. The unaudited interim condensed consolidated financial information has been prepared in accordance with the rules and regulations of the SEC for interim financial information. Accordingly, they do not include all information and footnotes required by generally accepted accounting principles (“GAAP”) in the United States of America (“U.S.”) for complete financial statements. These financial statements should be read in conjunction with the audited consolidated financial statements and the accompanying notes for the year ended December 31, 2018 contained in our annual report on Form 10-K filed with the SEC on March 1, 2019. The unaudited interim condensed consolidated financial statements have been prepared on the same basis as the annual consolidated financial statements and in the opinion of management, reflect all adjustments, consisting of normal recurring adjustments, necessary for a fair statement of our results of operations for the three and six months ended June 30, 2019 and 2018, our cash flows for the six months ended June 30, 2019 and 2018, and our financial position as of June 30, 2019. The year-end balance sheet data was derived from audited consolidated financial statements but does not include all disclosures required by GAAP. Interim results are not necessarily indicative of the results to be expected for an entire year or any other future year or interim period.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">In June 2018, the Financial Accounting Standards Board (“FASB”) issued Accounting Standards Update (“ASU”) 2018-07, <i style="font-style:italic;">Improvements to Nonemployee Share-Based Payment Accounting</i>, which eliminates the separate accounting model for nonemployee share-based payment awards and generally requires companies to account for share-based payment transactions with nonemployees in the same way as share-based payment transactions with employees. The accounting remains different for attribution, which represents how the equity-based payment cost is recognized over the vesting period, and a contractual term election for valuing nonemployee equity share options. The standard is effective for interim and annual periods beginning after December 15, 2018. We adopted ASU 2018-07 on January 1, 2019 and the adoption of this standard did not have a material impact on our condensed consolidated financial statements.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">In February 2016, the FASB issued a new standard related to leases, which was codified into Accounting Standards Codification (“ASC”) 842, <i style="font-style:italic;">Leases</i>. ASC 842 requires lessees to recognize assets and liabilities for all leases with lease terms of more than 12 months on the balance sheet. Under ASC 842, the recognition, measurement, and presentation of expenses and cash flows arising from a lease by a lessee will depend on its classification as a finance or operating lease. On January 1, 2019, we adopted ASC 842 using the modified retrospective transition approach. ASC </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">842 permits two methods of adoption and we elected to apply the guidance to each lease that had commenced as of January 1, 2019 with a cumulative-effect adjustment to the opening balance of retained earnings as of that date. ASC 842 permits various optional transition practical expedients. The discount rate used to calculate the present value of the future payments was determined as of January 1, 2019 for existing lease contracts and was generally based on our incremental borrowing rate as of January 1, 2019 commensurate with the remaining lease term. We also elected the package of practical expedients which included the following: (i) an entity need not reassess whether any expired or existing contracts are or contain leases; (ii) an entity need not reassess the lease classification for any expired or existing leases; and (iii) an entity need not reassess initial direct costs for any existing leases. The standard had a material impact on our condensed consolidated balance sheet but did not have an impact on our condensed consolidated statement of operations and our condensed consolidated statement of cash flows. The most significant impact was the recognition of right-of-use (“ROU”) assets and liabilities related to our operating leases, while our accounting for finance leases remained substantially unchanged. Adoption of the new standard resulted in the recording of $16,916 of operating lease ROU assets and $22,338 of operating lease ROU liabilities as of January 1, 2019.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 16916000 22338000 <p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><b style="font-weight:bold;">Principles of consolidation</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The unaudited condensed consolidated financial statements include our accounts and the accounts of our majority owned subsidiaries. We consolidate our 70% ownership of Chicago Concourse Development Group, LLC and our 75% ownership of Boingo Holding Participacoes Ltda. in accordance with ASC 810, <i style="font-style:italic;">Consolidation</i>. Other parties’ interests in consolidated entities are reported as non-controlling interests. All intercompany balances and transactions have been eliminated in consolidation.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 0.70 0.75 <p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><b style="font-weight:bold;">Marketable securities</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Our marketable securities consist of available-for-sale securities with original maturities exceeding three months. According to ASC 320, <i style="font-style:italic;">Investments—Debt and Equity Securities</i>, we have classified securities, which have readily determinable fair values and are highly liquid, as short-term because such securities are expected to be realized within a one-year period. At June 30, 2019, we had $42,799 in marketable securities. We had no marketable securities at December 31, 2018.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Marketable securities are reported at fair value with the related unrealized gains and losses reported as other comprehensive income (loss) until realized or until a determination is made that an other-than-temporary decline in market value has occurred. No significant unrealized gains and losses have been reported during the periods presented. Factors considered by us in assessing whether an other-than-temporary impairment has occurred include the nature of the investment, whether the decline in fair value is attributable to specific adverse conditions affecting the investment, the financial condition of the investee, the severity and the duration of the impairment and whether we have the ability to hold the investment to maturity. When it is determined that an other-than-temporary impairment has occurred, the investment is written down to its market value at the end of the period in which it is determined that an other-than-temporary decline has occurred. The cost of marketable securities sold is based upon the specific identification method. Any realized gains or losses on the sale of investments are reflected as a component of interest and other expense, net.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">For the three and six months ended June 30, 2019, we had no significant realized or unrealized gains or losses from investments in marketable securities classified as available-for-sale. As of June 30, 2019, we had $45 of cumulative unrealized gains, net of tax, which was $0 as of June 30, 2019 due to the full valuation allowance established against our deferred tax assets, in accumulated other comprehensive loss.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 42799000 0 45000 0 <p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><b style="font-weight:bold;">Segment and geographic information</b></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We operate as one reportable segment; a service provider of wireless connectivity solutions across our managed and operated network and aggregated network for mobile devices such as laptops, smartphones, tablets and other wireless-enabled consumer devices. This single segment is consistent with the internal organization structure and the manner in which operations are reviewed and managed by our Chief Executive Officer, the chief operating decision maker.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">All significant long-lived tangible assets are held in the United States of America. We do not disclose sales by geographic area because to do so would be impracticable.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The following is a summary of our revenue disaggregated by product offerings:</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">                                                                                                                                                                              </p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:50.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';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:8.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:9.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:9.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:50.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:21.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:24.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:50.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:21.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:24.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:50.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:50.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Revenue:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:50.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">DAS</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27,622</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,885</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 51,717</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,530</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:50.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Military/multifamily</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,396</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,735</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50,293</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32,589</p></td></tr><tr><td style="vertical-align:bottom;width:50.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Wholesale—Wi-Fi</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,718</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,530</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,738</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,679</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:50.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Retail</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,847</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,566</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,773</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,876</p></td></tr><tr><td style="vertical-align:bottom;width:50.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Advertising and other </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,971</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,885</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,506</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,086</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:50.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total revenue </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 68,554</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59,601</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 135,027</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 117,760</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 1 <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">                                                                                                                                                                              </p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:50.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';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:8.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:9.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:9.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:50.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:21.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:24.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:50.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:21.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:24.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:50.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:50.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Revenue:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:50.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">DAS</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27,622</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,885</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 51,717</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,530</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:50.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Military/multifamily</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,396</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,735</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50,293</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32,589</p></td></tr><tr><td style="vertical-align:bottom;width:50.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Wholesale—Wi-Fi</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,718</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,530</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,738</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,679</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:50.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Retail</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,847</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,566</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,773</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,876</p></td></tr><tr><td style="vertical-align:bottom;width:50.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Advertising and other </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,971</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,885</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,506</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,086</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:50.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total revenue </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 68,554</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59,601</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 135,027</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 117,760</p></td></tr></table> 27622000 21885000 51717000 45530000 24396000 16735000 50293000 32589000 10718000 13530000 21738000 24679000 3847000 4566000 7773000 9876000 1971000 2885000 3506000 5086000 68554000 59601000 135027000 117760000 <p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><b style="font-weight:bold;">Revenue recognition</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We generate revenue from several sources including: (i) DAS customers that are telecom operators under long-term contracts for access to our DAS at our managed and operated locations, (ii) military and retail customers under subscription plans for month-to-month network access that automatically renew, and military and retail single-use access from sales of hourly, daily or other single-use access plans, (iii) arrangements with property owners for multifamily properties that provide for network installation and monthly Wi-Fi services and support for residents and employees, (iv) arrangements with wholesale Wi-Fi customers that provide software licensing, network access, and/or professional services fees, and (v) display advertisements and sponsorships on our walled garden sign-in pages. Software licensed by our wholesale platform services customers can only be used during the term of the service arrangements and has no utility to them upon termination of the service arrangement.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Revenues are recognized when a contract with a customer exists and control of the promised goods or services is transferred to our customers, in an amount that reflects the consideration we expect to be entitled to in exchange for those goods or services and the identified performance obligation has been satisfied. Contracts entered into at or near the same time with the same customer are combined and accounted for as a single contract if the contracts have a single commercial objective, the amount of consideration is dependent on the price or performance of the other contract, or the services promised in the contracts are a single performance obligation. Contract amendments are routine in the performance of our DAS, wholesale Wi-Fi, and advertising contracts. Contracts are often amended to account for changes in contract specifications or requirements or expand network access services. In most instances, our DAS and wholesale Wi-Fi contract amendments are for additional goods or services that are distinct, and the contract price increases by an amount that reflects the standalone selling price of the additional goods or services; therefore, such contract amendments are accounted for as separate contracts. Contract amendments for our advertising contracts are also generally for additional goods or services that are distinct; however, the contract price does not increase by an amount that reflects the standalone selling price of the additional goods or services. Advertising contract amendments are therefore generally accounted for as contract modifications under the prospective method. Contract amendments to transaction prices with no change in remaining services are accounted for as contract modifications under the cumulative catch-up method.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">A performance obligation is a promise in a contract to transfer a distinct good or service to the customer and is the unit of account in ASC 606, <i style="font-style:italic;">Revenue from Contracts with Customers</i>. A contract’s transaction price is allocated to each distinct performance obligation and is recognized as revenue when, or as, the performance obligation is satisfied, which typically occurs when the services are rendered. Determining whether products and services are considered distinct performance obligations that should be accounted for separately versus together may require significant judgment. Our contracts with customers may include multiple performance obligations. For such arrangements, we allocate revenue to each performance obligation based on its relative standalone selling price. We generally determine standalone selling prices based on the prices charged to customers. Judgment may be used to determine the standalone selling prices for items that are not sold separately, including services provided at no additional charge. Most of our performance obligations are satisfied over time as services are provided. We generally recognize revenue on a gross </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">basis as we are primarily responsible for fulfilling the promises to provide the specified goods or services, we are responsible for paying all costs related to the goods or services before they have been transferred to the customer, and we have discretion in establishing prices for the specified goods or services. Revenue is presented net of any sales and value added taxes.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Payment terms vary on a contract-by-contract basis, although terms generally require payment within 30 to 60 days for non-recurring payments, the first day of the monthly or quarterly billing cycle for recurring payments for DAS and wholesale Wi-Fi contracts, and the first day of the month prior to the month that services are provided for multifamily contracts. We apply a practical expedient for purposes of determining whether a significant financing component may exist for our contracts if, at contract inception, we expect that the period between when we transfer the promised good or service to the customer and when the customer pays for that good or service will be one year or less. In instances where the customer pays for a good or service one year or more in advance of the period when we transfer the promised good or service to the customer, we have determined our contracts generally do not include a significant financing component. The primary purpose of our invoicing terms is not to receive financing from our customers or to provide customers with financing but rather to maximize our profitability on the customer contract. Specifically, inclusion of non-refundable upfront fees in our long-term customer contracts increases the likelihood that the customer will be committed through the end of the contractual term and ensures recoverability of the capital outlay that we incur in expectation of the customer fulfilling its contractual obligations. We may also provide service credits to our customers if we fail to meet contractual monthly system uptime requirements and we account for the variable consideration related to these service credits using the most likely amount method.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">For contracts that include variable consideration, we estimate the amount of consideration at contract inception under the expected value method or the most likely amount method and include the amount of variable consideration that is not considered to be constrained. Significant judgment is used in constraining estimates of variable consideration. We update our estimates at the end of each reporting period as additional information becomes available.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Timing of revenue recognition may differ from the timing of invoicing to customers. We record unbilled receivables (contract assets) when revenue is recognized prior to invoicing, deferred revenue (contract liabilities) when revenue is recognized after invoicing, and receivables when we have an unconditional right to consideration to invoice and receive payment in the future. We present our DAS, multifamily, and wholesale Wi-Fi contracts in our condensed consolidated balance sheet as either a contract asset or a contract liability with any unconditional rights to consideration presented separately as a receivable. Our other customer contracts generally do not have any significant contract asset or contract liability balances. Generally, a significant portion of the billing for our DAS contracts occurs prior to revenue recognition, resulting in our DAS contracts being presented as contract liabilities. In contrast, our wholesale Wi-Fi contracts that contain recurring fees with annual escalations are generally presented as contract assets as revenue is recognized prior to invoicing. Our multifamily contracts can be presented as either contract liabilities or contract assets primarily as a result of timing of invoicing for the network installations.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We recognize an asset for the incremental costs of obtaining a contract with a customer if we expect the benefit of those costs to be longer than one year. We have determined that certain sales incentive programs meet the requirements to be capitalized. Total capitalized costs to obtain a contract were immaterial during the three and six months ended June 30, 2019 and are included in prepaid expenses and other current assets and non-current other assets on our condensed consolidated balance sheets. We apply a practical expedient to expense costs as incurred for costs to obtain a contract with a customer when the amortization period would have been one year or less, the most significant of which relates to sales commissions related to obtaining our advertising customer contracts. Contract costs are evaluated for impairment in accordance with ASC 310, <i style="font-style:italic;">Receivables</i>.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="text-decoration:underline;text-decoration-color:#000000;">DAS</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We enter into long-term contracts with telecom operators at our managed and operated locations. The initial term of our contracts with telecom operators generally range from five to twenty years and the agreements generally contain renewal options. Some of our contracts provide termination for convenience clauses that may or may not include substantive termination penalties. We apply judgment in determining the contract term, the period during which we have present and enforceable rights and obligations. Our DAS customer contracts generally contain a single performance </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">obligation<i style="font-style:italic;">—</i>provide non-exclusive access to our DAS or small cell networks to provide telecom operators’ customers with access to the licensed wireless spectrum, together with providing telecom operators with construction, installation, optimization/engineering, maintenance services and agreed-upon storage space for the telecom operators’ transmission equipment, each related to providing such licensed wireless spectrum to the telecom operators. The performance obligation is considered a series of distinct services as the performance obligation is satisfied over time and the same time-based input method would be used to measure our progress toward complete satisfaction of the performance obligation to transfer each distinct service in the series to the customer. Our contract fee structure generally includes a non-refundable upfront fee and we evaluated whether customer options to renew services give rise to a material right that should be accounted for as a separate performance obligation because of those non-refundable upfront fees. We believe that a material right generally does not exist for our DAS customer contracts that contain renewal options because the telecom operators’ decision to renew is highly dependent upon our ability to maintain our exclusivity as the DAS service provider at the venue location and our limited operating history with venue and customer renewals. The telecom operators will make the decision to incur the capital improvement costs at the venue location irrespective of our remaining exclusivity period with the venue as the telecom operators expect that the assets will continue to be serviced regardless of whether we will remain such exclusive DAS service provider. Our contracts also provide our DAS customers with the option to purchase additional future services such as upgrades or enhancements. This option is not considered to provide the customer with a material right that should be accounted for as a separate performance obligation since the cost of the additional future services depends entirely on the market rate of such services at the time such services are requested and we are not automatically obligated to stand ready to deliver these additional goods or services as the customer may reject our proposal. Periodically, we install and sell DAS networks to customers where we do not have service contracts or remaining obligations beyond the installation of those networks and we recognize build-out fees for such projects as revenue when the installation work is completed, and the network has been accepted by the customer.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Our contract fee structure may include varying components of an upfront build-out fee and recurring access, maintenance, and other fees. The upfront build-out fee is generally structured as a firm-fixed price or cost-plus arrangement and becomes payable as certain contract and/or construction milestones are achieved. Our DAS and small cell networks are neutral-host networks that can accommodate multiple telecom operators. Some of our DAS customer contracts provide for credits that may be issued to existing telecom operators for additional telecom operators subsequently joining the DAS network. The credits are generally based upon a fixed dollar amount per additional telecom operator, a fixed percentage amount of the original build-out fee paid by the telecom operator per additional telecom operator, or a proportionate share based upon the split among the relevant number of telecom operators for the actual costs incurred by all telecom operators to construct the DAS network. In most cases, there is significant uncertainty on whether additional telecom operator contracts will be executed at inception of the contract with the existing telecom operator. We believe that the upfront build-out fee is fixed consideration once the build-out is complete and any subsequent credits that may be issued would be accounted for in a manner similar to a contract modification under the prospective method because (i) the execution of customer contracts with additional telecom carriers is at our sole election and (ii) we would not execute agreements with additional telecom carriers if it would not increase our revenues and gross profits at the venue level. Further, the credits issued to the existing telecom operator changes the transaction price on a go-forward basis, which corresponds with the decline in service levels for the existing telecom operator once the neutral-host DAS network can be accessed by the additional telecom operator. The recurring access, maintenance, and other fees generally escalate on an annual basis. The recurring fees are variable consideration until the contract term and annual escalation dates are fixed. We estimate the variable consideration for our recurring fees using the most likely amount method based on the expected commencement date for the services. We evaluate our estimates of variable consideration each period and record a cumulative catch-up adjustment in the period in which changes occur for the amount allocated to satisfied performance obligations.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We generally recognize revenue related to our single performance obligation for our DAS customer contract monthly over the contract term once the customer may access the DAS network and we commence maintenance on the DAS network.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="text-decoration:underline;text-decoration-color:#000000;">Military and retail</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="text-decoration:underline;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Military and retail customers must review and agree to abide by our standard “Customer Agreement (With Acceptable Use Policy) and End User License Agreement” before they are able to sign up for our subscription or single-use Wi-Fi network access services. Our military and retail customer contracts generally contain a single performance obligation<i style="font-style:italic;">—</i>provide non-exclusive access to Wi-Fi services, together with performance of standard maintenance, customer support, and the Wi-Finder app to facilitate seamless connection to the Company’s Wi-Fi network. The performance obligation is considered a series of distinct services as the performance obligation is satisfied over time and the same time-based input method would be used to measure our progress toward complete satisfaction of the performance obligation to transfer each distinct service in the series to the customer. Our contracts also provide our military and retail subscription customers with the option to renew the agreement when the subscription term is over. We do not consider this option to provide the customer with a material right that should be accounted for as a separate performance obligation because the customer would not receive a discount if it decided to renew and the option to renew is cancellable with 5 days’ notice prior to the end of the then current term by either party.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The contract transaction price is determined based on the subscription or single-use plan selected by the customer. Our military and retail service plans are for fixed price services as described on our website. From time to time, we offer promotional discounts that result in an immediate reduction in the price paid by the customer. Subscription fees from military and retail customers are paid monthly in advance. We provide refunds for our military and retail services on a case-by-case basis. Refunds and credit card chargeback amounts are not significant and are recorded as contra-revenue in the period the refunds are made, or chargebacks are received.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Subscription fee revenue is recognized ratably over the subscription period. Revenue generated from military and retail single-use access is recognized when access is provided, and the performance obligation is satisfied.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="text-decoration:underline;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="text-decoration:underline;text-decoration-color:#000000;">Multifamily</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="text-decoration:underline;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We enter into long-term contracts with property owners. The initial term of our contracts with property owners generally range from three to five years and the contracts may contain renewal options. Some of our contracts provide termination for convenience clauses that may or may not include substantive termination penalties. We apply judgment in determining the contract term, which is the period during which we have present and enforceable rights and obligations. Our customer contracts generally contain two performance obligations: (i) install the network required to provide Wi-Fi services; and (ii) provide Wi-Fi services and technical support to the residents and employees. Our contracts may also provide our property owners with the option to renew the agreement. We do not consider this option to provide the property owner with a material right that should be accounted for as a separate performance obligation because the property owner would not receive a discount if it decided to renew and the option to renew is generally cancellable by either party subject to the notice of non-renewal requirements specified in the contract. Our contracts may also provide our customers with the option to purchase additional future services. We do not consider this option to provide the customer with a material right that should be accounted for as a separate performance obligation since the cost of the additional future services are generally at market rates for such services and we are not automatically obligated to stand ready to deliver these additional goods or services because the customer may reject our proposal.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Our contract fee structure includes a network installation fee and recurring Wi-Fi service and support fees. The network installation fee is generally structured as a firm-fixed price arrangement and becomes payable as certain contract and/or installation milestones are achieved. We generally estimate variable consideration for unpriced change orders using the most likely amount method based on the expected price for those services. If network installations are not completed by specified dates, we may be subject to network installation penalties. We estimate the variable consideration for our network installation fees using the most likely amount method based on the amount of network installation penalties we expect to incur. Title to the network generally transfers to the property owner once installation is completed and the network has been accepted. We generally recognize revenue related to our network installation performance obligation using a cost-to-cost method over the network installation period. We may provide latent defect warranties for materials and installation labor services related to our network installation services. Our warranty obligations are generally not accounted for as separate performance obligations as warranties cannot be separately purchased and warranties do not provide a service in addition to the assurance that the network will function as expected. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The recurring fees commence once the network is launched with recurring fees generally based upon a fixed or variable occupancy rate. The recurring Wi-Fi service fees may be adjusted prospectively for changes in circuit and/or video content costs, and Wi-Fi support fees may escalate on an annual basis. We estimate the variable consideration for our recurring fees using the expected value method with the exception of the variable consideration related to actual occupancy rates, which we record when we have the contractual right to bill. We evaluate our estimates of variable consideration each period and record a cumulative catch-up adjustment in the period in which changes occur for the amount allocated to satisfied performance obligations. We recognize revenue related to the recurring fees on a monthly basis over the contract term as the Wi-Fi services and support is rendered, and the performance obligation is satisfied.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="text-decoration:underline;text-decoration-color:#000000;">Wholesale Wi-Fi</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="text-decoration:underline;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We enter into long-term contracts with enterprise customers such as telecom operators, cable companies, technology companies, and enterprise software/services companies, that pay us usage-based Wi-Fi network access and software licensing fees to allow their customers' access to our footprint worldwide. We also enter into long-term contracts with financial institutions and other enterprise customers who provide access to our Wi-Fi footprint as a value-added service for their customers. The initial term of our contracts with wholesale Wi-Fi customers generally range from one to three years and the agreements generally contain renewal options. Some of our contracts provide termination for convenience clauses that may or may not include substantive termination penalties. We apply judgment in determining the contract term, the period during which we have present and enforceable rights and obligations. Our wholesale Wi-Fi customer contracts generally contain a single performance obligation<i style="font-style:italic;">-</i>provide non-exclusive rights to access our Wi-Fi networks to provide wholesale Wi-Fi customers' end customers with access to the high-speed broadband network that may be bundled together with integration services, support services, and/or performance of standard maintenance. The performance obligation is considered a series of distinct services as the performance obligation is satisfied over time and the same time-based input method or usage-based output method would be used to measure our progress toward complete satisfaction of the performance obligation to transfer each distinct service in the series to the customer. Our contracts may also provide our enterprise customers with the option to renew the agreement. This option is not considered to provide the customer with a material right that should be accounted for as a separate performance obligation because the customer would not receive a discount if it decided to renew and the option to renew is generally cancellable by either party subject to the notice of non-renewal requirements specified in the contract. Our contracts may also provide our wholesale Wi-Fi customers with the option to purchase additional future services. We do not consider this option to provide the customer with a material right that should be accounted for as a separate performance obligation since the cost of the additional future services are generally at market rates for such services and we are not automatically obligated to stand ready to deliver these additional goods or services because the customer may reject our proposal. Periodically, we install and sell Wi-Fi networks to customers where we do not have service contracts or remaining obligations beyond the installation of those networks and we recognize build-out fees for such projects as revenue when the installation work is completed, and the network has been accepted by the customer.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Our contract fee structure may include varying components of a minimum fee and usage-based fees. Minimum fees represent fixed price consideration while usage-based fees represent variable consideration. With respect to variable consideration, our commitment to our wholesale Wi-Fi customers consists of providing continuous access to the network. It is therefore a single performance obligation to stand ready to perform and we allocate the variable fees charged for usage when we have the contractual right to bill. The variable component of revenue is recognized based on the actual usage during the period.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Wholesale Wi-Fi revenue is recognized as it is earned over the relevant contract term with variable consideration recognized when we have the contractual right to bill.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="text-decoration:underline;text-decoration-color:#000000;">Advertising</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="text-decoration:underline;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We generally enter into short-term cancellable insertion orders with our advertising customers for advertising campaigns that are served at our managed and operated locations and other locations where we solely provide authorized access to a partner’s Wi-Fi network through sponsored and promotional programs. Our sponsorship advertising arrangements are generally priced under a cost per engagement structure, which is a set price per click or engagement, or </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">a cost per install structure for third party application downloads. Our display advertising arrangements are priced based on cost per thousand impressions. Insertion orders may also include bonus items. Our advertising customer contracts may contain multiple performance obligations with each distinct service. These distinct services may include an advertisement video or banner impressions in the contract bundled with the requirement to provide network, space on the website, and integration of customer advertisement onto the website, and each is generally considered to be its own performance obligation. The performance obligations are considered a series of distinct services as the performance obligations are satisfied over time and the same action-based output method would be used to measure our progress toward complete satisfaction of the performance obligation to transfer each distinct service in the series to the customer.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The contract transaction price is comprised of variable consideration based on the stated rates applied against the number of units delivered inclusive of the bonus units subject to the maximums provided for in the insertion order. It is customary for us to provide additional units over and above the amounts contractually required; however, there are a number of factors that can also negatively impact our ability to deliver the units required by the customer such as service outages at the venue resulting from power or circuit failures and customer cancellation of the remaining undelivered units under the insertion order due to campaign performance or budgetary constraints. Typically, the advertising campaign periods are short in duration. We therefore use the contractual rates per the insertion orders and actual units delivered to determine the transaction price each period end. The transaction price is allocated to each performance obligation based on the standalone selling price of each performance obligation.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Advertising revenue is recognized ratably over the service period based on actual units delivered subject to the maximums provided for in the insertion order.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> P60D P20Y P5D P5Y 2 P3Y <p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><b style="font-weight:bold;">Leases</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We determine if an arrangement is a lease at inception. Operating leases are included in operating lease right-of-use assets, current portion of operating and finance leases, and long-term portion of operating and finance leases in our condensed consolidated balance sheets. Finance leases are included in property and equipment, net, current portion of operating and finance leases, and long-term portion of operating and finance leases in our condensed consolidated balance sheets.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Operating and finance lease ROU assets and ROU liabilities are recognized based on the present value of the future minimum lease payments over the lease term at the commencement date. As most of our leases do not provide an implicit rate, we use our incremental borrowing rate based on the information available at the commencement date in determining the present value of future payments. The ROU asset also includes any lease payments made and excludes lease incentives and initial direct costs incurred. Our lease terms may include options to extend or terminate the lease when it is reasonably certain that we will exercise that option. Lease expense for minimum lease payments is recognized on a straight-line basis over the lease term. We have lease agreements with lease and non-lease components, which are accounted for separately for the asset classes maintained. We exclude short-term leases with a lease term of 12 months or less at the commencement date from our condensed consolidated balance sheets.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><b style="font-weight:bold;">Income taxes</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We calculate our interim income tax provision in accordance with ASC 270, <i style="font-style:italic;">Interim Reporting</i>, and ASC 740, <i style="font-style:italic;">Accounting for Income Taxes</i>. At the end of each interim period, we estimate the annual effective tax rate and apply that rate to our ordinary quarterly earnings. The tax expense or benefit related to significant, unusual, or extraordinary items is recognized in the interim period in which those items occur. In addition, the effect of changes in enacted tax laws, rates, or tax status is recognized in the interim period in which the change occurs. Excess windfall tax benefits and tax deficiencies related to our stock option exercises and restricted stock unit (“RSU”) vesting are recognized as an income tax benefit or expense in our condensed consolidated statements of operations in the period they are deducted on the income tax return. Excess windfall tax benefits and tax deficiencies are therefore not anticipated when determining the annual effective tax rate and are instead recognized in the interim period in which those items occur.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The computation of the annual estimated effective tax rate at each interim period requires certain estimates and significant judgment, including the expected operating income (loss) for the year, projections of the proportion of income </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">(loss) earned and taxed in various states, permanent and temporary differences as a result of differences between amounts measured and recognized in accordance with tax laws and financial accounting standards, and the likelihood of recovering deferred tax assets generated in the current year. The accounting estimates used to compute the provision for income taxes may change as new events occur, additional information is obtained, or as the tax environment changes.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">As of June 30, 2019, we had an immaterial amount of unremitted earnings in our subsidiaries located outside of the U.S. for which state taxes have not been paid. Our intention is to indefinitely reinvest these earnings outside the U.S. If we were to remit our foreign earnings, we would be subject to state income taxes or withholding taxes imposed on actual distributions, or currency transaction gains (losses) that would result in taxation upon remittance. However, the amounts of any such tax liabilities resulting from the repatriation of foreign earnings are not material.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><b style="font-weight:bold;">Foreign currency translation</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Our Brazilian subsidiary uses the Brazilian Real as its functional currency. Assets and liabilities of our Brazilian subsidiary are translated to U.S. dollars at period-end rates of exchange, and revenues and expenses are translated at average exchange rates prevailing for each month. The resulting translation adjustments are made directly to a separate component of other comprehensive loss, which is reflected in stockholders’ equity in our condensed consolidated balance sheets. As of June 30, 2019 and December 31, 2018, the Company had $(1,257) and $(1,295), respectively, of cumulative foreign currency translation adjustments, net of tax, which was $0 as of June 30, 2019 and December 31, 2018 due to the full valuation allowance established against our deferred tax assets, in accumulated other comprehensive loss.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The functional currency for our other foreign subsidiaries is the U.S. dollar. Gains and losses from the revaluation of foreign currency transactions and monetary assets and liabilities are included in the condensed consolidated statements of operations.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> -1257000 -1295000 0 0 <p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><b style="font-weight:bold;">Use of estimates</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The preparation of accompanying condensed consolidated financial statements in conformity with GAAP requires us to make estimates and assumptions that affect the reported amounts of assets and liabilities and the disclosure of contingent assets and liabilities at the dates of the accompanying condensed consolidated financial statements, and the reported amounts of revenue and expenses during the reporting period. Actual results could differ from those estimates. Assets and liabilities which are subject to significant judgment and the use of estimates include the allowance for doubtful accounts, recoverability of goodwill and long-lived assets, valuation allowances with respect to deferred tax assets, useful lives associated with property and equipment, valuation of ROU assets and ROU liabilities, valuation and useful lives of intangible assets, valuation of contingent consideration, contract assets and contract liabilities including estimates of variable consideration, and the valuation and assumptions underlying stock-based compensation and other equity instruments. On an ongoing basis, we evaluate our estimates compared to historical experience and trends, which form the basis for making judgments about the carrying value of assets and liabilities.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><b style="font-weight:bold;">Fair value of financial instruments</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Fair value is defined as 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, we consider the principal or most advantageous market in which it would transact, and we consider assumptions that market participants would use when pricing the asset or liability.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The accounting guidance for fair value measurement also requires an entity to maximize the use of observable inputs and minimize the use of unobservable inputs when measuring fair value. The standard establishes a fair value hierarchy based on the level of independent, objective evidence surrounding the inputs used to measure 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. The fair value hierarchy is as follows:</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 0pt 36pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:36pt;"/><td style="font-family:'Times New Roman';font-size:10pt;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';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Level 1—Unadjusted quoted prices in active markets that are accessible at the measurement date for identical, unrestricted assets or liabilities.</span></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 0pt 18pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:36pt;"/><td style="font-family:'Times New Roman';font-size:10pt;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';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Level 2—Quoted prices for identical assets and liabilities in markets that are not active, quoted prices for similar assets and liabilities in active markets or financial instruments for which significant inputs are observable, either directly or indirectly.</span></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 0pt 18pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:36pt;"/><td style="font-family:'Times New Roman';font-size:10pt;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';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Level 3—Unobservable inputs that are supported by little or no market activity and that are significant to the fair value of the assets or liabilities.</span></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The carrying amount reflected in the accompanying condensed consolidated balance sheets for cash and cash equivalents, accounts receivable, prepaid expenses and other current assets, other assets, accounts payable, accrued expenses and other liabilities, and deferred revenue approximates fair value due to the short duration and nature of these financial instruments.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><b style="font-weight:bold;">Recent accounting pronouncements</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">In August 2018, the FASB issued ASU 2018-15, <i style="font-style:italic;">Intangibles—Goodwill and Other—Internal-Use Software (Subtopic 350-40): Customer’s Accounting for Implementation Costs Incurred in a Cloud Computing Arrangement That Is a Service Contract</i>, which requires customers to apply the same criteria for capitalizing implementation costs incurred in a cloud computing arrangement that is hosted by the vendor as they would for an arrangement that has a software license. The standard is effective for interim and annual periods beginning after December 15, 2019 and early adoption is permitted. The standard can be adopted prospectively or retrospectively. We are currently evaluating the expected impact of this new standard.</p> <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">3. Acquisitions</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><b style="font-weight:bold;">Elauwit Networks, LLC</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">On August 1, 2018, we acquired the assets of Elauwit Networks, LLC (“Elauwit”) for $28,000 plus other contingent consideration. Elauwit provides data and video services to multi-unit dwelling properties including student housing, condominiums, apartments, senior living, and hospitality industries throughout the U.S. In addition, Elauwit builds and maintains the network that supports these services for property owners and managers and provides support for residents and employees. </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The acquisition has been accounted for under the acquisition method of accounting in accordance with ASC 805, <i style="font-style:italic;">Business Combinations</i>. As such, the assets acquired and liabilities assumed are recorded at their acquisition-date fair values. The total purchase price was $29,537, which includes contingent consideration fair valued at $961. At the closing date, we paid cash of $15,576. $13,000 of the purchase price was held back for the following: (i) $11,000 held back for third-party consents not obtained at closing for certain customer agreements, which are released as Elauwit delivers third-party consents with respect to such customer agreements; and (ii) a $2,000 indemnification holdback that is being retained for a period of 12 months following the closing of the acquisition. In 2018, we paid $9,048 of the amounts held back for third-party consents. We paid the remaining $1,952 for amounts held back for third-party consents in January 2019. The contingent consideration could require payments in the aggregate amount of up to $15,000 that would be due and payable subject to certain conditions and the successful achievement of annual revenue targets for the acquired business during the 2019 and 2020 fiscal years. The contingent consideration is subject to acceleration under certain corporate events.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The fair value of the contingent consideration is based on Level 3 inputs. Further changes in the fair value of the contingent consideration will be recorded through operating income (loss). The contingent consideration was valued at the date of acquisition using the Monte Carlo method reflecting the average expected monthly revenue, an annual risk-free rate of 2.78%, and an annual revenue volatility rate of 40%.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The identifiable intangible assets were primarily valued using the excess earnings, relief from royalty, and loss-of-revenue methods using discount rates ranging from 8.0% to 21.0% and a 1.0% royalty rate, where applicable, except for certain backlog intangible assets held for sale that were valued at fair value less costs to sell using a discount rate of 8%. The amortizable intangible assets held for use are being amortized on a straight-line basis over their estimated useful lives. Intangible assets held for sale are not amortized. We allocated the excess of the purchase price over the fair value of assets acquired and liabilities assumed to goodwill, which is deductible for tax purposes. The goodwill arising from the Elauwit acquisition is attributable primarily to expected synergies and other benefits, including the acquired workforce, from combining Elauwit with us. </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">ASC 805 provides for a measurement period not to exceed one year from the acquisition date to adjust the provisional amounts recognized at the acquisition date to reflect new information obtained about facts and circumstances that existed as of the acquisition date that, if known, would have affected the measurement of the amounts recognized as of that date. During the six months ended June 30, 2019, we recorded a measurement period adjustment to increase the value of backlog intangible assets held for sale and decrease goodwill by $750 as a result of the identification of additional assets that were acquired. Intangible assets held for sale are included within prepaid expenses and other current assets on the condensed consolidated balance sheets. To date, we have not recorded any other material measurement period adjustments. The following summarizes the preliminary purchase price allocation:</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.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';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:9.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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:16.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:68.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted Average</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:68.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Estimated</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Estimated Useful</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:68.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> Fair Value</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Life (years)</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Consideration:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:68.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Cash paid</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,576</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Holdback consideration</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,000</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:68.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Contingent consideration</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 961</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total consideration</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,537</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:68.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Recognized amounts of identifiable assets acquired and liabilities assumed:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Accounts receivable</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,494</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:68.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Prepaid expenses and other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,687</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Property and equipment</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 195</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:68.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Other non-current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 177</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Accounts payable</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (2,049)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:68.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Accrued expenses and other liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (683)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Deferred revenue</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (3,854)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:68.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Other non-current liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (307)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Net tangible liabilities acquired</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (340)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:68.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Backlog</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,030</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.0</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Backlog-held for sale</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 750</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:68.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,490</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10.0</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Partner relationships</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,200</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10.0</p></td></tr><tr><td style="vertical-align:bottom;width:68.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Transition services agreement</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 540</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2.0</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Non-compete agreement</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,380</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.0</p></td></tr><tr><td style="vertical-align:bottom;width:68.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Goodwill</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,487</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total purchase price</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,537</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">  </p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The following table presents the results of Elauwit included in the Company’s revenue and net loss:</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:57.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';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.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';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.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';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:8.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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:6.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:5.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';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:57.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:18.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:57.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:18.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:57.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:57.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="11" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:40.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Unaudited)</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:57.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Revenue</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,884</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,304</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:57.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net loss</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (1,659)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (4,016)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><b style="font-weight:bold;">Pro forma results (Unaudited)</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The following table presents the unaudited pro forma results of the Company for the three and six months ended June 30, 2018 as if the acquisition of Elauwit had occurred on January 1, 2017 and therefore includes Elauwit’s revenue and net income (loss), as adjusted, for such period. These results are not intended to reflect the actual operations of the Company had the acquisition occurred on January 1, 2017. Income taxes were calculated based on the projected annual effective tax rate excluding discrete items as of June 30, 2018. Acquisition transaction costs have been excluded from the pro forma net income (loss). </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:61.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:16.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';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.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:61.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:18.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:61.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-family:'Calibri';font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:18.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, 2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-family:'Calibri';font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, 2018</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:61.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Revenue</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:16.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 68,422</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 132,968</p></td></tr><tr><td style="vertical-align:bottom;width:61.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net income (loss)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,033</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (1,358)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:61.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net income (loss) attributable to common stockholders</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:16.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,628</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (2,212)</p></td></tr><tr><td style="vertical-align:bottom;width:61.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net income (loss) per share attributable to common stockholders</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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:61.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Basic</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:16.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.04</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (0.05)</p></td></tr><tr><td style="vertical-align:bottom;width:61.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.04</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (0.05)</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:1pt;margin-left:0pt;visibility:hidden;">​</span></p> 28000000 29537000 961000 15576000 15576000 13000000 11000000 2000000 P12M 9048000 1952000 15000000 0.0278 0.40 0.080 0.210 0.010 0.08 -750000 <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.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';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:9.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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:16.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:68.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted Average</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:68.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Estimated</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Estimated Useful</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:68.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> Fair Value</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Life (years)</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Consideration:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:68.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Cash paid</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,576</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Holdback consideration</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,000</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:68.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Contingent consideration</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 961</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total consideration</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,537</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:68.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Recognized amounts of identifiable assets acquired and liabilities assumed:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Accounts receivable</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,494</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:68.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Prepaid expenses and other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,687</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Property and equipment</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 195</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:68.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Other non-current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 177</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Accounts payable</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (2,049)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:68.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Accrued expenses and other liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (683)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Deferred revenue</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (3,854)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:68.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Other non-current liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (307)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Net tangible liabilities acquired</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (340)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:68.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Backlog</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,030</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.0</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Backlog-held for sale</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 750</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:68.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,490</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10.0</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Partner relationships</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,200</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10.0</p></td></tr><tr><td style="vertical-align:bottom;width:68.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Transition services agreement</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 540</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2.0</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Non-compete agreement</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,380</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.0</p></td></tr><tr><td style="vertical-align:bottom;width:68.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Goodwill</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,487</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total purchase price</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,537</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">  </p></td></tr></table> 15576000 13000000 961000 29537000 4494000 1687000 195000 177000 2049000 683000 3854000 307000 -340000 7030000 P5Y 750000 2490000 P10Y 1200000 P10Y 540000 P2Y 1380000 P3Y 16487000 29537000 <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:57.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';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.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';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.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';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:8.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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:6.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:5.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';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:57.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:18.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:57.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:18.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:57.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:57.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="11" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:40.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Unaudited)</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:57.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Revenue</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,884</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,304</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:57.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net loss</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (1,659)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (4,016)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr></table> 5884000 13304000 -1659000 -4016000 <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:61.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:16.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';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.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:61.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:18.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:61.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-family:'Calibri';font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:18.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, 2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-family:'Calibri';font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, 2018</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:61.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Revenue</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:16.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 68,422</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 132,968</p></td></tr><tr><td style="vertical-align:bottom;width:61.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net income (loss)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,033</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (1,358)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:61.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net income (loss) attributable to common stockholders</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:16.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,628</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (2,212)</p></td></tr><tr><td style="vertical-align:bottom;width:61.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net income (loss) per share attributable to common stockholders</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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:61.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Basic</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:16.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.04</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (0.05)</p></td></tr><tr><td style="vertical-align:bottom;width:61.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.04</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (0.05)</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:1pt;margin-left:0pt;visibility:hidden;">​</span></p> 68422000 132968000 2033000 -1358000 1628000 -2212000 0.04 -0.05 0.04 -0.05 <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">4. </b><b style="font-weight:bold;">Cash and cash equivalents and marketable securities</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Cash and cash equivalents and marketable securities consisted of the following:</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">                                                                                                                                                                                    </p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.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';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.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';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.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';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:73.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:73.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:73.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cash and cash equivalents:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Cash </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,398</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,689</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:73.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Money market accounts </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,983</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 137,723</p></td></tr><tr><td style="vertical-align:bottom;width:73.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total cash and cash equivalents </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27,381</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 149,412</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:73.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Short-term marketable securities-available-for-sale:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Marketable securities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 42,799</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:73.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total short-term marketable securities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 42,799</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">All contractual maturities of marketable securities were less than one year at June 30, 2019. Marketable securities consist primarily of debt securities which include commercial paper and debt instruments including notes issued by foreign or domestic industrial and financial corporations and governments which pay in U.S. dollars and carry a rating of A or better. For the three months and six months ended June 30, 2019, interest income was $540 and $1,254, respectively. For the three and six months ended June 30, 2018, interest income was $11 and $19, respectively. Interest income is included in interest and other expense, net in the accompanying condensed consolidated statements of operations.</p> <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">                                                                                                                                                                                    </p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.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';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.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';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.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';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:73.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:73.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:73.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cash and cash equivalents:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Cash </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,398</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,689</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:73.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Money market accounts </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,983</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 137,723</p></td></tr><tr><td style="vertical-align:bottom;width:73.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total cash and cash equivalents </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27,381</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 149,412</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:73.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Short-term marketable securities-available-for-sale:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Marketable securities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 42,799</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:73.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total short-term marketable securities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 42,799</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr></table> 4398000 11689000 22983000 137723000 27381000 149412000 42799000 0 42799000 0 540000 1254000 11000 19000 <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">5. Contract assets and contract liabilities</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The opening and closing balances of our contract asset, net and contract liability, net balances from contracts with customers for the six months ended June 30, 2019 are as follows:</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.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';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.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';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.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.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';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.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';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:71.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Contract</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Contract</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:71.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Assets, Net</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Liabilities, Net</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Balance at December 31, 2018</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 468</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 217,733</p></td></tr><tr><td style="vertical-align:bottom;width:71.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Balance at June 30, 2019</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 756</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 237,109</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:71.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Change</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 288</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,376</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The current and non-current portions of our contract assets, net are included within prepaid expenses and other current assets and other assets, respectively, and current and non-current portions of our contract liabilities, net are included within deferred revenue and deferred revenue, net of current portion, respectively, in our condensed consolidated balance sheets. Contract assets, net is generated from our multifamily and wholesale Wi-Fi contracts and the change in the contract assets, net balance includes activity related to amounts invoiced offset by revenue recognized from performance obligations satisfied in the current reporting period.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Contract liabilities are recorded when fees are collected, or we have an unconditional right to consideration (a receivable) in advance of delivery of goods or services. The change in contract liabilities, net balance is related to customer activity associated with each of our product offerings including the receipt of cash payments and the satisfaction of our performance obligations. Revenues for the three and six months ended June 30, 2019 include the following:</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:60.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:16.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';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.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';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.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:60.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:18.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:60.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:18.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:60.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;width:18.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, 2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;width:16.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, 2019</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:60.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Amounts included in the beginning of period contract liability balance</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:16.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,629</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 51,500</p></td></tr><tr><td style="vertical-align:bottom;width:60.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Amounts associated with performance obligations satisfied in previous periods</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 301</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">As of June 30, 2019, the aggregate amount of the transaction price allocated to remaining service performance obligations for our DAS contracts was $221,374. We expect to recognize this revenue as service is provided over the remaining contract term. As of June 30, 2019, our DAS contracts have a remaining duration of less than one year to approximately fifteen years.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Certain of our wholesale Wi-Fi contracts include variable consideration based on usage. This variable consideration has been excluded from the disclosure of remaining performance obligations. As of June 30, 2019, the aggregate amount of the transaction price allocated to remaining service performance obligations for certain of our wholesale Wi-Fi contracts with guaranteed minimum consideration was $10,598. We expect to recognize this revenue as service is provided over the remaining contract term. As of June 30, 2019, our wholesale Wi-Fi contracts have a remaining duration of less than one year to approximately fifteen years.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">Information about remaining performance obligations that are part of a contract that has an original expected duration of one year or less have been excluded from the above, which primarily consists of network installations for our multifamily customers and monthly service contracts.</p> <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.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';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.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';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.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.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';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.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';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:71.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Contract</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Contract</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:71.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Assets, Net</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Liabilities, Net</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Balance at December 31, 2018</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 468</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 217,733</p></td></tr><tr><td style="vertical-align:bottom;width:71.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Balance at June 30, 2019</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 756</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 237,109</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:71.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Change</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 288</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,376</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:60.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:16.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';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.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';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.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:60.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:18.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:60.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:18.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:60.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;width:18.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, 2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;width:16.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, 2019</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:60.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Amounts included in the beginning of period contract liability balance</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:16.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,629</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 51,500</p></td></tr><tr><td style="vertical-align:bottom;width:60.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Amounts associated with performance obligations satisfied in previous periods</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 301</p></td></tr></table> 468000 217733000 756000 237109000 -288000 -19376000 22629000 51500000 7000 301000 221374000 P15Y 10598000 P15Y true <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">6. Property and equipment</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The following is a summary of property and equipment, at cost less accumulated depreciation and amortization:</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.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';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.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';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.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';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.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';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:71.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:71.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Leasehold improvements </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 520,923</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 474,808</p></td></tr><tr><td style="vertical-align:bottom;width:71.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Construction in progress </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 60,117</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40,369</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Software </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 56,360</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 51,534</p></td></tr><tr><td style="vertical-align:bottom;width:71.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Computer equipment </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,381</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,215</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Furniture, fixtures and office equipment </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,148</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,141</p></td></tr><tr><td style="vertical-align:bottom;width:71.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total property and equipment </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 654,929</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 583,067</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Less: accumulated depreciation and amortization </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (304,757)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (268,888)</p></td></tr><tr><td style="vertical-align:bottom;width:71.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total property and equipment, net </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 350,172</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 314,179</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Depreciation and amortization expense, which includes depreciation and amortization for property and equipment under finance leases, is allocated as follows in the accompanying condensed consolidated statements of operations:</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">                                                                                                                                                                                  </p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:52.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:8.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:8.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:8.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:52.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:21.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:21.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:52.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:21.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:21.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:52.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Network access </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,482</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,134</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,064</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,721</p></td></tr><tr><td style="vertical-align:bottom;width:52.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Network operations </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,322</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,314</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,708</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,570</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Development and technology </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,808</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,568</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,587</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,076</p></td></tr><tr><td style="vertical-align:bottom;width:52.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">General and administrative </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 262</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 246</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 524</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 501</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total depreciation and amortization of property and equipment </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,874</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,262</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,883</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,868</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.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';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.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';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.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';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.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';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:71.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:71.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Leasehold improvements </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 520,923</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 474,808</p></td></tr><tr><td style="vertical-align:bottom;width:71.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Construction in progress </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 60,117</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40,369</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Software </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 56,360</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 51,534</p></td></tr><tr><td style="vertical-align:bottom;width:71.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Computer equipment </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,381</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,215</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Furniture, fixtures and office equipment </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,148</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,141</p></td></tr><tr><td style="vertical-align:bottom;width:71.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total property and equipment </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 654,929</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 583,067</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Less: accumulated depreciation and amortization </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (304,757)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (268,888)</p></td></tr><tr><td style="vertical-align:bottom;width:71.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total property and equipment, net </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 350,172</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 314,179</p></td></tr></table> 520923000 474808000 60117000 40369000 56360000 51534000 15381000 14215000 2148000 2141000 654929000 583067000 304757000 268888000 350172000 314179000 <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">                                                                                                                                                                                  </p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:52.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:8.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:8.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:8.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:52.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:21.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:21.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:52.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:21.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:21.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:52.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Network access </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,482</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,134</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,064</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,721</p></td></tr><tr><td style="vertical-align:bottom;width:52.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Network operations </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,322</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,314</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,708</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,570</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Development and technology </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,808</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,568</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,587</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,076</p></td></tr><tr><td style="vertical-align:bottom;width:52.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">General and administrative </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 262</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 246</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 524</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 501</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total depreciation and amortization of property and equipment </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,874</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,262</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,883</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,868</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 9482000 10134000 21064000 23721000 4322000 4314000 8708000 8570000 2808000 2568000 5587000 5076000 262000 246000 524000 501000 16874000 17262000 35883000 37868000 <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">7. Accrued expenses and other liabilities</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Accrued expenses and other liabilities consisted of the following:</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">                                                                                                                                                                                     </p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:73.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.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';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.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';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:73.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:73.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:73.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Accrued construction in progress</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,672</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,930</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Accrued customer liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,135</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,219</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:73.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Revenue share</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,286</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,514</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Salaries and wages</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,755</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,425</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:73.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Accrued taxes</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,901</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,745</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Holdback consideration</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,000</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:73.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Accrued partner network</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,236</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,228</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Accrued professional fees</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 949</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,434</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:73.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Acquisition purchase consideration</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,952</p></td></tr><tr><td style="vertical-align:bottom;width:73.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,510</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,206</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:73.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total accrued expenses and other liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 61,444</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 62,653</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">                                                                                                                                                                                     </p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:73.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.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';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.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';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:73.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:73.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:73.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Accrued construction in progress</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,672</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,930</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Accrued customer liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,135</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,219</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:73.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Revenue share</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,286</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,514</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Salaries and wages</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,755</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,425</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:73.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Accrued taxes</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,901</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,745</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Holdback consideration</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,000</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:73.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Accrued partner network</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,236</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,228</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Accrued professional fees</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 949</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,434</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:73.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Acquisition purchase consideration</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,952</p></td></tr><tr><td style="vertical-align:bottom;width:73.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,510</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,206</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:73.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total accrued expenses and other liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 61,444</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 62,653</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 18672000 20930000 18135000 15219000 7286000 5514000 3755000 4425000 2901000 2745000 2000000 2000000 1236000 1228000 949000 1434000 0 1952000 6510000 7206000 61444000 62653000 <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">8. Convertible Notes</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">In October 2018, the Company sold, through the initial purchasers, convertible senior notes (“Convertible Notes”) to qualified institutional buyers pursuant to Rule 144A of the Securities Act of 1933, as amended, for gross proceeds of $201,250. The Convertible Notes are senior, unsecured obligations with interest payable semi-annually in cash at a rate of 1.00% per annum on April 1<sup style="font-size:7.5pt;vertical-align:top;">st</sup> and October 1<sup style="font-size:7.5pt;vertical-align:top;">st</sup> of each year, beginning on April 1, 2019. The Convertible Notes will mature on October 1, 2023 unless they are redeemed, repurchased or converted prior to such date. Prior to </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">April 1, 2023, the Convertible Notes are convertible at the option of holders only during certain periods and upon satisfaction of certain conditions. Thereafter, the Convertible Notes will be convertible at any time until the close of business on the second scheduled trading day immediately preceding the maturity date. Upon conversion, the Convertible Notes may be settled in shares of the Company’s common stock, cash or a combination of cash and shares of the Company’s common stock, at the Company’s election.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The Convertible Notes have an initial conversion rate of 23.6323 shares of common stock per $1,000 principal amount of the Convertible Notes, which will be subject to customary anti-dilution adjustments in certain circumstances. This represents an initial effective conversion price of approximately $42.31 per share, which represents a premium of approximately 30% to the $32.55 per share closing price of the Company’s common stock on October 2, 2018, the date the Company priced the offering. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The Company may redeem all or any portion of the Convertible Notes, at its option, on or after October 5, 2021, at a redemption price equal to 100% of the principal amount of the Convertible Notes to be redeemed, plus accrued and unpaid interest to, but excluding, the redemption date, if the last reported sale price of the Company’s stock has been at least 130% of the conversion price then in effect for at least 20 trading days (whether or not consecutive) during any 30 consecutive trading day period (including the last trading day of such period) ending on, and including, the trading day immediately preceding the date on which the Company provides written notice of redemption.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Holders of Convertible Notes may require the Company to repurchase their Convertible Notes upon the occurrence of certain events that constitute a fundamental change under the indenture governing the Convertible Notes at a fundamental change repurchase price equal to 100% of the principal amount thereof, plus accrued and unpaid interest to, but excluding, the date of repurchase. In connection with certain corporate events or if the Company issues a notice of redemption prior to the maturity date, it will, under certain circumstances, increase the conversion rate for holders who elect to convert their Convertible Notes in connection with such corporate event or notice of redemption.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">In connection with the pricing of the Convertible Notes, the Company entered into privately negotiated capped call transactions with a financial institution. The capped call transactions initially cover, subject to customary anti-dilution adjustments, the number of shares of the Company’s common stock that initially underlie the Convertible Notes. The cap price of the capped call transactions is initially $65.10 per share of the Company’s common stock, representing a premium of 100% above the closing price of $32.55 per share of the Company’s common stock on October 2, 2018, and is subject to certain adjustments under the terms of the capped call transactions. The capped call transactions are expected generally to reduce potential dilution to the Company’s common stock upon conversion of the Convertible Notes and/or offset the potential cash payments that the Company could be required to make in excess of the principal amount of any converted Convertible Notes upon conversion thereof, with such reduction and/or offset subject to a cap based on the cap price.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The following table summarizes the Convertible Notes as of June 30, 2019:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">                                                                                                                                                                   </p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:top;width:86.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman';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.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:9.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:86.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:86.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:86.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Par value of the Convertible Notes</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 201,250</p></td></tr><tr><td style="vertical-align:top;width:86.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Unamortized debt discounts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (41,010)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:86.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Unamortized debt issuance costs</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (4,104)</p></td></tr><tr><td style="vertical-align:top;width:86.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net carrying value of Convertible Notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 156,136</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The fair value of our Convertible Notes was $173,610 as of June 30, 2019. The estimated fair value of Convertible Notes is based on market rates and the closing trading price of the Convertible Notes as of June 25, 2019 and is classified as Level 2 in the fair value hierarchy. As of June 30, 2019, the if-converted value of the Convertible Notes did not exceed the principal amount.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Debt issuance costs are amortized on an effective interest basis over the term of the Convertible Notes. Debt issuance cost amortization expense, net of amounts capitalized, is included in interest and other expense, net in the accompanying condensed consolidated statements of operations for the three and six months ended June 30, 2019. The </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">following table sets forth interest expense related to the Convertible Notes for the three and six months ended June 30, 2019:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">                                                                                                                                                                  </p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:top;width:64.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman';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.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';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.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.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';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.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';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.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';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.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';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Ended</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, 2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, 2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:64.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Contractual interest expense</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 503</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,006</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:top;width:64.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Amortization of debt issuance costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 211</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 419</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:64.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Amortization of debt discount</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,042</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,048</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:top;width:64.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,756</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,473</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:64.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Effective interest rate of the liability component</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7.1</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7.1</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">During the three and six months ended June 30, 2019, we capitalized $743 and $1,208, respectively, of amortization and interest expense related to the Convertible Notes.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Amortization expense for our debt discount and debt issuance costs through 2023 are as follows:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">                                                                                                                                                                 </p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:73.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Debt</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Debt Issuance</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:73.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Discounts</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Costs</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:73.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">July 1, 2019―December 31, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,197</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 431</p></td></tr><tr><td style="vertical-align:bottom;width:73.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 1, 2020―December 31, 2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,864</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 901</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:73.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 1, 2021―December 31, 2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,528</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 955</p></td></tr><tr><td style="vertical-align:bottom;width:73.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 1, 2022―December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,241</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,015</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:73.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 1, 2023―December 31, 2023</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,180</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 802</p></td></tr><tr><td style="vertical-align:bottom;width:73.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 41,010</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,104</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;font-weight:bold;visibility:hidden;">​</span></p> 201250000 0.0100 42.31 0.30 32.55 1 1.30 20 30 1 65.10 1 32.55 <p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">                                                                                                                                                                   </p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:top;width:86.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman';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.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:9.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:86.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:86.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:86.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Par value of the Convertible Notes</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 201,250</p></td></tr><tr><td style="vertical-align:top;width:86.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Unamortized debt discounts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (41,010)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:86.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Unamortized debt issuance costs</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (4,104)</p></td></tr><tr><td style="vertical-align:top;width:86.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net carrying value of Convertible Notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 156,136</p></td></tr></table> 201250000 41010000 4104000 156136000 173610000 <p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">                                                                                                                                                                  </p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:top;width:64.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman';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.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';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.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.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';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.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';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.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';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.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';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Ended</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, 2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, 2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:64.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Contractual interest expense</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 503</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,006</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:top;width:64.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Amortization of debt issuance costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 211</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 419</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:64.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Amortization of debt discount</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,042</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,048</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:top;width:64.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,756</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,473</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:64.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Effective interest rate of the liability component</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7.1</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7.1</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr></table> 503000 1006000 211000 419000 2042000 4048000 2756000 5473000 0.071 0.071 743000 1208000 <p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">                                                                                                                                                                 </p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:73.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Debt</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Debt Issuance</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:73.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Discounts</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Costs</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:73.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">July 1, 2019―December 31, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,197</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 431</p></td></tr><tr><td style="vertical-align:bottom;width:73.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 1, 2020―December 31, 2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,864</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 901</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:73.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 1, 2021―December 31, 2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,528</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 955</p></td></tr><tr><td style="vertical-align:bottom;width:73.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 1, 2022―December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,241</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,015</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:73.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 1, 2023―December 31, 2023</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,180</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 802</p></td></tr><tr><td style="vertical-align:bottom;width:73.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 41,010</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,104</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;font-weight:bold;visibility:hidden;">​</span></p> 4197000 431000 8864000 901000 9528000 955000 10241000 1015000 8180000 802000 41010000 4104000 <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">9. Credit Facility</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">In February 2019, we entered into a Credit Agreement (the “Credit Agreement”) and related agreements with Bank of America, N.A. acting as agent for lenders named therein, including Bank of America, N.A., Silicon Valley Bank, Bank of the West, Zions Bancorporation, N.A. dba California Bank &amp; Trust, and Barclays Bank PLC (the “Lenders”), for a secured credit facility in the form of a revolving line of credit of up to $150,000 (the “Revolving Line of Credit”) and a term loan of $3,500 (the “Term Loan” and together with the Revolving Line of Credit, the “Credit Facility”). We may use borrowings under the Credit Facility for general working capital and corporate purposes. In general, amounts borrowed under the Credit Facility are secured by a lien against all assets, with certain exclusions.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">As of June 30, 2019, we had no amounts outstanding under the Revolving Line of Credit and $3,111 outstanding under the Term Loan. Amounts borrowed under the Revolving Line of Credit and Term Loan will bear variable interest at the greater of LIBOR plus 1.75% - 2.75% or Lender’s Prime Rate plus 0.75% - 1.75% per year and we will pay a fee of 0.25% - 0.5% per year on any unused portion of the Revolving Line of Credit. The Term Loan requires quarterly payments of interest and principal until it is repaid in full on the maturity date but may be prepaid in whole or part at any time. Our Credit Facility will mature on April 3, 2023. Repayment of amounts borrowed under the Credit Facility may be accelerated in the event that we are in violation of the representations, warranties and covenants made in the Credit Agreement, including certain financial covenants set forth therein, and under other specified default events including, but not limited to, non-payment or inability to pay debt, breach of cross default provisions, insolvency provisions, and change of control.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The Company is subject to customary financial and non-financial covenants under the Credit Facility, including a minimum quarterly consolidated senior secured leverage ratio, a minimum quarterly consolidated total leverage ratio, a maximum quarterly consolidated fixed charge coverage ratio, and cash on hand minimums.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Principal payments due under our Term Loan through 2023 are as follows:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">                                                                                                                                                                </p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:top;width:80.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman';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.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';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.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';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.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:80.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Principal Payments</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:80.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">July 1, 2019―December 31, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 389</p></td></tr><tr><td style="vertical-align:top;width:80.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 1, 2020―December 31, 2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 778</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:80.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 1, 2021―December 31, 2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 778</p></td></tr><tr><td style="vertical-align:top;width:80.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 1, 2022―December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 778</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:80.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 1, 2023―December 31, 2023</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 388</p></td></tr><tr><td style="vertical-align:bottom;width:80.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,111</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Debt issuance costs are amortized on a straight-line basis over the term of the Credit Facility. Amortization expense related to debt issuance costs, net of amounts capitalized, are included in interest and other expense in the accompanying condensed consolidated statements of operations for the three and six months ended June 30, 2019. Amortization and interest expense capitalized during the three and six months ended June 30, 2019 amounted to $36 each. Amortization and interest expense expensed during the three and six months ended June 30, 2019 amounted to $114 and $170, respectively. The interest rate for the Credit Facility for the six months ended June 30, 2019 ranged from 4.2% to 4.4%.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Amortization expense for our debt issuance costs through 2023 are as follows:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:top;width:78.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman';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.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';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.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';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.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';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:78.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization Expense</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:78.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">July 1, 2019―December 31, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 229</p></td></tr><tr><td style="vertical-align:top;width:78.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 1, 2020―December 31, 2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 457</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:78.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 1, 2021―December 31, 2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 457</p></td></tr><tr><td style="vertical-align:top;width:78.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 1, 2022―December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 457</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:78.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 1, 2023―December 31, 2023</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 120</p></td></tr><tr><td style="vertical-align:bottom;width:78.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.52%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,720</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 150000000 3500000 0 3111000 0.0175 0.0275 0.0075 0.0175 0.0025 0.005 <p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">                                                                                                                                                                </p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:top;width:80.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman';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.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';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.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';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.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:80.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Principal Payments</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:80.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">July 1, 2019―December 31, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 389</p></td></tr><tr><td style="vertical-align:top;width:80.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 1, 2020―December 31, 2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 778</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:80.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 1, 2021―December 31, 2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 778</p></td></tr><tr><td style="vertical-align:top;width:80.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 1, 2022―December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 778</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:80.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 1, 2023―December 31, 2023</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 388</p></td></tr><tr><td style="vertical-align:bottom;width:80.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,111</p></td></tr></table> 389000 778000 778000 778000 388000 3111000 36000 36000 114000 170000 0.042 0.044 <p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:top;width:78.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman';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.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';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.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';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.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';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:78.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization Expense</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:78.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">July 1, 2019―December 31, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 229</p></td></tr><tr><td style="vertical-align:top;width:78.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 1, 2020―December 31, 2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 457</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:78.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 1, 2021―December 31, 2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 457</p></td></tr><tr><td style="vertical-align:top;width:78.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 1, 2022―December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 457</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:78.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 1, 2023―December 31, 2023</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 120</p></td></tr><tr><td style="vertical-align:bottom;width:78.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.52%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,720</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 229000 457000 457000 457000 120000 1720000 <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">10. Leases</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We have operating and finance leases for corporate offices, datacenters, data communication equipment and database software. Our operating leases have remaining lease terms of less than one year to nine years and our finance leases have remaining lease terms of one month to two years. Some of our operating leases may include one or more options to renew and can extend the lease term from 1 year to 10 years. The exercise of operating lease renewal options is at our sole discretion. Certain leases also include options to purchase the leased property. The depreciable life of assets and leasehold improvements are limited by the expected lease term, unless there is a transfer of title or purchase option reasonably certain of exercise. Some of our operating lease agreements include options to terminate the leases upon written notice and may include early termination penalties. Our lease agreements do not contain any material residual value guarantees or material restrictive covenants. As of June 30, 2019, assets recorded under finance leases were $12,280 and accumulated depreciation and amortization associated with finance leases was $4,326.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The components of lease expense were as follows:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:top;width:70.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman';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.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:70.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:70.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Ended </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> Ended</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:70.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, 2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, 2019</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:70.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Operating lease expense</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.23%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 891</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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:1.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.23%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,776</p></td></tr><tr><td style="vertical-align:top;width:70.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Finance lease expense:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">  </p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:70.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Depreciation and amortization of assets included in property and equipment, net</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">517</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,041</p></td></tr><tr><td style="vertical-align:top;width:70.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Interest on lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 56</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:70.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total finance lease expense</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.23%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 517</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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:1.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.23%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,097</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Interest on lease liabilities capitalized during the three and six months ended June 30, 2019 amounted to $47 each.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Supplemental cash flow information related to leases was as follows:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:84.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:84.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:84.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Ended June 30,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:84.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:84.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cash paid for amounts included in the measurement of lease liabilities:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:84.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Operating cash flows from operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (1,987)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:84.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Operating cash flows from finance leases</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (103)</p></td></tr><tr><td style="vertical-align:bottom;width:84.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Financing cash flows from finance leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (2,275)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:84.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Right-of-use assets obtained in exchange for lease obligations:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:84.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,112</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Operating lease ROU assets obtained in exchange for lease obligations include the effects of the adoption of ASC 842 effective January 1, 2019.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Other information related to leases was as follows:</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:80.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';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.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';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.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:5.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';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:80.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, 2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:5.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:80.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Weighted average remaining lease term:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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:5.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:80.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">years</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:80.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Financing leases</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.5</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">years</p></td></tr><tr><td style="vertical-align:bottom;width:80.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Weighted average discount rate:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:80.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Operating leases</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.3</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:80.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Finance leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Future minimum lease payments under non-cancellable leases as of June 30, 2019 as presented in accordance with ASC 842 were as follows:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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:8.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Operating</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Finance</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Leases</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Leases</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">July 1, 2019 – December 31, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,755</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,995</p></td></tr><tr><td style="vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 1, 2020―December 31, 2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,746</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,784</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 1, 2021―December 31, 2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,565</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 574</p></td></tr><tr><td style="vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 1, 2022―December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,541</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 1, 2023―December 31, 2023</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,626</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 1, 2024―December 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,639</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Thereafter</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,235</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total future minimum lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25,107</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,353</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Less: Imputed interest</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (3,978)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (134)</p></td></tr><tr><td style="vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,129</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,219</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Current portion of operating and finance leases</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,708</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,429</p></td></tr><tr><td style="vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Long-term portion of operating and finance leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,421</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,790</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Future minimum lease payments under non-cancellable leases as of December 31, 2018 as presented in accordance with ASC 840, <i style="font-style:italic;">Leases</i>, were as follows:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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:8.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Operating</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Capital</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Leases</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Leases</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 1, 2019 – December 31, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,573</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,373</p></td></tr><tr><td style="vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 1, 2020―December 31, 2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,456</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,783</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 1, 2021―December 31, 2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,385</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 574</p></td></tr><tr><td style="vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 1, 2022―December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,414</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 1, 2023―December 31, 2023</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,495</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,835</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Minimum lease payments</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,158</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,730</p></td></tr><tr><td style="vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Less: Amounts representing interest ranging from 1.3% to 7.7%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (236)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Minimum lease payments</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,494</p></td></tr><tr><td style="vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Current portion of capital leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,201</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Long-term portion of capital leases</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,293</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> P1Y P9Y P1M P2Y 1 true false P1Y P10Y true false 12280000 12280000 4326000 <p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The components of lease expense were as follows:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:top;width:70.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman';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.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:70.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:70.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Ended </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> Ended</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:70.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, 2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, 2019</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:70.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Operating lease expense</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.23%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 891</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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:1.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.23%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,776</p></td></tr><tr><td style="vertical-align:top;width:70.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Finance lease expense:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">  </p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:70.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Depreciation and amortization of assets included in property and equipment, net</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">517</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,041</p></td></tr><tr><td style="vertical-align:top;width:70.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Interest on lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 56</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:70.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total finance lease expense</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.23%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 517</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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:1.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.23%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,097</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Supplemental cash flow information related to leases was as follows:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:84.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:84.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:84.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Ended June 30,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:84.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:84.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cash paid for amounts included in the measurement of lease liabilities:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:84.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Operating cash flows from operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (1,987)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:84.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Operating cash flows from finance leases</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (103)</p></td></tr><tr><td style="vertical-align:bottom;width:84.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Financing cash flows from finance leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (2,275)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:84.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Right-of-use assets obtained in exchange for lease obligations:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:84.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,112</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Other information related to leases was as follows:</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:80.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';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.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';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.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:5.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';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:80.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, 2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:5.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:80.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Weighted average remaining lease term:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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:5.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:80.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">years</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:80.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Financing leases</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.5</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">years</p></td></tr><tr><td style="vertical-align:bottom;width:80.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Weighted average discount rate:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:80.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Operating leases</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.3</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:80.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Finance leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 891000 1776000 517000 1041000 56000 517000 1097000 47000 47000 1987000 103000 2275000 17112000 P6Y7M6D P1Y6M 0.053 0.032 <p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Future minimum lease payments under non-cancellable leases as of June 30, 2019 as presented in accordance with ASC 842 were as follows:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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:8.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Operating</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Finance</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Leases</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Leases</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">July 1, 2019 – December 31, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,755</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,995</p></td></tr><tr><td style="vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 1, 2020―December 31, 2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,746</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,784</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 1, 2021―December 31, 2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,565</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 574</p></td></tr><tr><td style="vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 1, 2022―December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,541</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 1, 2023―December 31, 2023</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,626</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 1, 2024―December 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,639</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Thereafter</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,235</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total future minimum lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25,107</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,353</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Less: Imputed interest</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (3,978)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (134)</p></td></tr><tr><td style="vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,129</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,219</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Current portion of operating and finance leases</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,708</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,429</p></td></tr><tr><td style="vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Long-term portion of operating and finance leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,421</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,790</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Future minimum lease payments under non-cancellable leases as of December 31, 2018 as presented in accordance with ASC 840, <i style="font-style:italic;">Leases</i>, were as follows:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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:8.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Operating</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Capital</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Leases</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Leases</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 1, 2019 – December 31, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,573</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,373</p></td></tr><tr><td style="vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 1, 2020―December 31, 2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,456</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,783</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 1, 2021―December 31, 2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,385</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 574</p></td></tr><tr><td style="vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 1, 2022―December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,414</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 1, 2023―December 31, 2023</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,495</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,835</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Minimum lease payments</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,158</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,730</p></td></tr><tr><td style="vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Less: Amounts representing interest ranging from 1.3% to 7.7%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (236)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Minimum lease payments</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,494</p></td></tr><tr><td style="vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Current portion of capital leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,201</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:75.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Long-term portion of capital leases</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,293</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 1755000 1995000 3746000 2784000 3565000 574000 3541000 0 3626000 0 3639000 0 5235000 0 25107000 5353000 3978000 134000 21129000 5219000 2708000 3429000 18421000 1790000 3573000 4373000 3456000 2783000 3385000 574000 3414000 0 3495000 0 8835000 0 26158000 7730000 0.013 0.077 236000 7494000 4201000 3293000 <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">11. Notes payable</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We enter into financed maintenance arrangements for some of our leased data communication equipment. Future minimum lease payments under notes payable as of June 30, 2019 were as follows:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">                                                                                                                                                                 </p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:84.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.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';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:84.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Notes Payable</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:84.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">July 1, 2019 – December 31, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,124</p></td></tr><tr><td style="vertical-align:bottom;width:84.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 1, 2020―December 31, 2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,541</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:84.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 1, 2021―December 31, 2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 95</p></td></tr><tr><td style="vertical-align:bottom;width:84.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total future minimum payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,760</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:84.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Less: Imputed interest</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (42)</p></td></tr><tr><td style="vertical-align:bottom;width:84.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,718</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:84.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Current portion of note payable</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,035</p></td></tr><tr><td style="vertical-align:bottom;width:84.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Long-term portion of notes payable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 683</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="background-color:#ffff00;font-size:1pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">                                                                                                                                                                 </p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:84.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.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';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:84.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Notes Payable</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:84.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">July 1, 2019 – December 31, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,124</p></td></tr><tr><td style="vertical-align:bottom;width:84.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 1, 2020―December 31, 2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,541</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:84.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 1, 2021―December 31, 2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 95</p></td></tr><tr><td style="vertical-align:bottom;width:84.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total future minimum payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,760</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:84.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Less: Imputed interest</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (42)</p></td></tr><tr><td style="vertical-align:bottom;width:84.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,718</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:84.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Current portion of note payable</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,035</p></td></tr><tr><td style="vertical-align:bottom;width:84.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Long-term portion of notes payable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 683</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="background-color:#ffff00;font-size:1pt;visibility:hidden;">​</span></p> 1124000 1541000 95000 2760000 42000 2718000 2035000 683000 <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">12. Fair value measurement</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The following table sets forth our financial assets and liabilities that are measured at fair value on a recurring basis:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">                                                                                                                                                                                   </p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:top;width:53.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:7.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:53.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">At June 30, 2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 1</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 2</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 3</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:53.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;">Assets:</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:top;width:53.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Money market accounts</p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,983</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,983</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:53.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Marketable securities</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,987</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,812</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 42,799</p></td></tr><tr><td style="vertical-align:top;width:53.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total assets</p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,970</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,812</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 65,782</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:53.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Liabilities:</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:top;width:53.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Contingent consideration</p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 961</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 961</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:53.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 961</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 961</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:top;width:53.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:9.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.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';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:6.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';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:7.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';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:9.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:53.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">At December 31, 2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 1</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 2</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 3</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:53.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;">Assets:</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:top;width:53.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Money market accounts</p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 137,723</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 137,723</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:53.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 137,723</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 137,723</p></td></tr><tr><td style="vertical-align:top;width:53.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Liabilities:</p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:53.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Contingent consideration</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 961</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 961</p></td></tr><tr><td style="vertical-align:top;width:53.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total liabilities</p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 961</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 961</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Our marketable securities utilize Level 1 and Level 2 inputs and consist primarily of corporate securities, which primarily include commercial paper and debt instruments including notes issued by foreign or domestic industrial and financial corporations and governments which pay in U.S. dollars and carry a rating of A or better. We have evaluated the various types of securities in our investment portfolio to determine an appropriate fair value hierarchy level based upon trading activity and the observability of market inputs. Due to variations in trading volumes and the lack of quoted market prices in active markets, our fixed maturities are classified as Level 2 securities. The fair value of our fixed maturity marketable securities is derived through the use of a third-party pricing source using recent reported trades for identical or similar securities, making adjustments through the reporting date based upon available market observable data.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The Company’s contingent consideration obligation was initially recorded at fair value and the Company will revalue this obligation each reporting period until the related contingencies are resolved. The fair value measurement is estimated using probability-weighted discounted cash flow approaches that are based on significant unobservable inputs related to achievement of estimated annual sales and are reviewed quarterly. Significant changes to estimated annual sales and discount rates would result in corresponding changes in the fair value of this obligation. There were no significant changes to the fair value of our contingent consideration liabilities during the six months ended June 30, 2019. The following table presents a reconciliation of the beginning and ending amounts related to the fair value of contingent consideration categorized as Level 3:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">                                                                                                                                                                </p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:top;width:86.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman';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.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:8.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:86.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Balance , December 31, 2018</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">    </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 961</p></td></tr><tr><td style="vertical-align:top;width:86.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Payment of contingent consideration</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:86.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Change in fair value</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:top;width:86.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Balance , June 30, 2019</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 961</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="background-color:#ffff00;font-size:1pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">                                                                                                                                                                                   </p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:top;width:53.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:7.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:53.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">At June 30, 2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 1</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 2</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 3</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:53.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;">Assets:</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:top;width:53.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Money market accounts</p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,983</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,983</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:53.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Marketable securities</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,987</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,812</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 42,799</p></td></tr><tr><td style="vertical-align:top;width:53.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total assets</p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,970</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,812</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 65,782</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:53.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Liabilities:</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:top;width:53.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Contingent consideration</p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 961</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 961</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:53.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 961</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 961</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:top;width:53.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:9.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.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';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:6.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';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:7.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';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:9.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:53.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">At December 31, 2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 1</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 2</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 3</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:53.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;">Assets:</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:top;width:53.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Money market accounts</p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 137,723</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 137,723</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:53.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 137,723</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 137,723</p></td></tr><tr><td style="vertical-align:top;width:53.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Liabilities:</p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:53.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Contingent consideration</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 961</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 961</p></td></tr><tr><td style="vertical-align:top;width:53.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total liabilities</p></td><td style="vertical-align:bottom;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 961</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 961</p></td></tr></table> 22983000 22983000 6987000 35812000 42799000 29970000 35812000 65782000 961000 961000 961000 961000 137723000 137723000 137723000 137723000 961000 961000 961000 961000 <p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">                                                                                                                                                                </p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:top;width:86.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman';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.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:8.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:86.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Balance , December 31, 2018</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">    </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 961</p></td></tr><tr><td style="vertical-align:top;width:86.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Payment of contingent consideration</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:86.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Change in fair value</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:top;width:86.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Balance , June 30, 2019</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 961</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="background-color:#ffff00;font-size:1pt;visibility:hidden;">​</span></p> 961000 0 0 961000 <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">13. Income taxes</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Income tax benefit of $81 and income tax expense of $(16) reflect effective tax rates of 54.7% and (0.6)% for the three months ended June 30, 2019 and 2018, respectively. Income tax expense of $(111) and $(144) reflect effective tax rates of (2.3)% and (121.0)% for the six months ended June 30, 2019 and 2018, respectively. Our effective tax rate differs from the statutory rate primarily due to our valuation allowance for the three and six months ended June 30, 2019 and 2018 as well as foreign tax expense for the three and six months ended June 30, 2018.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We operate within federal, state and international taxing jurisdictions and are subject to audit in these jurisdictions. These audits can involve complex issues which may require an extended period to resolve. We are subject to taxation in the United States and in various states. Our tax years 2016 and forward are subject to examination by the IRS and our tax years 2014 and forward are subject to examination by material state jurisdictions. However, due to prior year loss carryovers, the IRS and state tax authorities may examine any tax years for which the carryovers are used to offset future taxable income.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> -81000 16000 -0.547 0.006 111000 144000 0.023 1.210 <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">14. Commitments and contingencies</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><b style="font-weight:bold;">Letters of credit</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We have entered into Letter of Credit Authorization agreements (collectively, “Letters of Credit”), which are issued under our Credit Agreement. The Letters of Credit are irrevocable and serve as performance guarantees that will </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">allow our customers to draw upon the available funds if we are in default. As of June 30, 2019, we have Letters of Credit totaling $12,929 that are scheduled to expire or renew over the next year. There have been no drafts drawn under these Letters of Credit as of June 30, 2019.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><b style="font-weight:bold;">Legal proceedings</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">From time to time, we may be subject to claims, suits, investigations and proceedings arising out of the normal course of business. We are not currently a party to any litigation that we believe could have a material adverse effect on our business, financial position, results of operations or cash flows. Legal costs are expensed as incurred.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><b style="font-weight:bold;">Other matters</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We have received a claim from one of our venue partners with respect to contractual terms on our revenue share payments. The claim asserts that we have underpaid revenue share payments and related interest by approximately $4,600. We are currently in settlement discussions with our venue partner. As of June 30, 2019, we have accrued for the probable and estimable losses that have been incurred, which have been recorded as general and administrative expenses in the condensed consolidated statements of operations. We are not currently a party to any other claims that we believe could have a material adverse effect on our business, financial position, results of operations or cash flows.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 12929000 0 1 4600000 <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">15. Stock incentive plans</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">In March <span style="white-space:pre-wrap;">2011, our board of directors approved the 2011 Equity Incentive Plan (“2011 Plan”). The 2011 Plan provides for the grant of incentive and non-statutory stock options, stock appreciation rights, restricted shares of our common stock, stock units, and performance cash awards. As of June 30, 2019, options to purchase approximately 279,000 shares of common stock and RSUs covering approximately 855,000 shares of common stock were outstanding under the 2011 Plan.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">No further awards will be made under our Amended and Restated 2001 Stock Incentive Plan (“2001 Plan”), and it will be terminated. Options outstanding under the 2001 Plan will continue to be governed by their existing terms.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">Stock-based compensation expense is allocated as follows on the accompanying condensed consolidated statements of operations:</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:57.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';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:7.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';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:7.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:7.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';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:7.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:57.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:57.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:57.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:57.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Network operations </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 348</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 516</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 854</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,053</p></td></tr><tr><td style="vertical-align:bottom;width:57.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Development and technology </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 334</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 314</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 637</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 592</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:57.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Selling and marketing </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 548</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 393</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,077</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 866</p></td></tr><tr><td style="vertical-align:bottom;width:57.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">General and administrative </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 806</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,723</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,812</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,561</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:57.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total stock-based compensation </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,036</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,946</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,380</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,072</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">During the three and six months ended June 30, 2019, we capitalized $235 and $465, respectively, of stock-based compensation expense. During the three and six months ended June 30, 2018, we capitalized $206 and $392, respectively, of stock-based compensation expense. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 36pt;"><b style="font-weight:bold;">Stock option awards</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 36pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We grant stock option awards to both employees and non-employee directors. The grant date for these awards is the same as the measurement date. The stock option awards generally vest over a four-year service period with 25% vesting when the individual completes 12 months of continuous service and the remaining 75% vesting monthly thereafter. These awards are valued as of the measurement date and the stock-based compensation expense, net of forfeitures, is recognized on a straight-line basis over the requisite service period.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">A summary of the stock option activity is as follows:</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:54.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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:9.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.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';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:7.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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:9.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:7.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';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:54.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:54.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:54.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Remaining</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:54.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number of</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Contract</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Aggregate</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:54.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exercise</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Life</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intrinsic</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:54.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> (000’s)</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Price</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> (years)</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Value</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:54.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Outstanding at December 31, 2018</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 304</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7.49</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.8</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,970</p></td></tr><tr><td style="vertical-align:bottom;width:54.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Exercised </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (15)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.47</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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:54.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Canceled/forfeited </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:54.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Outstanding and exercisable at June 30, 2019</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 289</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7.59</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,999</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 36pt;"><b style="font-weight:bold;">Restricted stock unit awards</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 36pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We grant service-based RSUs to executive and non-executive personnel and non-employee directors. The service-based RSUs granted to executive and non-executive personnel generally vest over a three-year period subject to continuous service on each vesting date. The service-based RSUs for our non-employee directors generally vest over a one-year period for existing members and 33.3% per year over a three-year period for new members subject to continuous service on each vesting date.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">We grant performance-based RSUs to executive personnel. These awards vest subject to certain performance objectives based on the Company’s revenue growth, Adjusted EBITDA growth, and/or relative total stockholder return achieved during the specified performance period and certain long-term service conditions. The maximum number of RSUs that may vest is determined based on actual Company achievement and performance-based RSUs generally vest over a three-year period subject to continuous service on each vesting date and achievement of the performance conditions. We recognize stock-based compensation expense for performance-based RSUs when we believe that it is probable that the performance objectives will be met.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">A summary of the RSU activity is as follows:</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">                                                                                                                                                                                </p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:63.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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:16.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:63.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted Average</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:63.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number of Shares</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Grant-Date Fair</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:63.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(000’s)</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Value</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:63.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Non-vested at December 31, 2018</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:16.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,119</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8.60</p></td></tr><tr><td style="vertical-align:bottom;width:63.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Granted(1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 593</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22.76</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:63.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Vested </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:16.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (2,806)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7.21</p></td></tr><tr><td style="vertical-align:bottom;width:63.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Canceled/forfeited </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (51)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23.31</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:63.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Non-vested at June 30, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:16.02%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 855</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22.08</p></td></tr></table><div style="font-family:'Times New Roman';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/></div><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:36pt;"/><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">The RSUs granted to all of our named executive officers in 2017 were subject to satisfaction of specified service-based and performance-based conditions. The performance objectives were subject to under- or over- achievement on a sliding scale, with a threshold of </span><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">50%</span><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"> of the target number of RSUs and a maximum of </span><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">150%</span><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"> of the target RSUs. In February 2019, our Compensation Committee determined actual achievement of the 2017 performance-based RSUs resulting in additional RSUs granted of approximately </span><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">29,000</span><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"> at a grant-date fair value of </span><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">$11.94</span><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"> per share during the six months ended June 30, 2019.</span></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">During the six months ended June 30, 2019, approximately 2,806,000 shares of RSUs vested. The Company issued approximately 1,423,000 shares and the remaining shares were withheld to pay minimum statutory federal, state, and local employment payroll taxes on those vested awards.</p> 279000 855000 <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:57.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';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:7.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';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:7.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:7.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';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:7.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:57.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:57.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:57.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:57.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Network operations </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 348</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 516</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 854</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,053</p></td></tr><tr><td style="vertical-align:bottom;width:57.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Development and technology </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 334</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 314</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 637</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 592</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:57.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Selling and marketing </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 548</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 393</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,077</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 866</p></td></tr><tr><td style="vertical-align:bottom;width:57.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">General and administrative </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 806</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,723</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,812</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,561</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:57.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total stock-based compensation </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,036</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,946</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,380</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,072</p></td></tr></table> 348000 516000 854000 1053000 334000 314000 637000 592000 548000 393000 1077000 866000 806000 1723000 1812000 3561000 2036000 2946000 4380000 6072000 235000 465000 206000 392000 P4Y 0.25 P12M 0.75 <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:54.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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:9.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.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';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:7.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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:9.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:7.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';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:54.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:54.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:54.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Remaining</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:54.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number of</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Contract</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Aggregate</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:54.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exercise</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Life</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intrinsic</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:54.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> (000’s)</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Price</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> (years)</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Value</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:54.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Outstanding at December 31, 2018</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 304</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7.49</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.8</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,970</p></td></tr><tr><td style="vertical-align:bottom;width:54.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Exercised </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (15)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.47</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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:54.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Canceled/forfeited </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:54.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Outstanding and exercisable at June 30, 2019</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 289</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7.59</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,999</p></td></tr></table> 304000 7.49 P3Y9M18D 3970000 15000 5.47 0 0 289000 7.59 P3Y3M18D 2999000 P3Y P1Y 0.333 P3Y P3Y <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">                                                                                                                                                                                </p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:63.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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:16.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:63.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted Average</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:63.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number of Shares</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Grant-Date Fair</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:63.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(000’s)</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Value</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:63.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Non-vested at December 31, 2018</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:16.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,119</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8.60</p></td></tr><tr><td style="vertical-align:bottom;width:63.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Granted(1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 593</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22.76</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:63.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Vested </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:16.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (2,806)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7.21</p></td></tr><tr><td style="vertical-align:bottom;width:63.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Canceled/forfeited </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (51)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23.31</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:63.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Non-vested at June 30, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:16.02%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 855</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22.08</p></td></tr></table><div style="font-family:'Times New Roman';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/></div><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:36pt;"/><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">The RSUs granted to all of our named executive officers in 2017 were subject to satisfaction of specified service-based and performance-based conditions. The performance objectives were subject to under- or over- achievement on a sliding scale, with a threshold of </span><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">50%</span><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"> of the target number of RSUs and a maximum of </span><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">150%</span><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"> of the target RSUs. In February 2019, our Compensation Committee determined actual achievement of the 2017 performance-based RSUs resulting in additional RSUs granted of approximately </span><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">29,000</span><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"> at a grant-date fair value of </span><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">$11.94</span><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"> per share during the six months ended June 30, 2019.</span></td></tr></table> 3119000 8.60 593000 22.76 2806000 7.21 51000 23.31 855000 22.08 0.50 1.50 29000 11.94 2806000 1423000 <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">16. Net income (loss) per share attributable to common stockholders</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">The following table sets forth the computation of basic and diluted net income (loss) per share attributable to common stockholders:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">                                                                                                                                                                                  </p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:52.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:8.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:8.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:8.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:52.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:21.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:21.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:52.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:21.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:21.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:52.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:52.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:45.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(in thousands)</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Numerator:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:52.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="white-space:pre-wrap;">Net income (loss) attributable to common stockholders, basic and diluted</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 216</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,115</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (4,937)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (1,114)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Denominator:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:52.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Weighted average common stock, basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44,041</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 41,961</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 43,786</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 41,645</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Effect of dilutive stock options</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 191</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 472</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:52.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Effect of dilutive RSUs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 146</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,786</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Weighted average common stock, diluted </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44,378</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,219</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 43,786</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 41,645</p></td></tr><tr><td style="vertical-align:bottom;width:52.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">Net income (loss) per share attributable to common stockholders:</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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:52.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="white-space:pre-wrap;">Basic </span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.00</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.05</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (0.11)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (0.03)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:52.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Diluted </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.00</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.05</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (0.11)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (0.03)</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">For the six months ended June 30, 2019 and 2018, we excluded all assumed exercises of stock options and the assumed issuance of common stock under RSUs from the computation of diluted net loss per share as the effect would be anti-dilutive due to the net loss for the period. For the three months ended June 30, 2019 and 2018, we excluded the assumed issuance of approximately 435,000 shares and 27,000 shares, respectively, of common stock under RSUs from the computation of diluted net income per share as the inclusion would have been anti-dilutive. For the three and six months ended June 30, 2019, we also excluded the shares that would be issuable assuming conversion of the Convertible Notes and the shares for the capped call as their effect would be anti-dilutive. Diluted EPS for our Convertible Notes is calculated under the treasury method in accordance with ASC 260, <i style="font-style:italic;">Earnings Per Share</i>.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">On April 1, 2013, the Company approved a stock repurchase program to repurchase up to $10,000 of the Company’s common stock in the open market, exclusive of any commissions, markups or expenses. The stock repurchased will be retired and will resume the status of authorized but unissued shares of common stock. The Company did not repurchase any of our common stock during the three and six months ended June 30, 2019. As of June 30, 2019, the remaining approved amount for repurchases was approximately $5,180. In July 2019, the stock repurchase plan was terminated and was replaced with a new stock repurchase program to repurchase up to $20,000 of the Company’s common stock in the open market.</p> <p style="font-family:'Times New Roman';font-size:10pt;text-indent:36pt;margin:0pt;">                                                                                                                                                                                  </p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:52.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:8.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:8.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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.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';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.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';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:8.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:52.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:21.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:21.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:52.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:21.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:21.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:52.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:52.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:45.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(in thousands)</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Numerator:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:52.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="white-space:pre-wrap;">Net income (loss) attributable to common stockholders, basic and diluted</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 216</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,115</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (4,937)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (1,114)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Denominator:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:52.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Weighted average common stock, basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44,041</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 41,961</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 43,786</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 41,645</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Effect of dilutive stock options</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 191</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 472</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:52.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Effect of dilutive RSUs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 146</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,786</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Weighted average common stock, diluted </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44,378</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,219</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 43,786</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 41,645</p></td></tr><tr><td style="vertical-align:bottom;width:52.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">Net income (loss) per share attributable to common stockholders:</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';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:52.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="white-space:pre-wrap;">Basic </span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.00</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.05</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (0.11)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (0.03)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:52.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Diluted </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.00</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.05</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (0.11)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (0.03)</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 216000 2115000 -4937000 -1114000 44041000 41961000 43786000 41645000 191000 472000 0 0 146000 2786000 0 0 44378000 45219000 43786000 41645000 0.00 0.05 -0.11 -0.03 0.00 0.05 -0.11 -0.03 435000 27000 10000000 5180000 20000000 XML 11 R1.htm IDEA: XBRL DOCUMENT v3.19.2
Document and Entity Information - shares
6 Months Ended
Jun. 30, 2019
Jul. 26, 2019
Document and Entity Information    
Document Type 10-Q  
Document Quarterly Report true  
Document Period End Date Jun. 30, 2019  
Document Transition Report false  
Entity File Number 001-35155  
Entity Registrant Name BOINGO WIRELESS, INC.  
Entity Incorporation, State or Country Code DE  
Entity Tax Identification Number 95-4856877  
Entity Address, Address Line One 10960 Wilshire Blvd., 23rd Floor  
Entity Address, City or Town Los Angeles  
Entity Address, State or Province CA  
Entity Address, Postal Zip Code 90024  
City Area Code 310  
Local Phone Number 586-5180  
Title of 12(b) Security Common Stock, $0.0001 par value  
Security Exchange Name NASDAQ  
Trading Symbol WIFI  
Entity Current Reporting Status Yes  
Entity Interactive Data Current Yes  
Entity Filer Category Large Accelerated Filer  
Entity Small Business false  
Entity Emerging Growth Company false  
Entity Shell Company false  
Entity Common Stock, Shares Outstanding   44,110,918
Current Fiscal Year End Date --12-31  
Document Fiscal Year Focus 2019  
Document Fiscal Period Focus Q2  
Entity Central Index Key 0001169988  
Amendment Flag false  
XML 12 R2.htm IDEA: XBRL DOCUMENT v3.19.2
Condensed Consolidated Balance Sheets - USD ($)
$ in Thousands
Jun. 30, 2019
Dec. 31, 2018
Current assets:    
Cash and cash equivalents $ 27,381 $ 149,412
Marketable securities 42,799 0
Accounts receivable, net 73,996 42,766
Prepaid expenses and other current assets 9,755 7,815
Total current assets 153,931 199,993
Property and equipment, net 350,172 314,179
Operating lease right-of-use assets, net 16,067 0
Goodwill 58,890 59,640
Intangible assets, net 16,890 19,152
Other assets 10,113 9,936
Total assets 606,063 602,900
Current liabilities:    
Accounts payable 21,351 21,543
Accrued expenses and other liabilities 61,444 62,653
Deferred revenue 61,620 80,383
Current portion of operating leases 2,708 0
Current portion of long-term debt 778 0
Current portion of finance leases 3,429 4,201
Current portion of notes payable 2,035 2,411
Total current liabilities 153,365 171,191
Deferred revenue, net of current portion 175,489 137,205
Long-term portion of operating leases 18,421 0
Long-term debt 158,469 151,670
Long-term portion of finance leases 1,790 3,293
Long-term portion of notes payable 683 1,618
Deferred tax liabilities 1,129 1,073
Other liabilities 1,268 6,728
Total liabilities 510,614 472,778
Commitments and contingencies (Note 14)
Stockholders' equity:    
Preferred stock, $0.0001 par value; 5,000 shares authorized; no shares issued and outstanding
Common stock, $0.0001 par value; 100,000 shares authorized; 44,107 and 42,669 shares issued and outstanding at June 30, 2019 and December 31, 2018, respectively 4 4
Additional paid-in capital 230,391 259,132
Accumulated deficit (134,867) (129,930)
Accumulated other comprehensive loss (1,212) (1,295)
Total common stockholders' equity 94,316 127,911
Non-controlling interests 1,133 2,211
Total stockholders' equity 95,449 130,122
Total liabilities and stockholders' equity $ 606,063 $ 602,900
XML 13 R3.htm IDEA: XBRL DOCUMENT v3.19.2
Condensed Consolidated Balance Sheets (Parenthetical) - $ / shares
shares in Thousands
Jun. 30, 2019
Dec. 31, 2018
Condensed Consolidated Balance Sheets    
Preferred stock, par value (in dollars per share) $ 0.0001 $ 0.0001
Preferred stock, shares authorized 5,000 5,000
Preferred stock, shares issued 0 0
Preferred stock, shares outstanding 0 0
Common stock, par value (in dollars per share) $ 0.0001 $ 0.0001
Common stock, shares authorized 100,000 100,000
Common stock, shares issued 44,107 42,669
Common stock, shares outstanding 44,107 42,669
XML 14 R4.htm IDEA: XBRL DOCUMENT v3.19.2
Condensed Consolidated Statements of Operations - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2019
Jun. 30, 2018
Jun. 30, 2019
Jun. 30, 2018
Condensed Consolidated Statements of Operations        
Revenue $ 68,554 $ 59,601 $ 135,027 $ 117,760
Costs and operating expenses:        
Network access 29,802 24,088 61,213 50,653
Network operations 14,249 12,723 28,391 25,569
Development and technology 8,353 7,463 17,352 14,888
Selling and marketing 6,194 5,353 12,061 10,816
General and administrative 7,015 6,730 15,309 14,429
Amortization of intangible assets 1,131 668 2,262 1,395
Total costs and operating expenses 66,744 57,025 136,588 117,750
Income (loss) from operations 1,810 2,576 (1,561) 10
Interest and other expense, net (1,662) (50) (3,338) (129)
Income (loss) before income taxes 148 2,526 (4,899) (119)
Income tax benefit (expense) 81 (16) (111) (144)
Net income (loss) 229 2,510 (5,010) (263)
Net income (loss) attributable to non-controlling interests 13 395 (73) 851
Net income (loss) attributable to common stockholders $ 216 $ 2,115 $ (4,937) $ (1,114)
Net income (loss) per share attributable to common stockholders:        
Basic (in dollars per share) $ 0.00 $ 0.05 $ (0.11) $ (0.03)
Diluted (in dollars per share) $ 0.00 $ 0.05 $ (0.11) $ (0.03)
Weighted average shares used in computing net income (loss) per share attributable to common stockholders:        
Basic (in shares) 44,041 41,961 43,786 41,645
Diluted (in shares) 44,378 45,219 43,786 41,645
XML 15 R5.htm IDEA: XBRL DOCUMENT v3.19.2
Condensed Consolidated Statements of Comprehensive Income (Loss) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2019
Jun. 30, 2018
Jun. 30, 2019
Jun. 30, 2018
Condensed Consolidated Statements of Comprehensive Income (Loss)        
Net income (loss) $ 229 $ 2,510 $ (5,010) $ (263)
Other comprehensive income (loss), net of tax        
Foreign currency translation adjustments 70 (267) 36 (271)
Unrealized gain on marketable securities 29 0 45 0
Comprehensive income (loss) 328 2,243 (4,929) (534)
Comprehensive income (loss) attributable to non-controlling interest 7 452 (75) 905
Comprehensive income (loss) attributable to common stockholders $ 321 $ 1,791 $ (4,854) $ (1,439)
XML 16 R6.htm IDEA: XBRL DOCUMENT v3.19.2
Condensed Consolidated Statement of Stockholders' Equity - USD ($)
shares in Thousands, $ in Thousands
Common Stock
Additional Paid-in Capital
Accumulated Deficit
Accumulated Other Comprehensive Loss
Non-controlling Interests
Total
Balance at Dec. 31, 2017 $ 4 $ 230,679 $ (131,967) $ (898) $ 1,212 $ 99,030
Balance (in shares) at Dec. 31, 2017 40,995          
Issuance of common stock under stock incentive plans   4,228       4,228
Issuance of common stock under stock incentive plans (in shares) 758          
Shares withheld for taxes   (6,340)       (6,340)
Stock-based compensation expense   3,312       3,312
Cumulative effect of a change in accounting principle     3,257   69 3,326
Net income (loss)     (3,229)   456 (2,773)
Other comprehensive income (loss)       (1) (3) (4)
Balance at Mar. 31, 2018 $ 4 231,879 (131,939) (899) 1,734 100,779
Balance (in shares) at Mar. 31, 2018 41,753          
Balance at Dec. 31, 2017 $ 4 230,679 (131,967) (898) 1,212 99,030
Balance (in shares) at Dec. 31, 2017 40,995          
Net income (loss)           (263)
Balance at Jun. 30, 2018 $ 4 238,012 (129,824) (1,223) 1,572 108,541
Balance (in shares) at Jun. 30, 2018 42,253          
Balance at Mar. 31, 2018 $ 4 231,879 (131,939) (899) 1,734 100,779
Balance (in shares) at Mar. 31, 2018 41,753          
Issuance of common stock under stock incentive plans   4,227       4,227
Issuance of common stock under stock incentive plans (in shares) 500          
Shares withheld for taxes   (1,246)       (1,246)
Stock-based compensation expense   3,152       3,152
Non-controlling interest distributions         (614) (614)
Net income (loss)     2,115   395 2,510
Other comprehensive income (loss)       (324) 57 (267)
Balance at Jun. 30, 2018 $ 4 238,012 (129,824) (1,223) 1,572 108,541
Balance (in shares) at Jun. 30, 2018 42,253          
Balance at Dec. 31, 2018 $ 4 259,132 (129,930) (1,295) 2,211 $ 130,122
Balance (in shares) at Dec. 31, 2018 42,669         42,669
Issuance of common stock under stock incentive plans   6       $ 6
Issuance of common stock under stock incentive plans (in shares) 1,310          
Shares withheld for taxes   (32,907)       (32,907)
Stock-based compensation expense   2,574       2,574
Net income (loss)     (5,153)   (86) (5,239)
Other comprehensive income (loss)       (22) 4 (18)
Balance at Mar. 31, 2019 $ 4 228,805 (135,083) (1,317) 2,129 94,538
Balance (in shares) at Mar. 31, 2019 43,979          
Balance at Dec. 31, 2018 $ 4 259,132 (129,930) (1,295) 2,211 $ 130,122
Balance (in shares) at Dec. 31, 2018 42,669         42,669
Net income (loss)           $ (5,010)
Balance at Jun. 30, 2019 $ 4 230,391 (134,867) (1,212) 1,133 $ 95,449
Balance (in shares) at Jun. 30, 2019 44,107         44,107
Balance at Mar. 31, 2019 $ 4 228,805 (135,083) (1,317) 2,129 $ 94,538
Balance (in shares) at Mar. 31, 2019 43,979          
Issuance of common stock under stock incentive plans   74       74
Issuance of common stock under stock incentive plans (in shares) 128          
Shares withheld for taxes   (759)       (759)
Stock-based compensation expense   2,271       2,271
Non-controlling interest distributions         (1,003) (1,003)
Net income (loss)     216   13 229
Other comprehensive income (loss)       105 (6) 99
Balance at Jun. 30, 2019 $ 4 $ 230,391 $ (134,867) $ (1,212) $ 1,133 $ 95,449
Balance (in shares) at Jun. 30, 2019 44,107         44,107
XML 17 R7.htm IDEA: XBRL DOCUMENT v3.19.2
Condensed Consolidated Statements of Cash Flows - USD ($)
$ in Thousands
6 Months Ended
Jun. 30, 2019
Jun. 30, 2018
Cash flows from operating activities    
Net loss $ (5,010) $ (263)
Adjustments to reconcile net loss including non-controlling interests to net cash provided by operating activities:    
Depreciation and amortization of property and equipment 35,883 37,868
Amortization of intangible assets 2,262 1,395
Impairment loss, loss on disposal of fixed assets and intangible assets held for sale, net, and other 352 135
Stock-based compensation 4,380 6,072
Amortization of deferred financing costs and debt discount, net of amounts capitalized 4,381 0
Amortization of operating lease right-of-use assets 1,045 0
Gains and amortization of premiums/discounts for marketable securities (425) 0
Changes in operating assets and liabilities:    
Accounts receivable (31,350) (12,567)
Prepaid expenses and other assets (376) (22)
Accounts payable 95 704
Accrued expenses and other liabilities 3,661 1,018
Deferred revenue 19,521 (1,576)
Operating lease liabilities (1,447) 0
Net cash provided by operating activities 32,972 32,764
Cash flows from investing activities    
Purchases of marketable securities (55,629) 0
Sales of marketable securities 13,300 0
Purchases of property and equipment (73,852) (42,918)
Net cash used in investing activities (116,181) (42,918)
Cash flows from financing activities    
Debt issuance costs (1,815) 0
Proceeds from credit facility 3,500 0
Principal payments on credit facility (389) (438)
Payments of acquisition related consideration (1,952) 0
Proceeds from exercise of stock options 80 8,455
Payments of finance leases and notes payable (3,586) (2,865)
Payments of withholding tax on net issuance of restricted stock units (33,666) (7,586)
Payments to non-controlling interests (1,003) (614)
Net cash used in financing activities (38,831) (3,048)
Effect of exchange rates on cash 9 (23)
Net decrease in cash, cash equivalents, and restricted cash (122,031) (13,225)
Cash and cash equivalents at beginning of period 149,412 26,685
Cash, cash equivalents, and restricted cash at end of period 27,381 13,460
Supplemental disclosure of non-cash investing and financing activities    
Property and equipment costs in accounts payable, accrued expenses and other liabilities 34,777 26,756
Purchase of equipment and prepaid maintenance services under capital financing arrangements 0 5,068
Capitalized stock-based compensation included in property and equipment costs 465 392
Purchase price for business acquisition included in accrued expenses and other liabilities 2,961 0
Financed sale of intangible assets held for sale $ 299 $ 0
XML 18 R8.htm IDEA: XBRL DOCUMENT v3.19.2
The business
6 Months Ended
Jun. 30, 2019
The business  
The business

1. The business

Boingo Wireless, Inc. and its subsidiaries (collectively “we, “us”, “our” or “the Company”) is a leading global provider of wireless connectivity solutions for smartphones, tablets, laptops, wearables and other wireless-enabled consumer devices. Boingo Wireless, Inc. was incorporated on April 16, 2001 in the State of Delaware. We have a diverse monetization model that enables us to generate revenues from wholesale partnerships, retail sales, and advertising across these wireless networks. Wholesale offerings include distributed antenna systems (“DAS”) or small cells, which are cellular extension networks, multifamily, carrier offload, Wi-Fi roaming, value-added services, private label Wi-Fi, and location-based services. Retail products include Wi-Fi services for military personnel living in the barracks of U.S. Army, Air Force and Marine bases around the world, and Wi-Fi subscriptions and day passes that provide access to over 1.3 million commercial hotspots worldwide. Advertising revenue is driven by Wi-Fi sponsorships at airports, hotels, cafes and restaurants, and public spaces. Our customers include some of the world’s largest carriers, telecommunications service providers, global consumer brands, and property owners, as well as troops stationed at military bases and Internet savvy consumers on the go.

XML 19 R9.htm IDEA: XBRL DOCUMENT v3.19.2
Summary of significant accounting policies
6 Months Ended
Jun. 30, 2019
Summary of significant accounting policies  
Summary of significant accounting policies

2. Summary of significant accounting policies

Basis of presentation

The accompanying interim condensed consolidated financial statements and related notes for the three and six months ended June 30, 2019 and 2018 are unaudited. The unaudited interim condensed consolidated financial information has been prepared in accordance with the rules and regulations of the SEC for interim financial information. Accordingly, they do not include all information and footnotes required by generally accepted accounting principles (“GAAP”) in the United States of America (“U.S.”) for complete financial statements. These financial statements should be read in conjunction with the audited consolidated financial statements and the accompanying notes for the year ended December 31, 2018 contained in our annual report on Form 10-K filed with the SEC on March 1, 2019. The unaudited interim condensed consolidated financial statements have been prepared on the same basis as the annual consolidated financial statements and in the opinion of management, reflect all adjustments, consisting of normal recurring adjustments, necessary for a fair statement of our results of operations for the three and six months ended June 30, 2019 and 2018, our cash flows for the six months ended June 30, 2019 and 2018, and our financial position as of June 30, 2019. The year-end balance sheet data was derived from audited consolidated financial statements but does not include all disclosures required by GAAP. Interim results are not necessarily indicative of the results to be expected for an entire year or any other future year or interim period.

In June 2018, the Financial Accounting Standards Board (“FASB”) issued Accounting Standards Update (“ASU”) 2018-07, Improvements to Nonemployee Share-Based Payment Accounting, which eliminates the separate accounting model for nonemployee share-based payment awards and generally requires companies to account for share-based payment transactions with nonemployees in the same way as share-based payment transactions with employees. The accounting remains different for attribution, which represents how the equity-based payment cost is recognized over the vesting period, and a contractual term election for valuing nonemployee equity share options. The standard is effective for interim and annual periods beginning after December 15, 2018. We adopted ASU 2018-07 on January 1, 2019 and the adoption of this standard did not have a material impact on our condensed consolidated financial statements.

In February 2016, the FASB issued a new standard related to leases, which was codified into Accounting Standards Codification (“ASC”) 842, Leases. ASC 842 requires lessees to recognize assets and liabilities for all leases with lease terms of more than 12 months on the balance sheet. Under ASC 842, the recognition, measurement, and presentation of expenses and cash flows arising from a lease by a lessee will depend on its classification as a finance or operating lease. On January 1, 2019, we adopted ASC 842 using the modified retrospective transition approach. ASC

842 permits two methods of adoption and we elected to apply the guidance to each lease that had commenced as of January 1, 2019 with a cumulative-effect adjustment to the opening balance of retained earnings as of that date. ASC 842 permits various optional transition practical expedients. The discount rate used to calculate the present value of the future payments was determined as of January 1, 2019 for existing lease contracts and was generally based on our incremental borrowing rate as of January 1, 2019 commensurate with the remaining lease term. We also elected the package of practical expedients which included the following: (i) an entity need not reassess whether any expired or existing contracts are or contain leases; (ii) an entity need not reassess the lease classification for any expired or existing leases; and (iii) an entity need not reassess initial direct costs for any existing leases. The standard had a material impact on our condensed consolidated balance sheet but did not have an impact on our condensed consolidated statement of operations and our condensed consolidated statement of cash flows. The most significant impact was the recognition of right-of-use (“ROU”) assets and liabilities related to our operating leases, while our accounting for finance leases remained substantially unchanged. Adoption of the new standard resulted in the recording of $16,916 of operating lease ROU assets and $22,338 of operating lease ROU liabilities as of January 1, 2019.

Principles of consolidation

The unaudited condensed consolidated financial statements include our accounts and the accounts of our majority owned subsidiaries. We consolidate our 70% ownership of Chicago Concourse Development Group, LLC and our 75% ownership of Boingo Holding Participacoes Ltda. in accordance with ASC 810, Consolidation. Other parties’ interests in consolidated entities are reported as non-controlling interests. All intercompany balances and transactions have been eliminated in consolidation.

Marketable securities

Our marketable securities consist of available-for-sale securities with original maturities exceeding three months. According to ASC 320, Investments—Debt and Equity Securities, we have classified securities, which have readily determinable fair values and are highly liquid, as short-term because such securities are expected to be realized within a one-year period. At June 30, 2019, we had $42,799 in marketable securities. We had no marketable securities at December 31, 2018.

Marketable securities are reported at fair value with the related unrealized gains and losses reported as other comprehensive income (loss) until realized or until a determination is made that an other-than-temporary decline in market value has occurred. No significant unrealized gains and losses have been reported during the periods presented. Factors considered by us in assessing whether an other-than-temporary impairment has occurred include the nature of the investment, whether the decline in fair value is attributable to specific adverse conditions affecting the investment, the financial condition of the investee, the severity and the duration of the impairment and whether we have the ability to hold the investment to maturity. When it is determined that an other-than-temporary impairment has occurred, the investment is written down to its market value at the end of the period in which it is determined that an other-than-temporary decline has occurred. The cost of marketable securities sold is based upon the specific identification method. Any realized gains or losses on the sale of investments are reflected as a component of interest and other expense, net.

For the three and six months ended June 30, 2019, we had no significant realized or unrealized gains or losses from investments in marketable securities classified as available-for-sale. As of June 30, 2019, we had $45 of cumulative unrealized gains, net of tax, which was $0 as of June 30, 2019 due to the full valuation allowance established against our deferred tax assets, in accumulated other comprehensive loss.

Segment and geographic information

We operate as one reportable segment; a service provider of wireless connectivity solutions across our managed and operated network and aggregated network for mobile devices such as laptops, smartphones, tablets and other wireless-enabled consumer devices. This single segment is consistent with the internal organization structure and the manner in which operations are reviewed and managed by our Chief Executive Officer, the chief operating decision maker.

All significant long-lived tangible assets are held in the United States of America. We do not disclose sales by geographic area because to do so would be impracticable.

The following is a summary of our revenue disaggregated by product offerings:

                                                                                                                                                                              

Three Months Ended

Six Months Ended

June 30, 

June 30, 

    

2019

    

2018

    

2019

    

2018

Revenue:

DAS

$

27,622

$

21,885

$

51,717

$

45,530

Military/multifamily

24,396

16,735

50,293

32,589

Wholesale—Wi-Fi

 

10,718

 

13,530

21,738

24,679

Retail

3,847

4,566

7,773

9,876

Advertising and other

 

1,971

 

2,885

3,506

5,086

Total revenue

$

68,554

$

59,601

$

135,027

$

117,760

Revenue recognition

We generate revenue from several sources including: (i) DAS customers that are telecom operators under long-term contracts for access to our DAS at our managed and operated locations, (ii) military and retail customers under subscription plans for month-to-month network access that automatically renew, and military and retail single-use access from sales of hourly, daily or other single-use access plans, (iii) arrangements with property owners for multifamily properties that provide for network installation and monthly Wi-Fi services and support for residents and employees, (iv) arrangements with wholesale Wi-Fi customers that provide software licensing, network access, and/or professional services fees, and (v) display advertisements and sponsorships on our walled garden sign-in pages. Software licensed by our wholesale platform services customers can only be used during the term of the service arrangements and has no utility to them upon termination of the service arrangement.

Revenues are recognized when a contract with a customer exists and control of the promised goods or services is transferred to our customers, in an amount that reflects the consideration we expect to be entitled to in exchange for those goods or services and the identified performance obligation has been satisfied. Contracts entered into at or near the same time with the same customer are combined and accounted for as a single contract if the contracts have a single commercial objective, the amount of consideration is dependent on the price or performance of the other contract, or the services promised in the contracts are a single performance obligation. Contract amendments are routine in the performance of our DAS, wholesale Wi-Fi, and advertising contracts. Contracts are often amended to account for changes in contract specifications or requirements or expand network access services. In most instances, our DAS and wholesale Wi-Fi contract amendments are for additional goods or services that are distinct, and the contract price increases by an amount that reflects the standalone selling price of the additional goods or services; therefore, such contract amendments are accounted for as separate contracts. Contract amendments for our advertising contracts are also generally for additional goods or services that are distinct; however, the contract price does not increase by an amount that reflects the standalone selling price of the additional goods or services. Advertising contract amendments are therefore generally accounted for as contract modifications under the prospective method. Contract amendments to transaction prices with no change in remaining services are accounted for as contract modifications under the cumulative catch-up method.

A performance obligation is a promise in a contract to transfer a distinct good or service to the customer and is the unit of account in ASC 606, Revenue from Contracts with Customers. A contract’s transaction price is allocated to each distinct performance obligation and is recognized as revenue when, or as, the performance obligation is satisfied, which typically occurs when the services are rendered. Determining whether products and services are considered distinct performance obligations that should be accounted for separately versus together may require significant judgment. Our contracts with customers may include multiple performance obligations. For such arrangements, we allocate revenue to each performance obligation based on its relative standalone selling price. We generally determine standalone selling prices based on the prices charged to customers. Judgment may be used to determine the standalone selling prices for items that are not sold separately, including services provided at no additional charge. Most of our performance obligations are satisfied over time as services are provided. We generally recognize revenue on a gross

basis as we are primarily responsible for fulfilling the promises to provide the specified goods or services, we are responsible for paying all costs related to the goods or services before they have been transferred to the customer, and we have discretion in establishing prices for the specified goods or services. Revenue is presented net of any sales and value added taxes.

Payment terms vary on a contract-by-contract basis, although terms generally require payment within 30 to 60 days for non-recurring payments, the first day of the monthly or quarterly billing cycle for recurring payments for DAS and wholesale Wi-Fi contracts, and the first day of the month prior to the month that services are provided for multifamily contracts. We apply a practical expedient for purposes of determining whether a significant financing component may exist for our contracts if, at contract inception, we expect that the period between when we transfer the promised good or service to the customer and when the customer pays for that good or service will be one year or less. In instances where the customer pays for a good or service one year or more in advance of the period when we transfer the promised good or service to the customer, we have determined our contracts generally do not include a significant financing component. The primary purpose of our invoicing terms is not to receive financing from our customers or to provide customers with financing but rather to maximize our profitability on the customer contract. Specifically, inclusion of non-refundable upfront fees in our long-term customer contracts increases the likelihood that the customer will be committed through the end of the contractual term and ensures recoverability of the capital outlay that we incur in expectation of the customer fulfilling its contractual obligations. We may also provide service credits to our customers if we fail to meet contractual monthly system uptime requirements and we account for the variable consideration related to these service credits using the most likely amount method.

For contracts that include variable consideration, we estimate the amount of consideration at contract inception under the expected value method or the most likely amount method and include the amount of variable consideration that is not considered to be constrained. Significant judgment is used in constraining estimates of variable consideration. We update our estimates at the end of each reporting period as additional information becomes available.

Timing of revenue recognition may differ from the timing of invoicing to customers. We record unbilled receivables (contract assets) when revenue is recognized prior to invoicing, deferred revenue (contract liabilities) when revenue is recognized after invoicing, and receivables when we have an unconditional right to consideration to invoice and receive payment in the future. We present our DAS, multifamily, and wholesale Wi-Fi contracts in our condensed consolidated balance sheet as either a contract asset or a contract liability with any unconditional rights to consideration presented separately as a receivable. Our other customer contracts generally do not have any significant contract asset or contract liability balances. Generally, a significant portion of the billing for our DAS contracts occurs prior to revenue recognition, resulting in our DAS contracts being presented as contract liabilities. In contrast, our wholesale Wi-Fi contracts that contain recurring fees with annual escalations are generally presented as contract assets as revenue is recognized prior to invoicing. Our multifamily contracts can be presented as either contract liabilities or contract assets primarily as a result of timing of invoicing for the network installations.

We recognize an asset for the incremental costs of obtaining a contract with a customer if we expect the benefit of those costs to be longer than one year. We have determined that certain sales incentive programs meet the requirements to be capitalized. Total capitalized costs to obtain a contract were immaterial during the three and six months ended June 30, 2019 and are included in prepaid expenses and other current assets and non-current other assets on our condensed consolidated balance sheets. We apply a practical expedient to expense costs as incurred for costs to obtain a contract with a customer when the amortization period would have been one year or less, the most significant of which relates to sales commissions related to obtaining our advertising customer contracts. Contract costs are evaluated for impairment in accordance with ASC 310, Receivables.

DAS

We enter into long-term contracts with telecom operators at our managed and operated locations. The initial term of our contracts with telecom operators generally range from five to twenty years and the agreements generally contain renewal options. Some of our contracts provide termination for convenience clauses that may or may not include substantive termination penalties. We apply judgment in determining the contract term, the period during which we have present and enforceable rights and obligations. Our DAS customer contracts generally contain a single performance

obligationprovide non-exclusive access to our DAS or small cell networks to provide telecom operators’ customers with access to the licensed wireless spectrum, together with providing telecom operators with construction, installation, optimization/engineering, maintenance services and agreed-upon storage space for the telecom operators’ transmission equipment, each related to providing such licensed wireless spectrum to the telecom operators. The performance obligation is considered a series of distinct services as the performance obligation is satisfied over time and the same time-based input method would be used to measure our progress toward complete satisfaction of the performance obligation to transfer each distinct service in the series to the customer. Our contract fee structure generally includes a non-refundable upfront fee and we evaluated whether customer options to renew services give rise to a material right that should be accounted for as a separate performance obligation because of those non-refundable upfront fees. We believe that a material right generally does not exist for our DAS customer contracts that contain renewal options because the telecom operators’ decision to renew is highly dependent upon our ability to maintain our exclusivity as the DAS service provider at the venue location and our limited operating history with venue and customer renewals. The telecom operators will make the decision to incur the capital improvement costs at the venue location irrespective of our remaining exclusivity period with the venue as the telecom operators expect that the assets will continue to be serviced regardless of whether we will remain such exclusive DAS service provider. Our contracts also provide our DAS customers with the option to purchase additional future services such as upgrades or enhancements. This option is not considered to provide the customer with a material right that should be accounted for as a separate performance obligation since the cost of the additional future services depends entirely on the market rate of such services at the time such services are requested and we are not automatically obligated to stand ready to deliver these additional goods or services as the customer may reject our proposal. Periodically, we install and sell DAS networks to customers where we do not have service contracts or remaining obligations beyond the installation of those networks and we recognize build-out fees for such projects as revenue when the installation work is completed, and the network has been accepted by the customer.

Our contract fee structure may include varying components of an upfront build-out fee and recurring access, maintenance, and other fees. The upfront build-out fee is generally structured as a firm-fixed price or cost-plus arrangement and becomes payable as certain contract and/or construction milestones are achieved. Our DAS and small cell networks are neutral-host networks that can accommodate multiple telecom operators. Some of our DAS customer contracts provide for credits that may be issued to existing telecom operators for additional telecom operators subsequently joining the DAS network. The credits are generally based upon a fixed dollar amount per additional telecom operator, a fixed percentage amount of the original build-out fee paid by the telecom operator per additional telecom operator, or a proportionate share based upon the split among the relevant number of telecom operators for the actual costs incurred by all telecom operators to construct the DAS network. In most cases, there is significant uncertainty on whether additional telecom operator contracts will be executed at inception of the contract with the existing telecom operator. We believe that the upfront build-out fee is fixed consideration once the build-out is complete and any subsequent credits that may be issued would be accounted for in a manner similar to a contract modification under the prospective method because (i) the execution of customer contracts with additional telecom carriers is at our sole election and (ii) we would not execute agreements with additional telecom carriers if it would not increase our revenues and gross profits at the venue level. Further, the credits issued to the existing telecom operator changes the transaction price on a go-forward basis, which corresponds with the decline in service levels for the existing telecom operator once the neutral-host DAS network can be accessed by the additional telecom operator. The recurring access, maintenance, and other fees generally escalate on an annual basis. The recurring fees are variable consideration until the contract term and annual escalation dates are fixed. We estimate the variable consideration for our recurring fees using the most likely amount method based on the expected commencement date for the services. We evaluate our estimates of variable consideration each period and record a cumulative catch-up adjustment in the period in which changes occur for the amount allocated to satisfied performance obligations.

We generally recognize revenue related to our single performance obligation for our DAS customer contract monthly over the contract term once the customer may access the DAS network and we commence maintenance on the DAS network.

Military and retail

Military and retail customers must review and agree to abide by our standard “Customer Agreement (With Acceptable Use Policy) and End User License Agreement” before they are able to sign up for our subscription or single-use Wi-Fi network access services. Our military and retail customer contracts generally contain a single performance obligationprovide non-exclusive access to Wi-Fi services, together with performance of standard maintenance, customer support, and the Wi-Finder app to facilitate seamless connection to the Company’s Wi-Fi network. The performance obligation is considered a series of distinct services as the performance obligation is satisfied over time and the same time-based input method would be used to measure our progress toward complete satisfaction of the performance obligation to transfer each distinct service in the series to the customer. Our contracts also provide our military and retail subscription customers with the option to renew the agreement when the subscription term is over. We do not consider this option to provide the customer with a material right that should be accounted for as a separate performance obligation because the customer would not receive a discount if it decided to renew and the option to renew is cancellable with 5 days’ notice prior to the end of the then current term by either party.

The contract transaction price is determined based on the subscription or single-use plan selected by the customer. Our military and retail service plans are for fixed price services as described on our website. From time to time, we offer promotional discounts that result in an immediate reduction in the price paid by the customer. Subscription fees from military and retail customers are paid monthly in advance. We provide refunds for our military and retail services on a case-by-case basis. Refunds and credit card chargeback amounts are not significant and are recorded as contra-revenue in the period the refunds are made, or chargebacks are received.

Subscription fee revenue is recognized ratably over the subscription period. Revenue generated from military and retail single-use access is recognized when access is provided, and the performance obligation is satisfied.

Multifamily

We enter into long-term contracts with property owners. The initial term of our contracts with property owners generally range from three to five years and the contracts may contain renewal options. Some of our contracts provide termination for convenience clauses that may or may not include substantive termination penalties. We apply judgment in determining the contract term, which is the period during which we have present and enforceable rights and obligations. Our customer contracts generally contain two performance obligations: (i) install the network required to provide Wi-Fi services; and (ii) provide Wi-Fi services and technical support to the residents and employees. Our contracts may also provide our property owners with the option to renew the agreement. We do not consider this option to provide the property owner with a material right that should be accounted for as a separate performance obligation because the property owner would not receive a discount if it decided to renew and the option to renew is generally cancellable by either party subject to the notice of non-renewal requirements specified in the contract. Our contracts may also provide our customers with the option to purchase additional future services. We do not consider this option to provide the customer with a material right that should be accounted for as a separate performance obligation since the cost of the additional future services are generally at market rates for such services and we are not automatically obligated to stand ready to deliver these additional goods or services because the customer may reject our proposal.

Our contract fee structure includes a network installation fee and recurring Wi-Fi service and support fees. The network installation fee is generally structured as a firm-fixed price arrangement and becomes payable as certain contract and/or installation milestones are achieved. We generally estimate variable consideration for unpriced change orders using the most likely amount method based on the expected price for those services. If network installations are not completed by specified dates, we may be subject to network installation penalties. We estimate the variable consideration for our network installation fees using the most likely amount method based on the amount of network installation penalties we expect to incur. Title to the network generally transfers to the property owner once installation is completed and the network has been accepted. We generally recognize revenue related to our network installation performance obligation using a cost-to-cost method over the network installation period. We may provide latent defect warranties for materials and installation labor services related to our network installation services. Our warranty obligations are generally not accounted for as separate performance obligations as warranties cannot be separately purchased and warranties do not provide a service in addition to the assurance that the network will function as expected.

The recurring fees commence once the network is launched with recurring fees generally based upon a fixed or variable occupancy rate. The recurring Wi-Fi service fees may be adjusted prospectively for changes in circuit and/or video content costs, and Wi-Fi support fees may escalate on an annual basis. We estimate the variable consideration for our recurring fees using the expected value method with the exception of the variable consideration related to actual occupancy rates, which we record when we have the contractual right to bill. We evaluate our estimates of variable consideration each period and record a cumulative catch-up adjustment in the period in which changes occur for the amount allocated to satisfied performance obligations. We recognize revenue related to the recurring fees on a monthly basis over the contract term as the Wi-Fi services and support is rendered, and the performance obligation is satisfied.

Wholesale Wi-Fi

We enter into long-term contracts with enterprise customers such as telecom operators, cable companies, technology companies, and enterprise software/services companies, that pay us usage-based Wi-Fi network access and software licensing fees to allow their customers' access to our footprint worldwide. We also enter into long-term contracts with financial institutions and other enterprise customers who provide access to our Wi-Fi footprint as a value-added service for their customers. The initial term of our contracts with wholesale Wi-Fi customers generally range from one to three years and the agreements generally contain renewal options. Some of our contracts provide termination for convenience clauses that may or may not include substantive termination penalties. We apply judgment in determining the contract term, the period during which we have present and enforceable rights and obligations. Our wholesale Wi-Fi customer contracts generally contain a single performance obligation-provide non-exclusive rights to access our Wi-Fi networks to provide wholesale Wi-Fi customers' end customers with access to the high-speed broadband network that may be bundled together with integration services, support services, and/or performance of standard maintenance. The performance obligation is considered a series of distinct services as the performance obligation is satisfied over time and the same time-based input method or usage-based output method would be used to measure our progress toward complete satisfaction of the performance obligation to transfer each distinct service in the series to the customer. Our contracts may also provide our enterprise customers with the option to renew the agreement. This option is not considered to provide the customer with a material right that should be accounted for as a separate performance obligation because the customer would not receive a discount if it decided to renew and the option to renew is generally cancellable by either party subject to the notice of non-renewal requirements specified in the contract. Our contracts may also provide our wholesale Wi-Fi customers with the option to purchase additional future services. We do not consider this option to provide the customer with a material right that should be accounted for as a separate performance obligation since the cost of the additional future services are generally at market rates for such services and we are not automatically obligated to stand ready to deliver these additional goods or services because the customer may reject our proposal. Periodically, we install and sell Wi-Fi networks to customers where we do not have service contracts or remaining obligations beyond the installation of those networks and we recognize build-out fees for such projects as revenue when the installation work is completed, and the network has been accepted by the customer.

Our contract fee structure may include varying components of a minimum fee and usage-based fees. Minimum fees represent fixed price consideration while usage-based fees represent variable consideration. With respect to variable consideration, our commitment to our wholesale Wi-Fi customers consists of providing continuous access to the network. It is therefore a single performance obligation to stand ready to perform and we allocate the variable fees charged for usage when we have the contractual right to bill. The variable component of revenue is recognized based on the actual usage during the period.

Wholesale Wi-Fi revenue is recognized as it is earned over the relevant contract term with variable consideration recognized when we have the contractual right to bill.

Advertising

We generally enter into short-term cancellable insertion orders with our advertising customers for advertising campaigns that are served at our managed and operated locations and other locations where we solely provide authorized access to a partner’s Wi-Fi network through sponsored and promotional programs. Our sponsorship advertising arrangements are generally priced under a cost per engagement structure, which is a set price per click or engagement, or

a cost per install structure for third party application downloads. Our display advertising arrangements are priced based on cost per thousand impressions. Insertion orders may also include bonus items. Our advertising customer contracts may contain multiple performance obligations with each distinct service. These distinct services may include an advertisement video or banner impressions in the contract bundled with the requirement to provide network, space on the website, and integration of customer advertisement onto the website, and each is generally considered to be its own performance obligation. The performance obligations are considered a series of distinct services as the performance obligations are satisfied over time and the same action-based output method would be used to measure our progress toward complete satisfaction of the performance obligation to transfer each distinct service in the series to the customer.

The contract transaction price is comprised of variable consideration based on the stated rates applied against the number of units delivered inclusive of the bonus units subject to the maximums provided for in the insertion order. It is customary for us to provide additional units over and above the amounts contractually required; however, there are a number of factors that can also negatively impact our ability to deliver the units required by the customer such as service outages at the venue resulting from power or circuit failures and customer cancellation of the remaining undelivered units under the insertion order due to campaign performance or budgetary constraints. Typically, the advertising campaign periods are short in duration. We therefore use the contractual rates per the insertion orders and actual units delivered to determine the transaction price each period end. The transaction price is allocated to each performance obligation based on the standalone selling price of each performance obligation.

Advertising revenue is recognized ratably over the service period based on actual units delivered subject to the maximums provided for in the insertion order.

Leases

We determine if an arrangement is a lease at inception. Operating leases are included in operating lease right-of-use assets, current portion of operating and finance leases, and long-term portion of operating and finance leases in our condensed consolidated balance sheets. Finance leases are included in property and equipment, net, current portion of operating and finance leases, and long-term portion of operating and finance leases in our condensed consolidated balance sheets.

Operating and finance lease ROU assets and ROU liabilities are recognized based on the present value of the future minimum lease payments over the lease term at the commencement date. As most of our leases do not provide an implicit rate, we use our incremental borrowing rate based on the information available at the commencement date in determining the present value of future payments. The ROU asset also includes any lease payments made and excludes lease incentives and initial direct costs incurred. Our lease terms may include options to extend or terminate the lease when it is reasonably certain that we will exercise that option. Lease expense for minimum lease payments is recognized on a straight-line basis over the lease term. We have lease agreements with lease and non-lease components, which are accounted for separately for the asset classes maintained. We exclude short-term leases with a lease term of 12 months or less at the commencement date from our condensed consolidated balance sheets.

Income taxes

We calculate our interim income tax provision in accordance with ASC 270, Interim Reporting, and ASC 740, Accounting for Income Taxes. At the end of each interim period, we estimate the annual effective tax rate and apply that rate to our ordinary quarterly earnings. The tax expense or benefit related to significant, unusual, or extraordinary items is recognized in the interim period in which those items occur. In addition, the effect of changes in enacted tax laws, rates, or tax status is recognized in the interim period in which the change occurs. Excess windfall tax benefits and tax deficiencies related to our stock option exercises and restricted stock unit (“RSU”) vesting are recognized as an income tax benefit or expense in our condensed consolidated statements of operations in the period they are deducted on the income tax return. Excess windfall tax benefits and tax deficiencies are therefore not anticipated when determining the annual effective tax rate and are instead recognized in the interim period in which those items occur.

The computation of the annual estimated effective tax rate at each interim period requires certain estimates and significant judgment, including the expected operating income (loss) for the year, projections of the proportion of income

(loss) earned and taxed in various states, permanent and temporary differences as a result of differences between amounts measured and recognized in accordance with tax laws and financial accounting standards, and the likelihood of recovering deferred tax assets generated in the current year. The accounting estimates used to compute the provision for income taxes may change as new events occur, additional information is obtained, or as the tax environment changes.

As of June 30, 2019, we had an immaterial amount of unremitted earnings in our subsidiaries located outside of the U.S. for which state taxes have not been paid. Our intention is to indefinitely reinvest these earnings outside the U.S. If we were to remit our foreign earnings, we would be subject to state income taxes or withholding taxes imposed on actual distributions, or currency transaction gains (losses) that would result in taxation upon remittance. However, the amounts of any such tax liabilities resulting from the repatriation of foreign earnings are not material.

Foreign currency translation

Our Brazilian subsidiary uses the Brazilian Real as its functional currency. Assets and liabilities of our Brazilian subsidiary are translated to U.S. dollars at period-end rates of exchange, and revenues and expenses are translated at average exchange rates prevailing for each month. The resulting translation adjustments are made directly to a separate component of other comprehensive loss, which is reflected in stockholders’ equity in our condensed consolidated balance sheets. As of June 30, 2019 and December 31, 2018, the Company had $(1,257) and $(1,295), respectively, of cumulative foreign currency translation adjustments, net of tax, which was $0 as of June 30, 2019 and December 31, 2018 due to the full valuation allowance established against our deferred tax assets, in accumulated other comprehensive loss.

The functional currency for our other foreign subsidiaries is the U.S. dollar. Gains and losses from the revaluation of foreign currency transactions and monetary assets and liabilities are included in the condensed consolidated statements of operations.

Use of estimates

The preparation of accompanying condensed consolidated financial statements in conformity with GAAP requires us to make estimates and assumptions that affect the reported amounts of assets and liabilities and the disclosure of contingent assets and liabilities at the dates of the accompanying condensed consolidated financial statements, and the reported amounts of revenue and expenses during the reporting period. Actual results could differ from those estimates. Assets and liabilities which are subject to significant judgment and the use of estimates include the allowance for doubtful accounts, recoverability of goodwill and long-lived assets, valuation allowances with respect to deferred tax assets, useful lives associated with property and equipment, valuation of ROU assets and ROU liabilities, valuation and useful lives of intangible assets, valuation of contingent consideration, contract assets and contract liabilities including estimates of variable consideration, and the valuation and assumptions underlying stock-based compensation and other equity instruments. On an ongoing basis, we evaluate our estimates compared to historical experience and trends, which form the basis for making judgments about the carrying value of assets and liabilities.

Fair value of financial instruments

Fair value is defined as 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, we consider the principal or most advantageous market in which it would transact, and we consider assumptions that market participants would use when pricing the asset or liability.

The accounting guidance for fair value measurement also requires an entity to maximize the use of observable inputs and minimize the use of unobservable inputs when measuring fair value. The standard establishes a fair value hierarchy based on the level of independent, objective evidence surrounding the inputs used to measure 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. The fair value hierarchy is as follows:

Level 1—Unadjusted quoted prices in active markets that are accessible at the measurement date for identical, unrestricted assets or liabilities.

Level 2—Quoted prices for identical assets and liabilities in markets that are not active, quoted prices for similar assets and liabilities in active markets or financial instruments for which significant inputs are observable, either directly or indirectly.

Level 3—Unobservable inputs that are supported by little or no market activity and that are significant to the fair value of the assets or liabilities.

The carrying amount reflected in the accompanying condensed consolidated balance sheets for cash and cash equivalents, accounts receivable, prepaid expenses and other current assets, other assets, accounts payable, accrued expenses and other liabilities, and deferred revenue approximates fair value due to the short duration and nature of these financial instruments.

Recent accounting pronouncements

In August 2018, the FASB issued ASU 2018-15, Intangibles—Goodwill and Other—Internal-Use Software (Subtopic 350-40): Customer’s Accounting for Implementation Costs Incurred in a Cloud Computing Arrangement That Is a Service Contract, which requires customers to apply the same criteria for capitalizing implementation costs incurred in a cloud computing arrangement that is hosted by the vendor as they would for an arrangement that has a software license. The standard is effective for interim and annual periods beginning after December 15, 2019 and early adoption is permitted. The standard can be adopted prospectively or retrospectively. We are currently evaluating the expected impact of this new standard.

XML 20 R10.htm IDEA: XBRL DOCUMENT v3.19.2
Acquisitions
6 Months Ended
Jun. 30, 2019
Acquisitions  
Acquisitions

3. Acquisitions

Elauwit Networks, LLC

On August 1, 2018, we acquired the assets of Elauwit Networks, LLC (“Elauwit”) for $28,000 plus other contingent consideration. Elauwit provides data and video services to multi-unit dwelling properties including student housing, condominiums, apartments, senior living, and hospitality industries throughout the U.S. In addition, Elauwit builds and maintains the network that supports these services for property owners and managers and provides support for residents and employees.

The acquisition has been accounted for under the acquisition method of accounting in accordance with ASC 805, Business Combinations. As such, the assets acquired and liabilities assumed are recorded at their acquisition-date fair values. The total purchase price was $29,537, which includes contingent consideration fair valued at $961. At the closing date, we paid cash of $15,576. $13,000 of the purchase price was held back for the following: (i) $11,000 held back for third-party consents not obtained at closing for certain customer agreements, which are released as Elauwit delivers third-party consents with respect to such customer agreements; and (ii) a $2,000 indemnification holdback that is being retained for a period of 12 months following the closing of the acquisition. In 2018, we paid $9,048 of the amounts held back for third-party consents. We paid the remaining $1,952 for amounts held back for third-party consents in January 2019. The contingent consideration could require payments in the aggregate amount of up to $15,000 that would be due and payable subject to certain conditions and the successful achievement of annual revenue targets for the acquired business during the 2019 and 2020 fiscal years. The contingent consideration is subject to acceleration under certain corporate events.

The fair value of the contingent consideration is based on Level 3 inputs. Further changes in the fair value of the contingent consideration will be recorded through operating income (loss). The contingent consideration was valued at the date of acquisition using the Monte Carlo method reflecting the average expected monthly revenue, an annual risk-free rate of 2.78%, and an annual revenue volatility rate of 40%.

The identifiable intangible assets were primarily valued using the excess earnings, relief from royalty, and loss-of-revenue methods using discount rates ranging from 8.0% to 21.0% and a 1.0% royalty rate, where applicable, except for certain backlog intangible assets held for sale that were valued at fair value less costs to sell using a discount rate of 8%. The amortizable intangible assets held for use are being amortized on a straight-line basis over their estimated useful lives. Intangible assets held for sale are not amortized. We allocated the excess of the purchase price over the fair value of assets acquired and liabilities assumed to goodwill, which is deductible for tax purposes. The goodwill arising from the Elauwit acquisition is attributable primarily to expected synergies and other benefits, including the acquired workforce, from combining Elauwit with us.

ASC 805 provides for a measurement period not to exceed one year from the acquisition date to adjust the provisional amounts recognized at the acquisition date to reflect new information obtained about facts and circumstances that existed as of the acquisition date that, if known, would have affected the measurement of the amounts recognized as of that date. During the six months ended June 30, 2019, we recorded a measurement period adjustment to increase the value of backlog intangible assets held for sale and decrease goodwill by $750 as a result of the identification of additional assets that were acquired. Intangible assets held for sale are included within prepaid expenses and other current assets on the condensed consolidated balance sheets. To date, we have not recorded any other material measurement period adjustments. The following summarizes the preliminary purchase price allocation:

    

    

Weighted Average

Estimated

Estimated Useful

 Fair Value

Life (years)

Consideration:

 

  

 

  

Cash paid

$

15,576

 

  

Holdback consideration

 

13,000

 

  

Contingent consideration

 

961

 

  

Total consideration

$

29,537

 

  

Recognized amounts of identifiable assets acquired and liabilities assumed:

 

  

 

  

Accounts receivable

$

4,494

 

  

Prepaid expenses and other current assets

 

1,687

 

  

Property and equipment

 

195

 

  

Other non-current assets

177

Accounts payable

 

(2,049)

 

  

Accrued expenses and other liabilities

 

(683)

 

  

Deferred revenue

 

(3,854)

 

  

Other non-current liabilities

 

(307)

 

  

Net tangible liabilities acquired

 

(340)

 

  

Backlog

 

7,030

 

5.0

Backlog-held for sale

750

Customer relationships

 

2,490

 

10.0

Partner relationships

 

1,200

 

10.0

Transition services agreement

 

540

 

2.0

Non-compete agreement

 

1,380

 

3.0

Goodwill

 

16,487

 

  

Total purchase price

$

29,537

 

  

The following table presents the results of Elauwit included in the Company’s revenue and net loss:

Three Months Ended

Six Months Ended

June 30, 

June 30, 

    

2019

    

2018

    

2019

    

2018

(Unaudited)

Revenue

$

5,884

$

$

13,304

$

Net loss

 

(1,659)

 

 

(4,016)

 

Pro forma results (Unaudited)

The following table presents the unaudited pro forma results of the Company for the three and six months ended June 30, 2018 as if the acquisition of Elauwit had occurred on January 1, 2017 and therefore includes Elauwit’s revenue and net income (loss), as adjusted, for such period. These results are not intended to reflect the actual operations of the Company had the acquisition occurred on January 1, 2017. Income taxes were calculated based on the projected annual effective tax rate excluding discrete items as of June 30, 2018. Acquisition transaction costs have been excluded from the pro forma net income (loss).

Three Months Ended

Six Months Ended

    

June 30, 2018

    

June 30, 2018

Revenue

$

68,422

$

132,968

Net income (loss)

 

2,033

 

(1,358)

Net income (loss) attributable to common stockholders

1,628

(2,212)

Net income (loss) per share attributable to common stockholders

Basic

$

0.04

$

(0.05)

Diluted

$

0.04

$

(0.05)

XML 21 R11.htm IDEA: XBRL DOCUMENT v3.19.2
Cash and cash equivalents and marketable securities
6 Months Ended
Jun. 30, 2019
Cash and cash equivalents and marketable securities  
Cash and cash equivalents and marketable securities

4. Cash and cash equivalents and marketable securities

Cash and cash equivalents and marketable securities consisted of the following:

                                                                                                                                                                                    

    

June 30, 

    

December 31, 

2019

2018

Cash and cash equivalents:

Cash

$

4,398

$

11,689

Money market accounts

 

22,983

 

137,723

Total cash and cash equivalents

$

27,381

$

149,412

Short-term marketable securities-available-for-sale:

Marketable securities

$

42,799

$

Total short-term marketable securities

$

42,799

$

All contractual maturities of marketable securities were less than one year at June 30, 2019. Marketable securities consist primarily of debt securities which include commercial paper and debt instruments including notes issued by foreign or domestic industrial and financial corporations and governments which pay in U.S. dollars and carry a rating of A or better. For the three months and six months ended June 30, 2019, interest income was $540 and $1,254, respectively. For the three and six months ended June 30, 2018, interest income was $11 and $19, respectively. Interest income is included in interest and other expense, net in the accompanying condensed consolidated statements of operations.

XML 22 R12.htm IDEA: XBRL DOCUMENT v3.19.2
Contract assets and contract liabilities
6 Months Ended
Jun. 30, 2019
Contract assets and contract liabilities  
Contract assets and contract liabilities

5. Contract assets and contract liabilities

The opening and closing balances of our contract asset, net and contract liability, net balances from contracts with customers for the six months ended June 30, 2019 are as follows:

Contract

Contract

    

Assets, Net

    

Liabilities, Net

Balance at December 31, 2018

$

468

$

217,733

Balance at June 30, 2019

756

237,109

Change

$

288

$

19,376

The current and non-current portions of our contract assets, net are included within prepaid expenses and other current assets and other assets, respectively, and current and non-current portions of our contract liabilities, net are included within deferred revenue and deferred revenue, net of current portion, respectively, in our condensed consolidated balance sheets. Contract assets, net is generated from our multifamily and wholesale Wi-Fi contracts and the change in the contract assets, net balance includes activity related to amounts invoiced offset by revenue recognized from performance obligations satisfied in the current reporting period.

Contract liabilities are recorded when fees are collected, or we have an unconditional right to consideration (a receivable) in advance of delivery of goods or services. The change in contract liabilities, net balance is related to customer activity associated with each of our product offerings including the receipt of cash payments and the satisfaction of our performance obligations. Revenues for the three and six months ended June 30, 2019 include the following:

Three Months Ended

Six Months Ended

    

June 30, 2019

    

June 30, 2019

Amounts included in the beginning of period contract liability balance

$

22,629

$

51,500

Amounts associated with performance obligations satisfied in previous periods

 

7

301

As of June 30, 2019, the aggregate amount of the transaction price allocated to remaining service performance obligations for our DAS contracts was $221,374. We expect to recognize this revenue as service is provided over the remaining contract term. As of June 30, 2019, our DAS contracts have a remaining duration of less than one year to approximately fifteen years.

Certain of our wholesale Wi-Fi contracts include variable consideration based on usage. This variable consideration has been excluded from the disclosure of remaining performance obligations. As of June 30, 2019, the aggregate amount of the transaction price allocated to remaining service performance obligations for certain of our wholesale Wi-Fi contracts with guaranteed minimum consideration was $10,598. We expect to recognize this revenue as service is provided over the remaining contract term. As of June 30, 2019, our wholesale Wi-Fi contracts have a remaining duration of less than one year to approximately fifteen years.

Information about remaining performance obligations that are part of a contract that has an original expected duration of one year or less have been excluded from the above, which primarily consists of network installations for our multifamily customers and monthly service contracts.

XML 23 R13.htm IDEA: XBRL DOCUMENT v3.19.2
Property and equipment
6 Months Ended
Jun. 30, 2019
Property and equipment  
Property and equipment

6. Property and equipment

The following is a summary of property and equipment, at cost less accumulated depreciation and amortization:

    

June 30, 

    

December 31, 

2019

2018

Leasehold improvements

$

520,923

$

474,808

Construction in progress

 

60,117

 

40,369

Software

 

56,360

 

51,534

Computer equipment

 

15,381

 

14,215

Furniture, fixtures and office equipment

 

2,148

 

2,141

Total property and equipment

 

654,929

 

583,067

Less: accumulated depreciation and amortization

 

(304,757)

 

(268,888)

Total property and equipment, net

$

350,172

$

314,179

Depreciation and amortization expense, which includes depreciation and amortization for property and equipment under finance leases, is allocated as follows in the accompanying condensed consolidated statements of operations:

                                                                                                                                                                                  

Three Months Ended

Six Months Ended

June 30, 

June 30, 

    

2019

    

2018

    

2019

    

2018

Network access

$

9,482

$

10,134

$

21,064

$

23,721

Network operations

 

4,322

 

4,314

8,708

8,570

Development and technology

 

2,808

 

2,568

5,587

5,076

General and administrative

 

262

 

246

524

501

Total depreciation and amortization of property and equipment

$

16,874

$

17,262

$

35,883

$

37,868

XML 24 R14.htm IDEA: XBRL DOCUMENT v3.19.2
Accrued expenses and other liabilities
6 Months Ended
Jun. 30, 2019
Accrued expenses and other liabilities  
Accrued expenses and other liabilities

7. Accrued expenses and other liabilities

Accrued expenses and other liabilities consisted of the following:

                                                                                                                                                                                     

    

June 30, 

    

December 31, 

2019

2018

Accrued construction in progress

$

18,672

20,930

Accrued customer liabilities

18,135

$

15,219

Revenue share

7,286

5,514

Salaries and wages

 

3,755

 

4,425

Accrued taxes

 

2,901

 

2,745

Holdback consideration

2,000

2,000

Accrued partner network

1,236

1,228

Accrued professional fees

949

1,434

Acquisition purchase consideration

1,952

Other

 

6,510

 

7,206

Total accrued expenses and other liabilities

$

61,444

$

62,653

XML 25 R15.htm IDEA: XBRL DOCUMENT v3.19.2
Convertible Notes
6 Months Ended
Jun. 30, 2019
Convertible Notes  
Convertible Notes

8. Convertible Notes

In October 2018, the Company sold, through the initial purchasers, convertible senior notes (“Convertible Notes”) to qualified institutional buyers pursuant to Rule 144A of the Securities Act of 1933, as amended, for gross proceeds of $201,250. The Convertible Notes are senior, unsecured obligations with interest payable semi-annually in cash at a rate of 1.00% per annum on April 1st and October 1st of each year, beginning on April 1, 2019. The Convertible Notes will mature on October 1, 2023 unless they are redeemed, repurchased or converted prior to such date. Prior to

April 1, 2023, the Convertible Notes are convertible at the option of holders only during certain periods and upon satisfaction of certain conditions. Thereafter, the Convertible Notes will be convertible at any time until the close of business on the second scheduled trading day immediately preceding the maturity date. Upon conversion, the Convertible Notes may be settled in shares of the Company’s common stock, cash or a combination of cash and shares of the Company’s common stock, at the Company’s election.

The Convertible Notes have an initial conversion rate of 23.6323 shares of common stock per $1,000 principal amount of the Convertible Notes, which will be subject to customary anti-dilution adjustments in certain circumstances. This represents an initial effective conversion price of approximately $42.31 per share, which represents a premium of approximately 30% to the $32.55 per share closing price of the Company’s common stock on October 2, 2018, the date the Company priced the offering.

The Company may redeem all or any portion of the Convertible Notes, at its option, on or after October 5, 2021, at a redemption price equal to 100% of the principal amount of the Convertible Notes to be redeemed, plus accrued and unpaid interest to, but excluding, the redemption date, if the last reported sale price of the Company’s stock has been at least 130% of the conversion price then in effect for at least 20 trading days (whether or not consecutive) during any 30 consecutive trading day period (including the last trading day of such period) ending on, and including, the trading day immediately preceding the date on which the Company provides written notice of redemption.

Holders of Convertible Notes may require the Company to repurchase their Convertible Notes upon the occurrence of certain events that constitute a fundamental change under the indenture governing the Convertible Notes at a fundamental change repurchase price equal to 100% of the principal amount thereof, plus accrued and unpaid interest to, but excluding, the date of repurchase. In connection with certain corporate events or if the Company issues a notice of redemption prior to the maturity date, it will, under certain circumstances, increase the conversion rate for holders who elect to convert their Convertible Notes in connection with such corporate event or notice of redemption.

In connection with the pricing of the Convertible Notes, the Company entered into privately negotiated capped call transactions with a financial institution. The capped call transactions initially cover, subject to customary anti-dilution adjustments, the number of shares of the Company’s common stock that initially underlie the Convertible Notes. The cap price of the capped call transactions is initially $65.10 per share of the Company’s common stock, representing a premium of 100% above the closing price of $32.55 per share of the Company’s common stock on October 2, 2018, and is subject to certain adjustments under the terms of the capped call transactions. The capped call transactions are expected generally to reduce potential dilution to the Company’s common stock upon conversion of the Convertible Notes and/or offset the potential cash payments that the Company could be required to make in excess of the principal amount of any converted Convertible Notes upon conversion thereof, with such reduction and/or offset subject to a cap based on the cap price.

The following table summarizes the Convertible Notes as of June 30, 2019:

                                                                                                                                                                   

    

June 30, 

2019

Par value of the Convertible Notes

$

201,250

Unamortized debt discounts

 

(41,010)

Unamortized debt issuance costs

 

(4,104)

Net carrying value of Convertible Notes

$

156,136

The fair value of our Convertible Notes was $173,610 as of June 30, 2019. The estimated fair value of Convertible Notes is based on market rates and the closing trading price of the Convertible Notes as of June 25, 2019 and is classified as Level 2 in the fair value hierarchy. As of June 30, 2019, the if-converted value of the Convertible Notes did not exceed the principal amount.

Debt issuance costs are amortized on an effective interest basis over the term of the Convertible Notes. Debt issuance cost amortization expense, net of amounts capitalized, is included in interest and other expense, net in the accompanying condensed consolidated statements of operations for the three and six months ended June 30, 2019. The

following table sets forth interest expense related to the Convertible Notes for the three and six months ended June 30, 2019:

                                                                                                                                                                  

Three Months

    

Ended

 

Six Months Ended

June 30, 2019

 

June 30, 2019

Contractual interest expense

$

503

$

1,006

Amortization of debt issuance costs

 

211

419

Amortization of debt discount

 

2,042

4,048

Total

$

2,756

$

5,473

Effective interest rate of the liability component

 

7.1

%

7.1

%

During the three and six months ended June 30, 2019, we capitalized $743 and $1,208, respectively, of amortization and interest expense related to the Convertible Notes.

Amortization expense for our debt discount and debt issuance costs through 2023 are as follows:

                                                                                                                                                                 

    

Debt

    

Debt Issuance

Discounts

Costs

July 1, 2019―December 31, 2019

$

4,197

$

431

January 1, 2020―December 31, 2020

 

8,864

 

901

January 1, 2021―December 31, 2021

 

9,528

 

955

January 1, 2022―December 31, 2022

 

10,241

 

1,015

January 1, 2023―December 31, 2023

 

8,180

 

802

$

41,010

$

4,104

XML 26 R16.htm IDEA: XBRL DOCUMENT v3.19.2
Credit Facility
6 Months Ended
Jun. 30, 2019
Credit Facility  
Credit Facility

9. Credit Facility

In February 2019, we entered into a Credit Agreement (the “Credit Agreement”) and related agreements with Bank of America, N.A. acting as agent for lenders named therein, including Bank of America, N.A., Silicon Valley Bank, Bank of the West, Zions Bancorporation, N.A. dba California Bank & Trust, and Barclays Bank PLC (the “Lenders”), for a secured credit facility in the form of a revolving line of credit of up to $150,000 (the “Revolving Line of Credit”) and a term loan of $3,500 (the “Term Loan” and together with the Revolving Line of Credit, the “Credit Facility”). We may use borrowings under the Credit Facility for general working capital and corporate purposes. In general, amounts borrowed under the Credit Facility are secured by a lien against all assets, with certain exclusions.

As of June 30, 2019, we had no amounts outstanding under the Revolving Line of Credit and $3,111 outstanding under the Term Loan. Amounts borrowed under the Revolving Line of Credit and Term Loan will bear variable interest at the greater of LIBOR plus 1.75% - 2.75% or Lender’s Prime Rate plus 0.75% - 1.75% per year and we will pay a fee of 0.25% - 0.5% per year on any unused portion of the Revolving Line of Credit. The Term Loan requires quarterly payments of interest and principal until it is repaid in full on the maturity date but may be prepaid in whole or part at any time. Our Credit Facility will mature on April 3, 2023. Repayment of amounts borrowed under the Credit Facility may be accelerated in the event that we are in violation of the representations, warranties and covenants made in the Credit Agreement, including certain financial covenants set forth therein, and under other specified default events including, but not limited to, non-payment or inability to pay debt, breach of cross default provisions, insolvency provisions, and change of control.

The Company is subject to customary financial and non-financial covenants under the Credit Facility, including a minimum quarterly consolidated senior secured leverage ratio, a minimum quarterly consolidated total leverage ratio, a maximum quarterly consolidated fixed charge coverage ratio, and cash on hand minimums.

Principal payments due under our Term Loan through 2023 are as follows:

                                                                                                                                                                

    

Principal Payments

July 1, 2019―December 31, 2019

$

389

January 1, 2020―December 31, 2020

 

778

January 1, 2021―December 31, 2021

 

778

January 1, 2022―December 31, 2022

 

778

January 1, 2023―December 31, 2023

 

388

$

3,111

Debt issuance costs are amortized on a straight-line basis over the term of the Credit Facility. Amortization expense related to debt issuance costs, net of amounts capitalized, are included in interest and other expense in the accompanying condensed consolidated statements of operations for the three and six months ended June 30, 2019. Amortization and interest expense capitalized during the three and six months ended June 30, 2019 amounted to $36 each. Amortization and interest expense expensed during the three and six months ended June 30, 2019 amounted to $114 and $170, respectively. The interest rate for the Credit Facility for the six months ended June 30, 2019 ranged from 4.2% to 4.4%.

Amortization expense for our debt issuance costs through 2023 are as follows:

    

Amortization Expense

July 1, 2019―December 31, 2019

$

229

January 1, 2020―December 31, 2020

 

457

January 1, 2021―December 31, 2021

 

457

January 1, 2022―December 31, 2022

 

457

January 1, 2023―December 31, 2023

 

120

$

1,720

XML 27 R17.htm IDEA: XBRL DOCUMENT v3.19.2
Leases
6 Months Ended
Jun. 30, 2019
Leases  
Leases

10. Leases

We have operating and finance leases for corporate offices, datacenters, data communication equipment and database software. Our operating leases have remaining lease terms of less than one year to nine years and our finance leases have remaining lease terms of one month to two years. Some of our operating leases may include one or more options to renew and can extend the lease term from 1 year to 10 years. The exercise of operating lease renewal options is at our sole discretion. Certain leases also include options to purchase the leased property. The depreciable life of assets and leasehold improvements are limited by the expected lease term, unless there is a transfer of title or purchase option reasonably certain of exercise. Some of our operating lease agreements include options to terminate the leases upon written notice and may include early termination penalties. Our lease agreements do not contain any material residual value guarantees or material restrictive covenants. As of June 30, 2019, assets recorded under finance leases were $12,280 and accumulated depreciation and amortization associated with finance leases was $4,326.

The components of lease expense were as follows:

    

Three Months

    

Six Months

Ended 

Ended

June 30, 2019

June 30, 2019

Operating lease expense

$

891

$

1,776

Finance lease expense:

 

  

 

  

Depreciation and amortization of assets included in property and equipment, net

$

517

$

1,041

Interest on lease liabilities

 

 

56

Total finance lease expense

$

517

$

1,097

Interest on lease liabilities capitalized during the three and six months ended June 30, 2019 amounted to $47 each.

Supplemental cash flow information related to leases was as follows:

    

Six Months

Ended June 30,

2019

Cash paid for amounts included in the measurement of lease liabilities:

 

  

Operating cash flows from operating leases

$

(1,987)

Operating cash flows from finance leases

 

(103)

Financing cash flows from finance leases

 

(2,275)

Right-of-use assets obtained in exchange for lease obligations:

 

Operating leases

 

17,112

Operating lease ROU assets obtained in exchange for lease obligations include the effects of the adoption of ASC 842 effective January 1, 2019.

Other information related to leases was as follows:

    

June 30, 2019

 

Weighted average remaining lease term:

 

  

Operating leases

 

6.6

years

Financing leases

 

1.5

years

Weighted average discount rate:

 

Operating leases

 

5.3

%

Finance leases

 

3.2

%

Future minimum lease payments under non-cancellable leases as of June 30, 2019 as presented in accordance with ASC 842 were as follows:

    

Operating

    

Finance

Leases

Leases

July 1, 2019 – December 31, 2019

$

1,755

$

1,995

January 1, 2020―December 31, 2020

 

3,746

 

2,784

January 1, 2021―December 31, 2021

 

3,565

 

574

January 1, 2022―December 31, 2022

 

3,541

 

January 1, 2023―December 31, 2023

 

3,626

 

January 1, 2024―December 31, 2024

 

3,639

 

Thereafter

 

5,235

 

Total future minimum lease payments

 

25,107

 

5,353

Less: Imputed interest

 

(3,978)

 

(134)

Total

 

21,129

 

5,219

Current portion of operating and finance leases

 

2,708

 

3,429

Long-term portion of operating and finance leases

$

18,421

$

1,790

Future minimum lease payments under non-cancellable leases as of December 31, 2018 as presented in accordance with ASC 840, Leases, were as follows:

    

Operating

    

Capital

Leases

Leases

January 1, 2019 – December 31, 2019

$

3,573

$

4,373

January 1, 2020―December 31, 2020

 

3,456

 

2,783

January 1, 2021―December 31, 2021

 

3,385

 

574

January 1, 2022―December 31, 2022

 

3,414

 

January 1, 2023―December 31, 2023

 

3,495

 

Thereafter

 

8,835

 

Minimum lease payments

$

26,158

 

7,730

Less: Amounts representing interest ranging from 1.3% to 7.7%

 

(236)

Minimum lease payments

 

7,494

Current portion of capital leases

 

4,201

Long-term portion of capital leases

$

3,293

XML 28 R18.htm IDEA: XBRL DOCUMENT v3.19.2
Notes payable
6 Months Ended
Jun. 30, 2019
Notes Payable  
Notes Payable

11. Notes payable

We enter into financed maintenance arrangements for some of our leased data communication equipment. Future minimum lease payments under notes payable as of June 30, 2019 were as follows:

                                                                                                                                                                 

    

Notes Payable

July 1, 2019 – December 31, 2019

$

1,124

January 1, 2020―December 31, 2020

 

1,541

January 1, 2021―December 31, 2021

 

95

Total future minimum payments

 

2,760

Less: Imputed interest

 

(42)

Total

 

2,718

Current portion of note payable

 

2,035

Long-term portion of notes payable

$

683

XML 29 R19.htm IDEA: XBRL DOCUMENT v3.19.2
Fair value measurement
6 Months Ended
Jun. 30, 2019
Fair value measurement  
Fair value measurement

12. Fair value measurement

The following table sets forth our financial assets and liabilities that are measured at fair value on a recurring basis:

                                                                                                                                                                                   

At June 30, 2019

    

Level 1

    

Level 2

    

Level 3

    

Total

Assets:

Money market accounts

$

22,983

$

$

$

22,983

Marketable securities

 

6,987

 

35,812

 

 

42,799

Total assets

$

29,970

$

35,812

$

$

65,782

Liabilities:

Contingent consideration

$

$

$

961

$

961

Total liabilities

$

$

$

961

$

961

At December 31, 2018

    

Level 1

    

Level 2

    

Level 3

    

Total

Assets:

Money market accounts

$

137,723

$

$

$

137,723

Total assets

$

137,723

$

$

$

137,723

Liabilities:

Contingent consideration

$

$

$

961

$

961

Total liabilities

$

$

$

961

$

961

Our marketable securities utilize Level 1 and Level 2 inputs and consist primarily of corporate securities, which primarily include commercial paper and debt instruments including notes issued by foreign or domestic industrial and financial corporations and governments which pay in U.S. dollars and carry a rating of A or better. We have evaluated the various types of securities in our investment portfolio to determine an appropriate fair value hierarchy level based upon trading activity and the observability of market inputs. Due to variations in trading volumes and the lack of quoted market prices in active markets, our fixed maturities are classified as Level 2 securities. The fair value of our fixed maturity marketable securities is derived through the use of a third-party pricing source using recent reported trades for identical or similar securities, making adjustments through the reporting date based upon available market observable data.

The Company’s contingent consideration obligation was initially recorded at fair value and the Company will revalue this obligation each reporting period until the related contingencies are resolved. The fair value measurement is estimated using probability-weighted discounted cash flow approaches that are based on significant unobservable inputs related to achievement of estimated annual sales and are reviewed quarterly. Significant changes to estimated annual sales and discount rates would result in corresponding changes in the fair value of this obligation. There were no significant changes to the fair value of our contingent consideration liabilities during the six months ended June 30, 2019. The following table presents a reconciliation of the beginning and ending amounts related to the fair value of contingent consideration categorized as Level 3:

                                                                                                                                                                

Balance , December 31, 2018

    

$

961

Payment of contingent consideration

 

Change in fair value

 

Balance , June 30, 2019

$

961

XML 30 R20.htm IDEA: XBRL DOCUMENT v3.19.2
Income taxes
6 Months Ended
Jun. 30, 2019
Income taxes  
Income taxes

13. Income taxes

Income tax benefit of $81 and income tax expense of $(16) reflect effective tax rates of 54.7% and (0.6)% for the three months ended June 30, 2019 and 2018, respectively. Income tax expense of $(111) and $(144) reflect effective tax rates of (2.3)% and (121.0)% for the six months ended June 30, 2019 and 2018, respectively. Our effective tax rate differs from the statutory rate primarily due to our valuation allowance for the three and six months ended June 30, 2019 and 2018 as well as foreign tax expense for the three and six months ended June 30, 2018.

We operate within federal, state and international taxing jurisdictions and are subject to audit in these jurisdictions. These audits can involve complex issues which may require an extended period to resolve. We are subject to taxation in the United States and in various states. Our tax years 2016 and forward are subject to examination by the IRS and our tax years 2014 and forward are subject to examination by material state jurisdictions. However, due to prior year loss carryovers, the IRS and state tax authorities may examine any tax years for which the carryovers are used to offset future taxable income.

XML 31 R21.htm IDEA: XBRL DOCUMENT v3.19.2
Commitments and contingencies
6 Months Ended
Jun. 30, 2019
Commitments and contingencies  
Commitments and contingencies

14. Commitments and contingencies

Letters of credit

We have entered into Letter of Credit Authorization agreements (collectively, “Letters of Credit”), which are issued under our Credit Agreement. The Letters of Credit are irrevocable and serve as performance guarantees that will

allow our customers to draw upon the available funds if we are in default. As of June 30, 2019, we have Letters of Credit totaling $12,929 that are scheduled to expire or renew over the next year. There have been no drafts drawn under these Letters of Credit as of June 30, 2019.

Legal proceedings

From time to time, we may be subject to claims, suits, investigations and proceedings arising out of the normal course of business. We are not currently a party to any litigation that we believe could have a material adverse effect on our business, financial position, results of operations or cash flows. Legal costs are expensed as incurred.

Other matters

We have received a claim from one of our venue partners with respect to contractual terms on our revenue share payments. The claim asserts that we have underpaid revenue share payments and related interest by approximately $4,600. We are currently in settlement discussions with our venue partner. As of June 30, 2019, we have accrued for the probable and estimable losses that have been incurred, which have been recorded as general and administrative expenses in the condensed consolidated statements of operations. We are not currently a party to any other claims that we believe could have a material adverse effect on our business, financial position, results of operations or cash flows.

XML 32 R22.htm IDEA: XBRL DOCUMENT v3.19.2
Stock incentive plans
6 Months Ended
Jun. 30, 2019
Stock incentive plans  
Stock incentive plans

15. Stock incentive plans

In March 2011, our board of directors approved the 2011 Equity Incentive Plan (“2011 Plan”). The 2011 Plan provides for the grant of incentive and non-statutory stock options, stock appreciation rights, restricted shares of our common stock, stock units, and performance cash awards. As of June 30, 2019, options to purchase approximately 279,000 shares of common stock and RSUs covering approximately 855,000 shares of common stock were outstanding under the 2011 Plan.

No further awards will be made under our Amended and Restated 2001 Stock Incentive Plan (“2001 Plan”), and it will be terminated. Options outstanding under the 2001 Plan will continue to be governed by their existing terms.

Stock-based compensation expense is allocated as follows on the accompanying condensed consolidated statements of operations:

Three Months Ended

Six Months Ended

June 30, 

June 30, 

    

2019

    

2018

    

2019

    

2018

Network operations

$

348

$

516

$

854

$

1,053

Development and technology

 

334

 

314

 

637

 

592

Selling and marketing

 

548

 

393

 

1,077

 

866

General and administrative

 

806

 

1,723

 

1,812

 

3,561

Total stock-based compensation

$

2,036

$

2,946

$

4,380

$

6,072

During the three and six months ended June 30, 2019, we capitalized $235 and $465, respectively, of stock-based compensation expense. During the three and six months ended June 30, 2018, we capitalized $206 and $392, respectively, of stock-based compensation expense.

Stock option awards

We grant stock option awards to both employees and non-employee directors. The grant date for these awards is the same as the measurement date. The stock option awards generally vest over a four-year service period with 25% vesting when the individual completes 12 months of continuous service and the remaining 75% vesting monthly thereafter. These awards are valued as of the measurement date and the stock-based compensation expense, net of forfeitures, is recognized on a straight-line basis over the requisite service period.

A summary of the stock option activity is as follows:

    

    

    

Weighted-

    

Average

Weighted

Remaining

Number of

Average

Contract

Aggregate

Options

Exercise

Life

Intrinsic

    

 (000’s)

    

Price

    

 (years)

    

Value

Outstanding at December 31, 2018

 

304

$

7.49

 

3.8

$

3,970

Exercised

 

(15)

$

5.47

Canceled/forfeited

 

$

Outstanding and exercisable at June 30, 2019

 

289

$

7.59

 

3.3

$

2,999

Restricted stock unit awards

We grant service-based RSUs to executive and non-executive personnel and non-employee directors. The service-based RSUs granted to executive and non-executive personnel generally vest over a three-year period subject to continuous service on each vesting date. The service-based RSUs for our non-employee directors generally vest over a one-year period for existing members and 33.3% per year over a three-year period for new members subject to continuous service on each vesting date.

We grant performance-based RSUs to executive personnel. These awards vest subject to certain performance objectives based on the Company’s revenue growth, Adjusted EBITDA growth, and/or relative total stockholder return achieved during the specified performance period and certain long-term service conditions. The maximum number of RSUs that may vest is determined based on actual Company achievement and performance-based RSUs generally vest over a three-year period subject to continuous service on each vesting date and achievement of the performance conditions. We recognize stock-based compensation expense for performance-based RSUs when we believe that it is probable that the performance objectives will be met.

A summary of the RSU activity is as follows:

                                                                                                                                                                                

Weighted Average

Number of Shares

Grant-Date Fair

    

(000’s)

    

Value

Non-vested at December 31, 2018

 

3,119

$

8.60

Granted(1)

 

593

$

22.76

Vested

 

(2,806)

$

7.21

Canceled/forfeited

 

(51)

$

23.31

Non-vested at June 30, 2019

 

855

$

22.08

(1)The RSUs granted to all of our named executive officers in 2017 were subject to satisfaction of specified service-based and performance-based conditions. The performance objectives were subject to under- or over- achievement on a sliding scale, with a threshold of 50% of the target number of RSUs and a maximum of 150% of the target RSUs. In February 2019, our Compensation Committee determined actual achievement of the 2017 performance-based RSUs resulting in additional RSUs granted of approximately 29,000 at a grant-date fair value of $11.94 per share during the six months ended June 30, 2019.

During the six months ended June 30, 2019, approximately 2,806,000 shares of RSUs vested. The Company issued approximately 1,423,000 shares and the remaining shares were withheld to pay minimum statutory federal, state, and local employment payroll taxes on those vested awards.

XML 33 R23.htm IDEA: XBRL DOCUMENT v3.19.2
Net income (loss) per share attributable to common stockholders
6 Months Ended
Jun. 30, 2019
Net income (loss) per share attributable to common stockholders  
Net income (loss) per share attributable to common stockholders

16. Net income (loss) per share attributable to common stockholders

The following table sets forth the computation of basic and diluted net income (loss) per share attributable to common stockholders:

                                                                                                                                                                                  

Three Months Ended

Six Months Ended

June 30, 

June 30, 

    

2019

    

2018

    

2019

    

2018

(in thousands)

Numerator:

Net income (loss) attributable to common stockholders, basic and diluted

$

216

$

2,115

$

(4,937)

$

(1,114)

Denominator:

Weighted average common stock, basic

 

44,041

 

41,961

43,786

41,645

Effect of dilutive stock options

191

472

Effect of dilutive RSUs

146

2,786

Weighted average common stock, diluted

44,378

45,219

43,786

41,645

Net income (loss) per share attributable to common stockholders:

Basic

$

0.00

$

0.05

$

(0.11)

$

(0.03)

Diluted

$

0.00

0.05

$

(0.11)

(0.03)

For the six months ended June 30, 2019 and 2018, we excluded all assumed exercises of stock options and the assumed issuance of common stock under RSUs from the computation of diluted net loss per share as the effect would be anti-dilutive due to the net loss for the period. For the three months ended June 30, 2019 and 2018, we excluded the assumed issuance of approximately 435,000 shares and 27,000 shares, respectively, of common stock under RSUs from the computation of diluted net income per share as the inclusion would have been anti-dilutive. For the three and six months ended June 30, 2019, we also excluded the shares that would be issuable assuming conversion of the Convertible Notes and the shares for the capped call as their effect would be anti-dilutive. Diluted EPS for our Convertible Notes is calculated under the treasury method in accordance with ASC 260, Earnings Per Share.

On April 1, 2013, the Company approved a stock repurchase program to repurchase up to $10,000 of the Company’s common stock in the open market, exclusive of any commissions, markups or expenses. The stock repurchased will be retired and will resume the status of authorized but unissued shares of common stock. The Company did not repurchase any of our common stock during the three and six months ended June 30, 2019. As of June 30, 2019, the remaining approved amount for repurchases was approximately $5,180. In July 2019, the stock repurchase plan was terminated and was replaced with a new stock repurchase program to repurchase up to $20,000 of the Company’s common stock in the open market.

XML 34 R24.htm IDEA: XBRL DOCUMENT v3.19.2
Summary of significant accounting policies (Policies)
6 Months Ended
Jun. 30, 2019
Summary of significant accounting policies  
Basis of presentation

Basis of presentation

The accompanying interim condensed consolidated financial statements and related notes for the three and six months ended June 30, 2019 and 2018 are unaudited. The unaudited interim condensed consolidated financial information has been prepared in accordance with the rules and regulations of the SEC for interim financial information. Accordingly, they do not include all information and footnotes required by generally accepted accounting principles (“GAAP”) in the United States of America (“U.S.”) for complete financial statements. These financial statements should be read in conjunction with the audited consolidated financial statements and the accompanying notes for the year ended December 31, 2018 contained in our annual report on Form 10-K filed with the SEC on March 1, 2019. The unaudited interim condensed consolidated financial statements have been prepared on the same basis as the annual consolidated financial statements and in the opinion of management, reflect all adjustments, consisting of normal recurring adjustments, necessary for a fair statement of our results of operations for the three and six months ended June 30, 2019 and 2018, our cash flows for the six months ended June 30, 2019 and 2018, and our financial position as of June 30, 2019. The year-end balance sheet data was derived from audited consolidated financial statements but does not include all disclosures required by GAAP. Interim results are not necessarily indicative of the results to be expected for an entire year or any other future year or interim period.

In June 2018, the Financial Accounting Standards Board (“FASB”) issued Accounting Standards Update (“ASU”) 2018-07, Improvements to Nonemployee Share-Based Payment Accounting, which eliminates the separate accounting model for nonemployee share-based payment awards and generally requires companies to account for share-based payment transactions with nonemployees in the same way as share-based payment transactions with employees. The accounting remains different for attribution, which represents how the equity-based payment cost is recognized over the vesting period, and a contractual term election for valuing nonemployee equity share options. The standard is effective for interim and annual periods beginning after December 15, 2018. We adopted ASU 2018-07 on January 1, 2019 and the adoption of this standard did not have a material impact on our condensed consolidated financial statements.

In February 2016, the FASB issued a new standard related to leases, which was codified into Accounting Standards Codification (“ASC”) 842, Leases. ASC 842 requires lessees to recognize assets and liabilities for all leases with lease terms of more than 12 months on the balance sheet. Under ASC 842, the recognition, measurement, and presentation of expenses and cash flows arising from a lease by a lessee will depend on its classification as a finance or operating lease. On January 1, 2019, we adopted ASC 842 using the modified retrospective transition approach. ASC

842 permits two methods of adoption and we elected to apply the guidance to each lease that had commenced as of January 1, 2019 with a cumulative-effect adjustment to the opening balance of retained earnings as of that date. ASC 842 permits various optional transition practical expedients. The discount rate used to calculate the present value of the future payments was determined as of January 1, 2019 for existing lease contracts and was generally based on our incremental borrowing rate as of January 1, 2019 commensurate with the remaining lease term. We also elected the package of practical expedients which included the following: (i) an entity need not reassess whether any expired or existing contracts are or contain leases; (ii) an entity need not reassess the lease classification for any expired or existing leases; and (iii) an entity need not reassess initial direct costs for any existing leases. The standard had a material impact on our condensed consolidated balance sheet but did not have an impact on our condensed consolidated statement of operations and our condensed consolidated statement of cash flows. The most significant impact was the recognition of right-of-use (“ROU”) assets and liabilities related to our operating leases, while our accounting for finance leases remained substantially unchanged. Adoption of the new standard resulted in the recording of $16,916 of operating lease ROU assets and $22,338 of operating lease ROU liabilities as of January 1, 2019.

Principles of consolidation

Principles of consolidation

The unaudited condensed consolidated financial statements include our accounts and the accounts of our majority owned subsidiaries. We consolidate our 70% ownership of Chicago Concourse Development Group, LLC and our 75% ownership of Boingo Holding Participacoes Ltda. in accordance with ASC 810, Consolidation. Other parties’ interests in consolidated entities are reported as non-controlling interests. All intercompany balances and transactions have been eliminated in consolidation.

Marketable securities

Marketable securities

Our marketable securities consist of available-for-sale securities with original maturities exceeding three months. According to ASC 320, Investments—Debt and Equity Securities, we have classified securities, which have readily determinable fair values and are highly liquid, as short-term because such securities are expected to be realized within a one-year period. At June 30, 2019, we had $42,799 in marketable securities. We had no marketable securities at December 31, 2018.

Marketable securities are reported at fair value with the related unrealized gains and losses reported as other comprehensive income (loss) until realized or until a determination is made that an other-than-temporary decline in market value has occurred. No significant unrealized gains and losses have been reported during the periods presented. Factors considered by us in assessing whether an other-than-temporary impairment has occurred include the nature of the investment, whether the decline in fair value is attributable to specific adverse conditions affecting the investment, the financial condition of the investee, the severity and the duration of the impairment and whether we have the ability to hold the investment to maturity. When it is determined that an other-than-temporary impairment has occurred, the investment is written down to its market value at the end of the period in which it is determined that an other-than-temporary decline has occurred. The cost of marketable securities sold is based upon the specific identification method. Any realized gains or losses on the sale of investments are reflected as a component of interest and other expense, net.

For the three and six months ended June 30, 2019, we had no significant realized or unrealized gains or losses from investments in marketable securities classified as available-for-sale. As of June 30, 2019, we had $45 of cumulative unrealized gains, net of tax, which was $0 as of June 30, 2019 due to the full valuation allowance established against our deferred tax assets, in accumulated other comprehensive loss.

Segment and geographic information

Segment and geographic information

We operate as one reportable segment; a service provider of wireless connectivity solutions across our managed and operated network and aggregated network for mobile devices such as laptops, smartphones, tablets and other wireless-enabled consumer devices. This single segment is consistent with the internal organization structure and the manner in which operations are reviewed and managed by our Chief Executive Officer, the chief operating decision maker.

All significant long-lived tangible assets are held in the United States of America. We do not disclose sales by geographic area because to do so would be impracticable.

The following is a summary of our revenue disaggregated by product offerings:

                                                                                                                                                                              

Three Months Ended

Six Months Ended

June 30, 

June 30, 

    

2019

    

2018

    

2019

    

2018

Revenue:

DAS

$

27,622

$

21,885

$

51,717

$

45,530

Military/multifamily

24,396

16,735

50,293

32,589

Wholesale—Wi-Fi

 

10,718

 

13,530

21,738

24,679

Retail

3,847

4,566

7,773

9,876

Advertising and other

 

1,971

 

2,885

3,506

5,086

Total revenue

$

68,554

$

59,601

$

135,027

$

117,760

Revenue recognition

Revenue recognition

We generate revenue from several sources including: (i) DAS customers that are telecom operators under long-term contracts for access to our DAS at our managed and operated locations, (ii) military and retail customers under subscription plans for month-to-month network access that automatically renew, and military and retail single-use access from sales of hourly, daily or other single-use access plans, (iii) arrangements with property owners for multifamily properties that provide for network installation and monthly Wi-Fi services and support for residents and employees, (iv) arrangements with wholesale Wi-Fi customers that provide software licensing, network access, and/or professional services fees, and (v) display advertisements and sponsorships on our walled garden sign-in pages. Software licensed by our wholesale platform services customers can only be used during the term of the service arrangements and has no utility to them upon termination of the service arrangement.

Revenues are recognized when a contract with a customer exists and control of the promised goods or services is transferred to our customers, in an amount that reflects the consideration we expect to be entitled to in exchange for those goods or services and the identified performance obligation has been satisfied. Contracts entered into at or near the same time with the same customer are combined and accounted for as a single contract if the contracts have a single commercial objective, the amount of consideration is dependent on the price or performance of the other contract, or the services promised in the contracts are a single performance obligation. Contract amendments are routine in the performance of our DAS, wholesale Wi-Fi, and advertising contracts. Contracts are often amended to account for changes in contract specifications or requirements or expand network access services. In most instances, our DAS and wholesale Wi-Fi contract amendments are for additional goods or services that are distinct, and the contract price increases by an amount that reflects the standalone selling price of the additional goods or services; therefore, such contract amendments are accounted for as separate contracts. Contract amendments for our advertising contracts are also generally for additional goods or services that are distinct; however, the contract price does not increase by an amount that reflects the standalone selling price of the additional goods or services. Advertising contract amendments are therefore generally accounted for as contract modifications under the prospective method. Contract amendments to transaction prices with no change in remaining services are accounted for as contract modifications under the cumulative catch-up method.

A performance obligation is a promise in a contract to transfer a distinct good or service to the customer and is the unit of account in ASC 606, Revenue from Contracts with Customers. A contract’s transaction price is allocated to each distinct performance obligation and is recognized as revenue when, or as, the performance obligation is satisfied, which typically occurs when the services are rendered. Determining whether products and services are considered distinct performance obligations that should be accounted for separately versus together may require significant judgment. Our contracts with customers may include multiple performance obligations. For such arrangements, we allocate revenue to each performance obligation based on its relative standalone selling price. We generally determine standalone selling prices based on the prices charged to customers. Judgment may be used to determine the standalone selling prices for items that are not sold separately, including services provided at no additional charge. Most of our performance obligations are satisfied over time as services are provided. We generally recognize revenue on a gross

basis as we are primarily responsible for fulfilling the promises to provide the specified goods or services, we are responsible for paying all costs related to the goods or services before they have been transferred to the customer, and we have discretion in establishing prices for the specified goods or services. Revenue is presented net of any sales and value added taxes.

Payment terms vary on a contract-by-contract basis, although terms generally require payment within 30 to 60 days for non-recurring payments, the first day of the monthly or quarterly billing cycle for recurring payments for DAS and wholesale Wi-Fi contracts, and the first day of the month prior to the month that services are provided for multifamily contracts. We apply a practical expedient for purposes of determining whether a significant financing component may exist for our contracts if, at contract inception, we expect that the period between when we transfer the promised good or service to the customer and when the customer pays for that good or service will be one year or less. In instances where the customer pays for a good or service one year or more in advance of the period when we transfer the promised good or service to the customer, we have determined our contracts generally do not include a significant financing component. The primary purpose of our invoicing terms is not to receive financing from our customers or to provide customers with financing but rather to maximize our profitability on the customer contract. Specifically, inclusion of non-refundable upfront fees in our long-term customer contracts increases the likelihood that the customer will be committed through the end of the contractual term and ensures recoverability of the capital outlay that we incur in expectation of the customer fulfilling its contractual obligations. We may also provide service credits to our customers if we fail to meet contractual monthly system uptime requirements and we account for the variable consideration related to these service credits using the most likely amount method.

For contracts that include variable consideration, we estimate the amount of consideration at contract inception under the expected value method or the most likely amount method and include the amount of variable consideration that is not considered to be constrained. Significant judgment is used in constraining estimates of variable consideration. We update our estimates at the end of each reporting period as additional information becomes available.

Timing of revenue recognition may differ from the timing of invoicing to customers. We record unbilled receivables (contract assets) when revenue is recognized prior to invoicing, deferred revenue (contract liabilities) when revenue is recognized after invoicing, and receivables when we have an unconditional right to consideration to invoice and receive payment in the future. We present our DAS, multifamily, and wholesale Wi-Fi contracts in our condensed consolidated balance sheet as either a contract asset or a contract liability with any unconditional rights to consideration presented separately as a receivable. Our other customer contracts generally do not have any significant contract asset or contract liability balances. Generally, a significant portion of the billing for our DAS contracts occurs prior to revenue recognition, resulting in our DAS contracts being presented as contract liabilities. In contrast, our wholesale Wi-Fi contracts that contain recurring fees with annual escalations are generally presented as contract assets as revenue is recognized prior to invoicing. Our multifamily contracts can be presented as either contract liabilities or contract assets primarily as a result of timing of invoicing for the network installations.

We recognize an asset for the incremental costs of obtaining a contract with a customer if we expect the benefit of those costs to be longer than one year. We have determined that certain sales incentive programs meet the requirements to be capitalized. Total capitalized costs to obtain a contract were immaterial during the three and six months ended June 30, 2019 and are included in prepaid expenses and other current assets and non-current other assets on our condensed consolidated balance sheets. We apply a practical expedient to expense costs as incurred for costs to obtain a contract with a customer when the amortization period would have been one year or less, the most significant of which relates to sales commissions related to obtaining our advertising customer contracts. Contract costs are evaluated for impairment in accordance with ASC 310, Receivables.

DAS

We enter into long-term contracts with telecom operators at our managed and operated locations. The initial term of our contracts with telecom operators generally range from five to twenty years and the agreements generally contain renewal options. Some of our contracts provide termination for convenience clauses that may or may not include substantive termination penalties. We apply judgment in determining the contract term, the period during which we have present and enforceable rights and obligations. Our DAS customer contracts generally contain a single performance

obligationprovide non-exclusive access to our DAS or small cell networks to provide telecom operators’ customers with access to the licensed wireless spectrum, together with providing telecom operators with construction, installation, optimization/engineering, maintenance services and agreed-upon storage space for the telecom operators’ transmission equipment, each related to providing such licensed wireless spectrum to the telecom operators. The performance obligation is considered a series of distinct services as the performance obligation is satisfied over time and the same time-based input method would be used to measure our progress toward complete satisfaction of the performance obligation to transfer each distinct service in the series to the customer. Our contract fee structure generally includes a non-refundable upfront fee and we evaluated whether customer options to renew services give rise to a material right that should be accounted for as a separate performance obligation because of those non-refundable upfront fees. We believe that a material right generally does not exist for our DAS customer contracts that contain renewal options because the telecom operators’ decision to renew is highly dependent upon our ability to maintain our exclusivity as the DAS service provider at the venue location and our limited operating history with venue and customer renewals. The telecom operators will make the decision to incur the capital improvement costs at the venue location irrespective of our remaining exclusivity period with the venue as the telecom operators expect that the assets will continue to be serviced regardless of whether we will remain such exclusive DAS service provider. Our contracts also provide our DAS customers with the option to purchase additional future services such as upgrades or enhancements. This option is not considered to provide the customer with a material right that should be accounted for as a separate performance obligation since the cost of the additional future services depends entirely on the market rate of such services at the time such services are requested and we are not automatically obligated to stand ready to deliver these additional goods or services as the customer may reject our proposal. Periodically, we install and sell DAS networks to customers where we do not have service contracts or remaining obligations beyond the installation of those networks and we recognize build-out fees for such projects as revenue when the installation work is completed, and the network has been accepted by the customer.

Our contract fee structure may include varying components of an upfront build-out fee and recurring access, maintenance, and other fees. The upfront build-out fee is generally structured as a firm-fixed price or cost-plus arrangement and becomes payable as certain contract and/or construction milestones are achieved. Our DAS and small cell networks are neutral-host networks that can accommodate multiple telecom operators. Some of our DAS customer contracts provide for credits that may be issued to existing telecom operators for additional telecom operators subsequently joining the DAS network. The credits are generally based upon a fixed dollar amount per additional telecom operator, a fixed percentage amount of the original build-out fee paid by the telecom operator per additional telecom operator, or a proportionate share based upon the split among the relevant number of telecom operators for the actual costs incurred by all telecom operators to construct the DAS network. In most cases, there is significant uncertainty on whether additional telecom operator contracts will be executed at inception of the contract with the existing telecom operator. We believe that the upfront build-out fee is fixed consideration once the build-out is complete and any subsequent credits that may be issued would be accounted for in a manner similar to a contract modification under the prospective method because (i) the execution of customer contracts with additional telecom carriers is at our sole election and (ii) we would not execute agreements with additional telecom carriers if it would not increase our revenues and gross profits at the venue level. Further, the credits issued to the existing telecom operator changes the transaction price on a go-forward basis, which corresponds with the decline in service levels for the existing telecom operator once the neutral-host DAS network can be accessed by the additional telecom operator. The recurring access, maintenance, and other fees generally escalate on an annual basis. The recurring fees are variable consideration until the contract term and annual escalation dates are fixed. We estimate the variable consideration for our recurring fees using the most likely amount method based on the expected commencement date for the services. We evaluate our estimates of variable consideration each period and record a cumulative catch-up adjustment in the period in which changes occur for the amount allocated to satisfied performance obligations.

We generally recognize revenue related to our single performance obligation for our DAS customer contract monthly over the contract term once the customer may access the DAS network and we commence maintenance on the DAS network.

Military and retail

Military and retail customers must review and agree to abide by our standard “Customer Agreement (With Acceptable Use Policy) and End User License Agreement” before they are able to sign up for our subscription or single-use Wi-Fi network access services. Our military and retail customer contracts generally contain a single performance obligationprovide non-exclusive access to Wi-Fi services, together with performance of standard maintenance, customer support, and the Wi-Finder app to facilitate seamless connection to the Company’s Wi-Fi network. The performance obligation is considered a series of distinct services as the performance obligation is satisfied over time and the same time-based input method would be used to measure our progress toward complete satisfaction of the performance obligation to transfer each distinct service in the series to the customer. Our contracts also provide our military and retail subscription customers with the option to renew the agreement when the subscription term is over. We do not consider this option to provide the customer with a material right that should be accounted for as a separate performance obligation because the customer would not receive a discount if it decided to renew and the option to renew is cancellable with 5 days’ notice prior to the end of the then current term by either party.

The contract transaction price is determined based on the subscription or single-use plan selected by the customer. Our military and retail service plans are for fixed price services as described on our website. From time to time, we offer promotional discounts that result in an immediate reduction in the price paid by the customer. Subscription fees from military and retail customers are paid monthly in advance. We provide refunds for our military and retail services on a case-by-case basis. Refunds and credit card chargeback amounts are not significant and are recorded as contra-revenue in the period the refunds are made, or chargebacks are received.

Subscription fee revenue is recognized ratably over the subscription period. Revenue generated from military and retail single-use access is recognized when access is provided, and the performance obligation is satisfied.

Multifamily

We enter into long-term contracts with property owners. The initial term of our contracts with property owners generally range from three to five years and the contracts may contain renewal options. Some of our contracts provide termination for convenience clauses that may or may not include substantive termination penalties. We apply judgment in determining the contract term, which is the period during which we have present and enforceable rights and obligations. Our customer contracts generally contain two performance obligations: (i) install the network required to provide Wi-Fi services; and (ii) provide Wi-Fi services and technical support to the residents and employees. Our contracts may also provide our property owners with the option to renew the agreement. We do not consider this option to provide the property owner with a material right that should be accounted for as a separate performance obligation because the property owner would not receive a discount if it decided to renew and the option to renew is generally cancellable by either party subject to the notice of non-renewal requirements specified in the contract. Our contracts may also provide our customers with the option to purchase additional future services. We do not consider this option to provide the customer with a material right that should be accounted for as a separate performance obligation since the cost of the additional future services are generally at market rates for such services and we are not automatically obligated to stand ready to deliver these additional goods or services because the customer may reject our proposal.

Our contract fee structure includes a network installation fee and recurring Wi-Fi service and support fees. The network installation fee is generally structured as a firm-fixed price arrangement and becomes payable as certain contract and/or installation milestones are achieved. We generally estimate variable consideration for unpriced change orders using the most likely amount method based on the expected price for those services. If network installations are not completed by specified dates, we may be subject to network installation penalties. We estimate the variable consideration for our network installation fees using the most likely amount method based on the amount of network installation penalties we expect to incur. Title to the network generally transfers to the property owner once installation is completed and the network has been accepted. We generally recognize revenue related to our network installation performance obligation using a cost-to-cost method over the network installation period. We may provide latent defect warranties for materials and installation labor services related to our network installation services. Our warranty obligations are generally not accounted for as separate performance obligations as warranties cannot be separately purchased and warranties do not provide a service in addition to the assurance that the network will function as expected.

The recurring fees commence once the network is launched with recurring fees generally based upon a fixed or variable occupancy rate. The recurring Wi-Fi service fees may be adjusted prospectively for changes in circuit and/or video content costs, and Wi-Fi support fees may escalate on an annual basis. We estimate the variable consideration for our recurring fees using the expected value method with the exception of the variable consideration related to actual occupancy rates, which we record when we have the contractual right to bill. We evaluate our estimates of variable consideration each period and record a cumulative catch-up adjustment in the period in which changes occur for the amount allocated to satisfied performance obligations. We recognize revenue related to the recurring fees on a monthly basis over the contract term as the Wi-Fi services and support is rendered, and the performance obligation is satisfied.

Wholesale Wi-Fi

We enter into long-term contracts with enterprise customers such as telecom operators, cable companies, technology companies, and enterprise software/services companies, that pay us usage-based Wi-Fi network access and software licensing fees to allow their customers' access to our footprint worldwide. We also enter into long-term contracts with financial institutions and other enterprise customers who provide access to our Wi-Fi footprint as a value-added service for their customers. The initial term of our contracts with wholesale Wi-Fi customers generally range from one to three years and the agreements generally contain renewal options. Some of our contracts provide termination for convenience clauses that may or may not include substantive termination penalties. We apply judgment in determining the contract term, the period during which we have present and enforceable rights and obligations. Our wholesale Wi-Fi customer contracts generally contain a single performance obligation-provide non-exclusive rights to access our Wi-Fi networks to provide wholesale Wi-Fi customers' end customers with access to the high-speed broadband network that may be bundled together with integration services, support services, and/or performance of standard maintenance. The performance obligation is considered a series of distinct services as the performance obligation is satisfied over time and the same time-based input method or usage-based output method would be used to measure our progress toward complete satisfaction of the performance obligation to transfer each distinct service in the series to the customer. Our contracts may also provide our enterprise customers with the option to renew the agreement. This option is not considered to provide the customer with a material right that should be accounted for as a separate performance obligation because the customer would not receive a discount if it decided to renew and the option to renew is generally cancellable by either party subject to the notice of non-renewal requirements specified in the contract. Our contracts may also provide our wholesale Wi-Fi customers with the option to purchase additional future services. We do not consider this option to provide the customer with a material right that should be accounted for as a separate performance obligation since the cost of the additional future services are generally at market rates for such services and we are not automatically obligated to stand ready to deliver these additional goods or services because the customer may reject our proposal. Periodically, we install and sell Wi-Fi networks to customers where we do not have service contracts or remaining obligations beyond the installation of those networks and we recognize build-out fees for such projects as revenue when the installation work is completed, and the network has been accepted by the customer.

Our contract fee structure may include varying components of a minimum fee and usage-based fees. Minimum fees represent fixed price consideration while usage-based fees represent variable consideration. With respect to variable consideration, our commitment to our wholesale Wi-Fi customers consists of providing continuous access to the network. It is therefore a single performance obligation to stand ready to perform and we allocate the variable fees charged for usage when we have the contractual right to bill. The variable component of revenue is recognized based on the actual usage during the period.

Wholesale Wi-Fi revenue is recognized as it is earned over the relevant contract term with variable consideration recognized when we have the contractual right to bill.

Advertising

We generally enter into short-term cancellable insertion orders with our advertising customers for advertising campaigns that are served at our managed and operated locations and other locations where we solely provide authorized access to a partner’s Wi-Fi network through sponsored and promotional programs. Our sponsorship advertising arrangements are generally priced under a cost per engagement structure, which is a set price per click or engagement, or

a cost per install structure for third party application downloads. Our display advertising arrangements are priced based on cost per thousand impressions. Insertion orders may also include bonus items. Our advertising customer contracts may contain multiple performance obligations with each distinct service. These distinct services may include an advertisement video or banner impressions in the contract bundled with the requirement to provide network, space on the website, and integration of customer advertisement onto the website, and each is generally considered to be its own performance obligation. The performance obligations are considered a series of distinct services as the performance obligations are satisfied over time and the same action-based output method would be used to measure our progress toward complete satisfaction of the performance obligation to transfer each distinct service in the series to the customer.

The contract transaction price is comprised of variable consideration based on the stated rates applied against the number of units delivered inclusive of the bonus units subject to the maximums provided for in the insertion order. It is customary for us to provide additional units over and above the amounts contractually required; however, there are a number of factors that can also negatively impact our ability to deliver the units required by the customer such as service outages at the venue resulting from power or circuit failures and customer cancellation of the remaining undelivered units under the insertion order due to campaign performance or budgetary constraints. Typically, the advertising campaign periods are short in duration. We therefore use the contractual rates per the insertion orders and actual units delivered to determine the transaction price each period end. The transaction price is allocated to each performance obligation based on the standalone selling price of each performance obligation.

Advertising revenue is recognized ratably over the service period based on actual units delivered subject to the maximums provided for in the insertion order.

Leases

Leases

We determine if an arrangement is a lease at inception. Operating leases are included in operating lease right-of-use assets, current portion of operating and finance leases, and long-term portion of operating and finance leases in our condensed consolidated balance sheets. Finance leases are included in property and equipment, net, current portion of operating and finance leases, and long-term portion of operating and finance leases in our condensed consolidated balance sheets.

Operating and finance lease ROU assets and ROU liabilities are recognized based on the present value of the future minimum lease payments over the lease term at the commencement date. As most of our leases do not provide an implicit rate, we use our incremental borrowing rate based on the information available at the commencement date in determining the present value of future payments. The ROU asset also includes any lease payments made and excludes lease incentives and initial direct costs incurred. Our lease terms may include options to extend or terminate the lease when it is reasonably certain that we will exercise that option. Lease expense for minimum lease payments is recognized on a straight-line basis over the lease term. We have lease agreements with lease and non-lease components, which are accounted for separately for the asset classes maintained. We exclude short-term leases with a lease term of 12 months or less at the commencement date from our condensed consolidated balance sheets.

Income taxes

Income taxes

We calculate our interim income tax provision in accordance with ASC 270, Interim Reporting, and ASC 740, Accounting for Income Taxes. At the end of each interim period, we estimate the annual effective tax rate and apply that rate to our ordinary quarterly earnings. The tax expense or benefit related to significant, unusual, or extraordinary items is recognized in the interim period in which those items occur. In addition, the effect of changes in enacted tax laws, rates, or tax status is recognized in the interim period in which the change occurs. Excess windfall tax benefits and tax deficiencies related to our stock option exercises and restricted stock unit (“RSU”) vesting are recognized as an income tax benefit or expense in our condensed consolidated statements of operations in the period they are deducted on the income tax return. Excess windfall tax benefits and tax deficiencies are therefore not anticipated when determining the annual effective tax rate and are instead recognized in the interim period in which those items occur.

The computation of the annual estimated effective tax rate at each interim period requires certain estimates and significant judgment, including the expected operating income (loss) for the year, projections of the proportion of income

(loss) earned and taxed in various states, permanent and temporary differences as a result of differences between amounts measured and recognized in accordance with tax laws and financial accounting standards, and the likelihood of recovering deferred tax assets generated in the current year. The accounting estimates used to compute the provision for income taxes may change as new events occur, additional information is obtained, or as the tax environment changes.

As of June 30, 2019, we had an immaterial amount of unremitted earnings in our subsidiaries located outside of the U.S. for which state taxes have not been paid. Our intention is to indefinitely reinvest these earnings outside the U.S. If we were to remit our foreign earnings, we would be subject to state income taxes or withholding taxes imposed on actual distributions, or currency transaction gains (losses) that would result in taxation upon remittance. However, the amounts of any such tax liabilities resulting from the repatriation of foreign earnings are not material.

Foreign currency translation

Foreign currency translation

Our Brazilian subsidiary uses the Brazilian Real as its functional currency. Assets and liabilities of our Brazilian subsidiary are translated to U.S. dollars at period-end rates of exchange, and revenues and expenses are translated at average exchange rates prevailing for each month. The resulting translation adjustments are made directly to a separate component of other comprehensive loss, which is reflected in stockholders’ equity in our condensed consolidated balance sheets. As of June 30, 2019 and December 31, 2018, the Company had $(1,257) and $(1,295), respectively, of cumulative foreign currency translation adjustments, net of tax, which was $0 as of June 30, 2019 and December 31, 2018 due to the full valuation allowance established against our deferred tax assets, in accumulated other comprehensive loss.

The functional currency for our other foreign subsidiaries is the U.S. dollar. Gains and losses from the revaluation of foreign currency transactions and monetary assets and liabilities are included in the condensed consolidated statements of operations.

Use of estimates

Use of estimates

The preparation of accompanying condensed consolidated financial statements in conformity with GAAP requires us to make estimates and assumptions that affect the reported amounts of assets and liabilities and the disclosure of contingent assets and liabilities at the dates of the accompanying condensed consolidated financial statements, and the reported amounts of revenue and expenses during the reporting period. Actual results could differ from those estimates. Assets and liabilities which are subject to significant judgment and the use of estimates include the allowance for doubtful accounts, recoverability of goodwill and long-lived assets, valuation allowances with respect to deferred tax assets, useful lives associated with property and equipment, valuation of ROU assets and ROU liabilities, valuation and useful lives of intangible assets, valuation of contingent consideration, contract assets and contract liabilities including estimates of variable consideration, and the valuation and assumptions underlying stock-based compensation and other equity instruments. On an ongoing basis, we evaluate our estimates compared to historical experience and trends, which form the basis for making judgments about the carrying value of assets and liabilities.

Fair value of financial instruments

Fair value of financial instruments

Fair value is defined as 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, we consider the principal or most advantageous market in which it would transact, and we consider assumptions that market participants would use when pricing the asset or liability.

The accounting guidance for fair value measurement also requires an entity to maximize the use of observable inputs and minimize the use of unobservable inputs when measuring fair value. The standard establishes a fair value hierarchy based on the level of independent, objective evidence surrounding the inputs used to measure 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. The fair value hierarchy is as follows:

Level 1—Unadjusted quoted prices in active markets that are accessible at the measurement date for identical, unrestricted assets or liabilities.

Level 2—Quoted prices for identical assets and liabilities in markets that are not active, quoted prices for similar assets and liabilities in active markets or financial instruments for which significant inputs are observable, either directly or indirectly.

Level 3—Unobservable inputs that are supported by little or no market activity and that are significant to the fair value of the assets or liabilities.

The carrying amount reflected in the accompanying condensed consolidated balance sheets for cash and cash equivalents, accounts receivable, prepaid expenses and other current assets, other assets, accounts payable, accrued expenses and other liabilities, and deferred revenue approximates fair value due to the short duration and nature of these financial instruments.

Recent accounting pronouncements

Recent accounting pronouncements

In August 2018, the FASB issued ASU 2018-15, Intangibles—Goodwill and Other—Internal-Use Software (Subtopic 350-40): Customer’s Accounting for Implementation Costs Incurred in a Cloud Computing Arrangement That Is a Service Contract, which requires customers to apply the same criteria for capitalizing implementation costs incurred in a cloud computing arrangement that is hosted by the vendor as they would for an arrangement that has a software license. The standard is effective for interim and annual periods beginning after December 15, 2019 and early adoption is permitted. The standard can be adopted prospectively or retrospectively. We are currently evaluating the expected impact of this new standard.

XML 35 R25.htm IDEA: XBRL DOCUMENT v3.19.2
Summary of significant accounting policies (Tables)
6 Months Ended
Jun. 30, 2019
Summary of significant accounting policies  
Summary of the entity's revenue disaggregated by product offerings

                                                                                                                                                                              

Three Months Ended

Six Months Ended

June 30, 

June 30, 

    

2019

    

2018

    

2019

    

2018

Revenue:

DAS

$

27,622

$

21,885

$

51,717

$

45,530

Military/multifamily

24,396

16,735

50,293

32,589

Wholesale—Wi-Fi

 

10,718

 

13,530

21,738

24,679

Retail

3,847

4,566

7,773

9,876

Advertising and other

 

1,971

 

2,885

3,506

5,086

Total revenue

$

68,554

$

59,601

$

135,027

$

117,760

XML 36 R26.htm IDEA: XBRL DOCUMENT v3.19.2
Acquisitions (Tables) - Elauwit Networks, LLC
6 Months Ended
Jun. 30, 2019
Acquisitions  
Summary of the preliminary purchase price allocation

    

    

Weighted Average

Estimated

Estimated Useful

 Fair Value

Life (years)

Consideration:

 

  

 

  

Cash paid

$

15,576

 

  

Holdback consideration

 

13,000

 

  

Contingent consideration

 

961

 

  

Total consideration

$

29,537

 

  

Recognized amounts of identifiable assets acquired and liabilities assumed:

 

  

 

  

Accounts receivable

$

4,494

 

  

Prepaid expenses and other current assets

 

1,687

 

  

Property and equipment

 

195

 

  

Other non-current assets

177

Accounts payable

 

(2,049)

 

  

Accrued expenses and other liabilities

 

(683)

 

  

Deferred revenue

 

(3,854)

 

  

Other non-current liabilities

 

(307)

 

  

Net tangible liabilities acquired

 

(340)

 

  

Backlog

 

7,030

 

5.0

Backlog-held for sale

750

Customer relationships

 

2,490

 

10.0

Partner relationships

 

1,200

 

10.0

Transition services agreement

 

540

 

2.0

Non-compete agreement

 

1,380

 

3.0

Goodwill

 

16,487

 

  

Total purchase price

$

29,537

 

  

Schedule of actual results

Three Months Ended

Six Months Ended

June 30, 

June 30, 

    

2019

    

2018

    

2019

    

2018

(Unaudited)

Revenue

$

5,884

$

$

13,304

$

Net loss

 

(1,659)

 

 

(4,016)

 

Schedule of the unaudited pro forma results

Three Months Ended

Six Months Ended

    

June 30, 2018

    

June 30, 2018

Revenue

$

68,422

$

132,968

Net income (loss)

 

2,033

 

(1,358)

Net income (loss) attributable to common stockholders

1,628

(2,212)

Net income (loss) per share attributable to common stockholders

Basic

$

0.04

$

(0.05)

Diluted

$

0.04

$

(0.05)

XML 37 R27.htm IDEA: XBRL DOCUMENT v3.19.2
Cash and cash equivalents and marketable securities (Tables)
6 Months Ended
Jun. 30, 2019
Cash and cash equivalents and marketable securities  
Schedule of cash and cash equivalents and marketable securities

                                                                                                                                                                                    

    

June 30, 

    

December 31, 

2019

2018

Cash and cash equivalents:

Cash

$

4,398

$

11,689

Money market accounts

 

22,983

 

137,723

Total cash and cash equivalents

$

27,381

$

149,412

Short-term marketable securities-available-for-sale:

Marketable securities

$

42,799

$

Total short-term marketable securities

$

42,799

$

XML 38 R28.htm IDEA: XBRL DOCUMENT v3.19.2
Contract assets and contract liabilities (Tables)
6 Months Ended
Jun. 30, 2019
Contract assets and contract liabilities  
Schedule of contract asset, net and contract liability, net balance from customers and performance obligations included in revenues

Contract

Contract

    

Assets, Net

    

Liabilities, Net

Balance at December 31, 2018

$

468

$

217,733

Balance at June 30, 2019

756

237,109

Change

$

288

$

19,376

Three Months Ended

Six Months Ended

    

June 30, 2019

    

June 30, 2019

Amounts included in the beginning of period contract liability balance

$

22,629

$

51,500

Amounts associated with performance obligations satisfied in previous periods

 

7

301

XML 39 R29.htm IDEA: XBRL DOCUMENT v3.19.2
Property and equipment (Tables)
6 Months Ended
Jun. 30, 2019
Property and equipment  
Schedule of property and equipment

    

June 30, 

    

December 31, 

2019

2018

Leasehold improvements

$

520,923

$

474,808

Construction in progress

 

60,117

 

40,369

Software

 

56,360

 

51,534

Computer equipment

 

15,381

 

14,215

Furniture, fixtures and office equipment

 

2,148

 

2,141

Total property and equipment

 

654,929

 

583,067

Less: accumulated depreciation and amortization

 

(304,757)

 

(268,888)

Total property and equipment, net

$

350,172

$

314,179

Schedule of depreciation and amortization expense of property and equipment

                                                                                                                                                                                  

Three Months Ended

Six Months Ended

June 30, 

June 30, 

    

2019

    

2018

    

2019

    

2018

Network access

$

9,482

$

10,134

$

21,064

$

23,721

Network operations

 

4,322

 

4,314

8,708

8,570

Development and technology

 

2,808

 

2,568

5,587

5,076

General and administrative

 

262

 

246

524

501

Total depreciation and amortization of property and equipment

$

16,874

$

17,262

$

35,883

$

37,868

XML 40 R30.htm IDEA: XBRL DOCUMENT v3.19.2
Accrued expenses and other liabilities (Tables)
6 Months Ended
Jun. 30, 2019
Accrued expenses and other liabilities  
Schedule of accrued expenses and other liabilities

                                                                                                                                                                                     

    

June 30, 

    

December 31, 

2019

2018

Accrued construction in progress

$

18,672

20,930

Accrued customer liabilities

18,135

$

15,219

Revenue share

7,286

5,514

Salaries and wages

 

3,755

 

4,425

Accrued taxes

 

2,901

 

2,745

Holdback consideration

2,000

2,000

Accrued partner network

1,236

1,228

Accrued professional fees

949

1,434

Acquisition purchase consideration

1,952

Other

 

6,510

 

7,206

Total accrued expenses and other liabilities

$

61,444

$

62,653

XML 41 R31.htm IDEA: XBRL DOCUMENT v3.19.2
Convertible Notes (Tables) - Convertible Notes
6 Months Ended
Jun. 30, 2019
Convertible Notes  
Schedule of Convertible Notes

                                                                                                                                                                   

    

June 30, 

2019

Par value of the Convertible Notes

$

201,250

Unamortized debt discounts

 

(41,010)

Unamortized debt issuance costs

 

(4,104)

Net carrying value of Convertible Notes

$

156,136

Schedule of interest expense related to the Convertible Notes

                                                                                                                                                                  

Three Months

    

Ended

 

Six Months Ended

June 30, 2019

 

June 30, 2019

Contractual interest expense

$

503

$

1,006

Amortization of debt issuance costs

 

211

419

Amortization of debt discount

 

2,042

4,048

Total

$

2,756

$

5,473

Effective interest rate of the liability component

 

7.1

%

7.1

%

Schedule of amortization expense for debt discount and debt issuance costs

                                                                                                                                                                 

    

Debt

    

Debt Issuance

Discounts

Costs

July 1, 2019―December 31, 2019

$

4,197

$

431

January 1, 2020―December 31, 2020

 

8,864

 

901

January 1, 2021―December 31, 2021

 

9,528

 

955

January 1, 2022―December 31, 2022

 

10,241

 

1,015

January 1, 2023―December 31, 2023

 

8,180

 

802

$

41,010

$

4,104

XML 42 R32.htm IDEA: XBRL DOCUMENT v3.19.2
Credit Facility (Tables)
6 Months Ended
Jun. 30, 2019
Credit Facility  
Schedule of principal payments due under Term Loan

                                                                                                                                                                

    

Principal Payments

July 1, 2019―December 31, 2019

$

389

January 1, 2020―December 31, 2020

 

778

January 1, 2021―December 31, 2021

 

778

January 1, 2022―December 31, 2022

 

778

January 1, 2023―December 31, 2023

 

388

$

3,111

Schedule of amortization expense for debt issuance costs

    

Amortization Expense

July 1, 2019―December 31, 2019

$

229

January 1, 2020―December 31, 2020

 

457

January 1, 2021―December 31, 2021

 

457

January 1, 2022―December 31, 2022

 

457

January 1, 2023―December 31, 2023

 

120

$

1,720

XML 43 R33.htm IDEA: XBRL DOCUMENT v3.19.2
Leases (Tables)
6 Months Ended
Jun. 30, 2019
Leases  
Schedule of lease related to components of lease expense, supplemental cash flow information, other information

The components of lease expense were as follows:

    

Three Months

    

Six Months

Ended 

Ended

June 30, 2019

June 30, 2019

Operating lease expense

$

891

$

1,776

Finance lease expense:

 

  

 

  

Depreciation and amortization of assets included in property and equipment, net

$

517

$

1,041

Interest on lease liabilities

 

 

56

Total finance lease expense

$

517

$

1,097

Supplemental cash flow information related to leases was as follows:

    

Six Months

Ended June 30,

2019

Cash paid for amounts included in the measurement of lease liabilities:

 

  

Operating cash flows from operating leases

$

(1,987)

Operating cash flows from finance leases

 

(103)

Financing cash flows from finance leases

 

(2,275)

Right-of-use assets obtained in exchange for lease obligations:

 

Operating leases

 

17,112

Other information related to leases was as follows:

    

June 30, 2019

 

Weighted average remaining lease term:

 

  

Operating leases

 

6.6

years

Financing leases

 

1.5

years

Weighted average discount rate:

 

Operating leases

 

5.3

%

Finance leases

 

3.2

%

Schedule of future minimum lease payments under non-cancellable leases

Future minimum lease payments under non-cancellable leases as of June 30, 2019 as presented in accordance with ASC 842 were as follows:

    

Operating

    

Finance

Leases

Leases

July 1, 2019 – December 31, 2019

$

1,755

$

1,995

January 1, 2020―December 31, 2020

 

3,746

 

2,784

January 1, 2021―December 31, 2021

 

3,565

 

574

January 1, 2022―December 31, 2022

 

3,541

 

January 1, 2023―December 31, 2023

 

3,626

 

January 1, 2024―December 31, 2024

 

3,639

 

Thereafter

 

5,235

 

Total future minimum lease payments

 

25,107

 

5,353

Less: Imputed interest

 

(3,978)

 

(134)

Total

 

21,129

 

5,219

Current portion of operating and finance leases

 

2,708

 

3,429

Long-term portion of operating and finance leases

$

18,421

$

1,790

Future minimum lease payments under non-cancellable leases as of December 31, 2018 as presented in accordance with ASC 840, Leases, were as follows:

    

Operating

    

Capital

Leases

Leases

January 1, 2019 – December 31, 2019

$

3,573

$

4,373

January 1, 2020―December 31, 2020

 

3,456

 

2,783

January 1, 2021―December 31, 2021

 

3,385

 

574

January 1, 2022―December 31, 2022

 

3,414

 

January 1, 2023―December 31, 2023

 

3,495

 

Thereafter

 

8,835

 

Minimum lease payments

$

26,158

 

7,730

Less: Amounts representing interest ranging from 1.3% to 7.7%

 

(236)

Minimum lease payments

 

7,494

Current portion of capital leases

 

4,201

Long-term portion of capital leases

$

3,293

XML 44 R34.htm IDEA: XBRL DOCUMENT v3.19.2
Notes payable (Tables)
6 Months Ended
Jun. 30, 2019
Notes Payable  
Schedule of future minimum lease payments under notes payable

                                                                                                                                                                 

    

Notes Payable

July 1, 2019 – December 31, 2019

$

1,124

January 1, 2020―December 31, 2020

 

1,541

January 1, 2021―December 31, 2021

 

95

Total future minimum payments

 

2,760

Less: Imputed interest

 

(42)

Total

 

2,718

Current portion of note payable

 

2,035

Long-term portion of notes payable

$

683

XML 45 R35.htm IDEA: XBRL DOCUMENT v3.19.2
Fair value measurement (Tables)
6 Months Ended
Jun. 30, 2019
Fair value measurement  
Schedule of financial assets and liabilities that are measured at fair value on a recurring basis

                                                                                                                                                                                   

At June 30, 2019

    

Level 1

    

Level 2

    

Level 3

    

Total

Assets:

Money market accounts

$

22,983

$

$

$

22,983

Marketable securities

 

6,987

 

35,812

 

 

42,799

Total assets

$

29,970

$

35,812

$

$

65,782

Liabilities:

Contingent consideration

$

$

$

961

$

961

Total liabilities

$

$

$

961

$

961

At December 31, 2018

    

Level 1

    

Level 2

    

Level 3

    

Total

Assets:

Money market accounts

$

137,723

$

$

$

137,723

Total assets

$

137,723

$

$

$

137,723

Liabilities:

Contingent consideration

$

$

$

961

$

961

Total liabilities

$

$

$

961

$

961

Schedule of reconciliation of the beginning and ending amounts related to the fair value of contingent consideration categorized as Level 3

                                                                                                                                                                

Balance , December 31, 2018

    

$

961

Payment of contingent consideration

 

Change in fair value

 

Balance , June 30, 2019

$

961

XML 46 R36.htm IDEA: XBRL DOCUMENT v3.19.2
Stock incentive plans (Tables)
6 Months Ended
Jun. 30, 2019
Stock incentive plans  
Schedule of stock-based compensation expense

Three Months Ended

Six Months Ended

June 30, 

June 30, 

    

2019

    

2018

    

2019

    

2018

Network operations

$

348

$

516

$

854

$

1,053

Development and technology

 

334

 

314

 

637

 

592

Selling and marketing

 

548

 

393

 

1,077

 

866

General and administrative

 

806

 

1,723

 

1,812

 

3,561

Total stock-based compensation

$

2,036

$

2,946

$

4,380

$

6,072

Summary of stock option activity

    

    

    

Weighted-

    

Average

Weighted

Remaining

Number of

Average

Contract

Aggregate

Options

Exercise

Life

Intrinsic

    

 (000’s)

    

Price

    

 (years)

    

Value

Outstanding at December 31, 2018

 

304

$

7.49

 

3.8

$

3,970

Exercised

 

(15)

$

5.47

Canceled/forfeited

 

$

Outstanding and exercisable at June 30, 2019

 

289

$

7.59

 

3.3

$

2,999

Summary of RSU activity

                                                                                                                                                                                

Weighted Average

Number of Shares

Grant-Date Fair

    

(000’s)

    

Value

Non-vested at December 31, 2018

 

3,119

$

8.60

Granted(1)

 

593

$

22.76

Vested

 

(2,806)

$

7.21

Canceled/forfeited

 

(51)

$

23.31

Non-vested at June 30, 2019

 

855

$

22.08

(1)The RSUs granted to all of our named executive officers in 2017 were subject to satisfaction of specified service-based and performance-based conditions. The performance objectives were subject to under- or over- achievement on a sliding scale, with a threshold of 50% of the target number of RSUs and a maximum of 150% of the target RSUs. In February 2019, our Compensation Committee determined actual achievement of the 2017 performance-based RSUs resulting in additional RSUs granted of approximately 29,000 at a grant-date fair value of $11.94 per share during the six months ended June 30, 2019.
XML 47 R37.htm IDEA: XBRL DOCUMENT v3.19.2
Net income (loss) per share attributable to common stockholders (Tables)
6 Months Ended
Jun. 30, 2019
Net income (loss) per share attributable to common stockholders  
Schedule of computation of basic and diluted net income (loss) per share attributable to common stockholders

                                                                                                                                                                                  

Three Months Ended

Six Months Ended

June 30, 

June 30, 

    

2019

    

2018

    

2019

    

2018

(in thousands)

Numerator:

Net income (loss) attributable to common stockholders, basic and diluted

$

216

$

2,115

$

(4,937)

$

(1,114)

Denominator:

Weighted average common stock, basic

 

44,041

 

41,961

43,786

41,645

Effect of dilutive stock options

191

472

Effect of dilutive RSUs

146

2,786

Weighted average common stock, diluted

44,378

45,219

43,786

41,645

Net income (loss) per share attributable to common stockholders:

Basic

$

0.00

$

0.05

$

(0.11)

$

(0.03)

Diluted

$

0.00

0.05

$

(0.11)

(0.03)

XML 48 R38.htm IDEA: XBRL DOCUMENT v3.19.2
The business (Details)
item in Millions
6 Months Ended
Jun. 30, 2019
item
Minimum  
The business  
Number of commercial hotspots worldwide for which Wi-Fi subscriptions and day passes provide access 1.3
XML 49 R39.htm IDEA: XBRL DOCUMENT v3.19.2
Summary of significant accounting policies - Basis of presentation (Details) - USD ($)
$ in Thousands
Jan. 01, 2019
Jun. 30, 2019
Dec. 31, 2018
Adoption of ASC 842      
Lease, Practical Expedients, Package [true false] true    
Operating lease right-of-use assets   $ 16,067 $ 0
Operating lease liabilities   $ 21,129  
ASC 842      
Adoption of ASC 842      
Operating lease right-of-use assets $ 16,916    
Operating lease liabilities $ 22,338    
XML 50 R40.htm IDEA: XBRL DOCUMENT v3.19.2
Summary of significant accounting policies - Principles of consolidation (Details)
Jun. 30, 2019
Chicago Concourse Development Group, LLC  
Principles of consolidation  
Percentage of ownership in subsidiaries 70.00%
Boingo Holding Participacoes Ltda.  
Principles of consolidation  
Percentage of ownership in subsidiaries 75.00%
XML 51 R41.htm IDEA: XBRL DOCUMENT v3.19.2
Summary of significant accounting policies - Marketable securities (Details) - USD ($)
$ in Thousands
Jun. 30, 2019
Dec. 31, 2018
Summary of significant accounting policies    
Short-term marketable securities $ 42,799 $ 0
Unrealized gains, net of tax in accumulated other comprehensive loss 45  
Income tax effect related to unrealized gains in accumulated other comprehensive loss $ 0  
XML 52 R42.htm IDEA: XBRL DOCUMENT v3.19.2
Summary of significant accounting policies - Segment and geographic information (Details)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2019
USD ($)
Jun. 30, 2018
USD ($)
Jun. 30, 2019
USD ($)
segment
Jun. 30, 2018
USD ($)
Primary revenue source        
Number of reportable segment | segment     1  
Revenue $ 68,554 $ 59,601 $ 135,027 $ 117,760
DAS        
Primary revenue source        
Revenue 27,622 21,885 51,717 45,530
Military/multifamily        
Primary revenue source        
Revenue 24,396 16,735 50,293 32,589
Wholesale-Wi-Fi        
Primary revenue source        
Revenue 10,718 13,530 21,738 24,679
Retail        
Primary revenue source        
Revenue 3,847 4,566 7,773 9,876
Advertising and other        
Primary revenue source        
Revenue $ 1,971 $ 2,885 $ 3,506 $ 5,086
XML 53 R43.htm IDEA: XBRL DOCUMENT v3.19.2
Summary of significant accounting policies - Revenue recognition - Practical expedient (Details)
6 Months Ended
Jun. 30, 2019
Summary of significant accounting policies  
Practical expedient of financing component true
Practical expedient of incremental cost true
XML 54 R44.htm IDEA: XBRL DOCUMENT v3.19.2
Summary of significant accounting policies - Revenue recognition - Terms of contracts (Details)
6 Months Ended
Jun. 30, 2019
item
Minimum  
Revenue recognition  
Payment terms 30 days
Maximum  
Revenue recognition  
Payment terms 60 days
Military and retail  
Revenue recognition  
Cancellation period of renewal option prior end of current contract period 5 days
Multifamily  
Revenue recognition  
Number of performance obligations 2
Multifamily | Minimum  
Revenue recognition  
Initial term of the arrangement 3 years
Multifamily | Maximum  
Revenue recognition  
Initial term of the arrangement 5 years
DAS license agreements | Minimum  
Revenue recognition  
Initial term of the arrangement 5 years
DAS license agreements | Maximum  
Revenue recognition  
Initial term of the arrangement 20 years
Wholesale-Wi-Fi | Minimum  
Revenue recognition  
Initial term of the arrangement 1 year
Wholesale-Wi-Fi | Maximum  
Revenue recognition  
Initial term of the arrangement 3 years
XML 55 R45.htm IDEA: XBRL DOCUMENT v3.19.2
Summary of significant accounting policies - Foreign currency translation (Details) - USD ($)
$ in Thousands
Jun. 30, 2019
Dec. 31, 2018
Foreign currency translation    
Cumulative foreign currency translation adjustments, net of tax in accumulated other comprehensive loss $ (1,257) $ (1,295)
Income tax effect related to foreign currency translation adjustments $ 0 $ 0
XML 56 R46.htm IDEA: XBRL DOCUMENT v3.19.2
Acquisitions (Details) - Elauwit Networks, LLC
$ in Thousands
1 Months Ended 5 Months Ended
Aug. 01, 2018
USD ($)
item
Jan. 31, 2019
USD ($)
Dec. 31, 2018
USD ($)
Acquisitions      
Consideration for acquisition of assets before contingent consideration $ 28,000    
Total purchase price 29,537    
Contingent consideration fair value 961    
Cash paid 15,576    
Purchase price held back 13,000    
Purchase price held back for third-party consents 11,000    
Indemnification holdback retained for 12 months $ 2,000    
Indemnification holdback period 12 months    
Payment for amounts held back for third-party consents   $ 1,952 $ 9,048
Business Combination, Contingent Consideration, Liability, Valuation Technique [Extensible List] wifi:MonteCarloMethodMember    
Risk-free rate      
Acquisitions      
Contingent consideration valuation input | item 0.0278    
Revenue volatility rate      
Acquisitions      
Contingent consideration valuation input | item 0.40    
Relief from royalty method | Royalty rate      
Acquisitions      
Identifiable intangible assets valuation input | item 0.010    
Fair value less costs | Discount rates      
Acquisitions      
Identifiable intangible assets valuation input 0.08    
Minimum | Excess earnings, relief from royalty, and loss-of-revenue methods | Discount rates      
Acquisitions      
Identifiable intangible assets valuation input | item 0.080    
Maximum      
Acquisitions      
Contingent consideration require payment aggregate amount $ 15,000    
Maximum | Excess earnings, relief from royalty, and loss-of-revenue methods | Discount rates      
Acquisitions      
Identifiable intangible assets valuation input | item 0.210    
XML 57 R47.htm IDEA: XBRL DOCUMENT v3.19.2
Acquisitions - Preliminary Purchase price allocations (Details) - USD ($)
$ in Thousands
6 Months Ended
Aug. 01, 2018
Jun. 30, 2019
Dec. 31, 2018
Recognized amounts of identifiable assets acquired and liabilities assumed:      
Goodwill   $ 58,890 $ 59,640
Elauwit Networks, LLC      
Acquisitions      
Decrease of goodwill   $ (750)  
Consideration:      
Cash paid $ 15,576    
Holdback consideration 13,000    
Contingent consideration 961    
Total consideration 29,537    
Recognized amounts of identifiable assets acquired and liabilities assumed:      
Accounts receivable 4,494    
Prepaid expenses and other current assets 1,687    
Property and equipment 195    
Other non-current assets 177    
Accounts payable (2,049)    
Accrued expenses and other liabilities (683)    
Deferred revenue (3,854)    
Other non-current liabilities (307)    
Net tangible liabilities acquired (340)    
Goodwill 16,487    
Total purchase price 29,537    
Elauwit Networks, LLC | Backlog      
Recognized amounts of identifiable assets acquired and liabilities assumed:      
Intangibles $ 7,030    
Weighted Average Estimated Useful Life (years) 5 years    
Elauwit Networks, LLC | Backlog - held for sale      
Recognized amounts of identifiable assets acquired and liabilities assumed:      
Intangibles $ 750    
Elauwit Networks, LLC | Customer relationships      
Recognized amounts of identifiable assets acquired and liabilities assumed:      
Intangibles $ 2,490    
Weighted Average Estimated Useful Life (years) 10 years    
Elauwit Networks, LLC | Partner relationships      
Recognized amounts of identifiable assets acquired and liabilities assumed:      
Intangibles $ 1,200    
Weighted Average Estimated Useful Life (years) 10 years    
Elauwit Networks, LLC | Transition services agreement      
Recognized amounts of identifiable assets acquired and liabilities assumed:      
Intangibles $ 540    
Weighted Average Estimated Useful Life (years) 2 years    
Elauwit Networks, LLC | Non-compete agreement      
Recognized amounts of identifiable assets acquired and liabilities assumed:      
Intangibles $ 1,380    
Weighted Average Estimated Useful Life (years) 3 years    
XML 58 R48.htm IDEA: XBRL DOCUMENT v3.19.2
Acquisitions - Actual and pro forma results (unaudited) (Details) - Elauwit Networks, LLC - USD ($)
$ / shares in Units, $ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2019
Jun. 30, 2018
Jun. 30, 2019
Jun. 30, 2018
Acquisitions        
Revenue $ 5,884   $ 13,304  
Net loss $ (1,659)   $ (4,016)  
Pro forma results (unaudited)        
Revenue   $ 68,422   $ 132,968
Net income (loss)   2,033   (1,358)
Net income (loss) attributable to common stockholders   $ 1,628   $ (2,212)
Net income (loss) per share attributable to common stockholders        
Basic   $ 0.04   $ (0.05)
Diluted   $ 0.04   $ (0.05)
XML 59 R49.htm IDEA: XBRL DOCUMENT v3.19.2
Cash and cash equivalents and marketable securities (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2019
Jun. 30, 2018
Jun. 30, 2019
Jun. 30, 2018
Dec. 31, 2018
Cash and cash equivalents:          
Cash $ 4,398   $ 4,398   $ 11,689
Money market accounts 22,983   22,983   137,723
Total cash and cash equivalents 27,381   27,381   149,412
Short-term marketable securities-available-for-sale:          
Marketable securities 42,799   42,799   0
Total short-term marketable securities 42,799   42,799   $ 0
Interest income $ 540 $ 11 $ 1,254 $ 19  
XML 60 R50.htm IDEA: XBRL DOCUMENT v3.19.2
Contract assets and contract liabilities (Details)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2019
USD ($)
Jun. 30, 2019
USD ($)
Contract assets, net    
Balance at December 31, 2018   $ 468
Balance at March 31, 2019 $ 756 756
Change   288
Contract liabilities, net    
Balance at December 31, 2018   217,733
Balance at June 30, 2019 237,109 237,109
Change   19,376
Contract liability and performance obligations included in revenue    
Amounts included in the beginning of period contract liability balance 22,629 51,500
Amounts associated with performance obligations satisfied in previous periods 7 $ 301
Revenue performance obligations    
Practical expedient of remaining performance obligations   true
DAS    
Revenue performance obligations    
Remaining service performance obligations $ 221,374 $ 221,374
DAS | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2019-04-01 | Maximum    
Revenue performance obligations    
Remaining duration of contracts 15 years 15 years
Wholesale-Wi-Fi    
Revenue performance obligations    
Remaining service performance obligations $ 10,598 $ 10,598
Wholesale-Wi-Fi | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2019-04-01 | Maximum    
Revenue performance obligations    
Remaining duration of contracts 15 years 15 years
XML 61 R51.htm IDEA: XBRL DOCUMENT v3.19.2
Property and equipment (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2019
Jun. 30, 2018
Jun. 30, 2019
Jun. 30, 2018
Dec. 31, 2018
Property and equipment          
Total property and equipment $ 654,929   $ 654,929   $ 583,067
Less: accumulated depreciation and amortization (304,757)   (304,757)   (268,888)
Total property and equipment, net 350,172   350,172   314,179
Depreciation and amortization expense          
Total depreciation and amortization of property and equipment 16,874 $ 17,262 35,883 $ 37,868  
Network access          
Depreciation and amortization expense          
Total depreciation and amortization of property and equipment 9,482 10,134 21,064 23,721  
Network operations          
Depreciation and amortization expense          
Total depreciation and amortization of property and equipment 4,322 4,314 8,708 8,570  
Development and technology          
Depreciation and amortization expense          
Total depreciation and amortization of property and equipment 2,808 2,568 5,587 5,076  
General and administrative          
Depreciation and amortization expense          
Total depreciation and amortization of property and equipment 262 $ 246 524 $ 501  
Leasehold improvements          
Property and equipment          
Total property and equipment 520,923   520,923   474,808
Construction in progress          
Property and equipment          
Total property and equipment 60,117   60,117   40,369
Software          
Property and equipment          
Total property and equipment 56,360   56,360   51,534
Computer equipment          
Property and equipment          
Total property and equipment 15,381   15,381   14,215
Furniture, fixtures and office equipment          
Property and equipment          
Total property and equipment $ 2,148   $ 2,148   $ 2,141
XML 62 R52.htm IDEA: XBRL DOCUMENT v3.19.2
Accrued expenses and other liabilities (Details) - USD ($)
$ in Thousands
Jun. 30, 2019
Dec. 31, 2018
Accrued expenses and other liabilities    
Accrued construction in progress $ 18,672 $ 20,930
Accrued customer liabilities 18,135 15,219
Revenue share 7,286 5,514
Salaries and wages 3,755 4,425
Accrued taxes 2,901 2,745
Holdback consideration 2,000 2,000
Accrued partner network 1,236 1,228
Accrued professional fees 949 1,434
Acquisition purchase consideration 0 1,952
Other 6,510 7,206
Total accrued expenses and other liabilities $ 61,444 $ 62,653
XML 63 R53.htm IDEA: XBRL DOCUMENT v3.19.2
Convertible Notes (Details) - Convertible Notes
$ / shares in Units, $ in Thousands
1 Months Ended
Oct. 31, 2018
USD ($)
D
$ / shares
$ / EquityInstruments
Oct. 02, 2018
$ / shares
Convertible Notes    
Gross proceeds from Convertible Notes | $ $ 201,250  
Percentage of interest rate per annum 1.00%  
Conversion ratio 0.0236323  
Conversion price per share | $ / shares $ 42.31  
Effective conversion price, percentage of premium to share closing price 30.00%  
Share price | $ / shares   $ 32.55
Percentage of redemption price 100.00%  
Threshold percentage of stock price trigger 130.00%  
Threshold trading days | D 20  
Threshold consecutive trading days | D 30  
Call option    
Convertible Notes    
Derivative cap price (in dollars per share) | $ / EquityInstruments 65.10  
Derivative cap price, minimum percentage of premium on share price 100.00%  
XML 64 R54.htm IDEA: XBRL DOCUMENT v3.19.2
Convertible Notes - Carrying and fair value (Details) - Convertible Notes
$ in Thousands
Jun. 30, 2019
USD ($)
Convertible Notes  
Par value of the Convertible Notes $ 201,250
Unamortized debt discounts (41,010)
Unamortized debt issuance costs (4,104)
Net carrying value of Convertible Notes 156,136
Fair value of Convertible Notes $ 173,610
XML 65 R55.htm IDEA: XBRL DOCUMENT v3.19.2
Convertible Notes - Debt issuance costs and interest expense (Details) - Convertible Notes
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2019
USD ($)
Jun. 30, 2019
USD ($)
Interest expense related to the Convertible Notes    
Contractual interest expense $ 503 $ 1,006
Amortization of debt issuance costs 211 419
Amortization of debt discount 2,042 4,048
Total $ 2,756 $ 5,473
Effective interest rate of the liability component 7.10% 7.10%
Amortization and interest expense capitalized $ 743 $ 1,208
XML 66 R56.htm IDEA: XBRL DOCUMENT v3.19.2
Convertible Notes - Amortization expense, debt discount and debt issuance costs (Details) - Convertible Notes
$ in Thousands
6 Months Ended
Jun. 30, 2019
USD ($)
Amortization expense for debt discount costs  
July 1, 2019-December 31, 2019 $ 4,197
January 1, 2020-December 31, 2020 8,864
January 1, 2021-December 31, 2021 9,528
January 1, 2022-December 31, 2022 10,241
January 1, 2023-December 31, 2023 8,180
Total 41,010
Amortization expense for debt issuance costs  
July 1, 2019-December 31, 2019 431
January 1, 2020-December 31, 2020 901
January 1, 2021-December 31, 2021 955
January 1, 2022-December 31, 2022 1,015
January 1, 2023-December 31, 2023 802
Total $ 4,104
XML 67 R57.htm IDEA: XBRL DOCUMENT v3.19.2
Credit Facility (Details)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2019
USD ($)
Jun. 30, 2019
USD ($)
Principal payments of Term Loan    
July 1, 2019-December 31, 2019 $ 389 $ 389
January 1, 2020-December 31, 2020 778 778
January 1, 2021-December 31, 2021 778 778
January 1, 2022-December 31, 2022 778 778
January 1, 2023-December 31, 2023 388 388
Total 3,111 3,111
Amortization of debt issuance costs    
July 1, 2019-December 31, 2019   229
January 1, 2020-December 31, 2020   457
January 1, 2021-December 31, 2021   457
January 1, 2022-December 31, 2022   457
January 1, 2023-December 31, 2023   120
Total   1,720
Credit Facility    
Principal payments of Term Loan    
Amortization and interest expense capitalized 36 36
Amortization and interest expense expensed 114 $ 170
Credit Facility | Minimum    
Principal payments of Term Loan    
Interest rate percentage   4.20%
Credit Facility | Maximum    
Principal payments of Term Loan    
Interest rate percentage   4.40%
Credit Facility | LIBOR | Minimum    
Credit Facility    
Spread on floating interest rate (as a percent)   1.75%
Credit Facility | LIBOR | Maximum    
Credit Facility    
Spread on floating interest rate (as a percent)   2.75%
Credit Facility | Prime Rate | Minimum    
Credit Facility    
Spread on floating interest rate (as a percent)   0.75%
Credit Facility | Prime Rate | Maximum    
Credit Facility    
Spread on floating interest rate (as a percent)   1.75%
Revolving Line of Credit    
Credit Facility    
Current issued borrowing capacity 150,000 $ 150,000
Amount outstanding under the revolving line of credit 0 $ 0
Revolving Line of Credit | Minimum    
Credit Facility    
Fee on unused portion of Revolving Line of Credit (as a percent)   0.25%
Revolving Line of Credit | Maximum    
Credit Facility    
Fee on unused portion of Revolving Line of Credit (as a percent)   0.50%
Term Loan    
Credit Facility    
Current issued borrowing capacity 3,500 $ 3,500
Amount outstanding under the revolving line of credit $ 3,111 $ 3,111
XML 68 R58.htm IDEA: XBRL DOCUMENT v3.19.2
Leases (Details)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2019
USD ($)
item
Jun. 30, 2019
USD ($)
item
Leases    
Minimum number of renewal option | item 1 1
Lessee, Operating Lease, Existence of Option to Extend [true false]   true
Lessee, Finance Lease, Existence of Option to Extend [true false]   false
Lessee, Operating Lease, Existence of Option to Terminate [true false]   true
Lessee, Finance Lease, Existence of Option to Terminate [true false]   false
Finance lease - Right-of-use asset $ 12,280 $ 12,280
Finance lease - Right-of-use asset, accumulated Depreciation and amortization 4,326 4,326
Lease cost    
Operating lease expense 891 1,776
Finance lease expense:    
Depreciation and amortization of assets included in property and equipment, net 517 1,041
Interest on lease liabilities   56
Total finance lease expense 517 1,097
Interest on lease liabilities capitalized $ 47 47
Cash paid for amounts included in the measurement of lease liabilities:    
Operating cash flows from operating leases   (1,987)
Operating cash flows from finance leases   (103)
Financing cash flows from finance leases   (2,275)
Right-of-use assets obtained in exchange for lease obligations:    
Operating leases, right-of-use assets   $ 17,112
Operating leases, weighted average remaining lease term (in years) 6 years 7 months 6 days 6 years 7 months 6 days
Finance leases, weighted average remaining lease term (in years) 1 year 6 months 1 year 6 months
Operating leases, weighted average discount rate (as a percent) 5.30% 5.30%
Finance leases, weighted average discount rate (as a percent) 3.20% 3.20%
Minimum    
Leases    
Operating leases, remaining term of contract   1 year
Finance leases, remaining term of contract   1 month
Operating leases, renewal term 1 year 1 year
Maximum    
Leases    
Operating leases, remaining term of contract   9 years
Finance leases, remaining term of contract   2 years
Operating leases, renewal term 10 years 10 years
XML 69 R59.htm IDEA: XBRL DOCUMENT v3.19.2
Leases - Schedule of Maturities of Lease Liabilities (Details) - USD ($)
$ in Thousands
Jun. 30, 2019
Dec. 31, 2018
Operating Leases    
July 1, 2019 - December 31, 2019 $ 1,755  
January 1, 2020 - December 31, 2020 3,746  
January 1, 2021 - December 31, 2021 3,565  
January 1, 2022 - December 31, 2022 3,541  
January 1, 2023 - December 31, 2023 3,626  
January 1, 2024 - December 31, 2024 3,639  
Thereafter 5,235  
Total future minimum lease payments 25,107  
Less: Imputed interest (3,978)  
Total 21,129  
Current portion of operating leases 2,708 $ 0
Long-term portion of operating leases 18,421 0
Finance Leases    
July 1, 2019 - December 31, 2019 1,995  
January 1, 2020 - December 31, 2020 2,784  
January 1, 2021 - December 31, 2021 574  
January 1, 2022 - December 31, 2022 0  
January 1, 2023 - December 31, 2023 0  
January 1, 2024 - December 31, 2024 0  
Thereafter 0  
Total future minimum lease payments 5,353  
Less: Imputed interest (134)  
Total 5,219  
Current portion of finance leases 3,429 4,201
Long-term portion of finance leases $ 1,790 $ 3,293
XML 70 R60.htm IDEA: XBRL DOCUMENT v3.19.2
Leases - Schedule of Future minimum lease payments under non-cancellable leases (Details)
$ in Thousands
12 Months Ended
Dec. 31, 2018
USD ($)
Operating Leases  
January 1, 2019 - December 31, 2019 $ 3,573
January 1, 2020 - December 31, 2020 3,456
January 1, 2021 - December 31, 2021 3,385
January 1, 2022 - December 31, 2022 3,414
January 1, 2023 - December 31, 2023 3,495
Thereafter 8,835
Minimum lease payments 26,158
Capital Leases  
January 1, 2019 - December 31, 2019 4,373
January 1, 2020 - December 31, 2020 2,783
January 1, 2021 - December 31, 2021 574
January 1, 2022 - December 31, 2022 0
January 1, 2023 - December 31, 2023 0
Thereafter 0
Minimum lease payments 7,730
Less: Amounts representing interest ranging from 1.3% to 7.7% (236)
Minimum lease payments 7,494
Current portion of capital leases 4,201
Long-term portion of capital leases $ 3,293
Minimum  
Capital Leases  
Interest rate (as a percent) 1.30%
Maximum  
Capital Leases  
Interest rate (as a percent) 7.70%
XML 71 R61.htm IDEA: XBRL DOCUMENT v3.19.2
Notes payable (Details) - USD ($)
$ in Thousands
Jun. 30, 2019
Dec. 31, 2018
Notes Payable    
July 1, 2019 - December 31, 2019 $ 1,124  
January 1, 2020 - December 31, 2020 1,541  
January 1, 2021 - December 31, 2021 95  
Total future minimum payments 2,760  
Less: Imputed interest (42)  
Total 2,718  
Current portion of notes payable 2,035 $ 2,411
Long-term portion of notes payable $ 683 $ 1,618
XML 72 R62.htm IDEA: XBRL DOCUMENT v3.19.2
Fair value measurement (Details) - Recurring basis - USD ($)
$ in Thousands
Jun. 30, 2019
Dec. 31, 2018
Assets:    
Money market accounts $ 22,983 $ 137,723
Marketable securities 42,799  
Total assets 65,782 137,723
Liabilities:    
Contingent consideration 961 961
Total liabilities 961 961
Level 1    
Assets:    
Money market accounts 22,983 137,723
Marketable securities 6,987  
Total assets 29,970 137,723
Level 2    
Assets:    
Marketable securities 35,812  
Total assets 35,812  
Level 3    
Liabilities:    
Contingent consideration 961 961
Total liabilities $ 961 $ 961
XML 73 R63.htm IDEA: XBRL DOCUMENT v3.19.2
Fair value measurement - Level 3 Reconciliation (Details) - Level 3
$ in Thousands
6 Months Ended
Jun. 30, 2019
USD ($)
Reconciliation of the beginning and ending balances related to the fair value of contingent consideration  
Balance at beginning of the period $ 961
Payment of contingent consideration 0
Change in fair vale 0
Balance at end of the period $ 961
XML 74 R64.htm IDEA: XBRL DOCUMENT v3.19.2
Income taxes (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2019
Jun. 30, 2018
Jun. 30, 2019
Jun. 30, 2018
Income taxes        
Income tax benefit (expense) $ 81 $ (16) $ (111) $ (144)
Effective tax rate (as a percent) (54.70%) 0.60% 2.30% 121.00%
XML 75 R65.htm IDEA: XBRL DOCUMENT v3.19.2
Commitments and contingencies - Letters of credit (Details) - Letters of Credit
$ in Thousands
Jun. 30, 2019
USD ($)
Letters of credit  
Current issued borrowing capacity $ 12,929
Outstanding balance $ 0
XML 76 R66.htm IDEA: XBRL DOCUMENT v3.19.2
Commitments and contingencies - Others matters (Details) - Underpaid revenue share payments and related interest
$ in Thousands
6 Months Ended
Jun. 30, 2019
USD ($)
claim
Other matters  
Number of claim received | claim 1
Claim value | $ $ 4,600
XML 77 R67.htm IDEA: XBRL DOCUMENT v3.19.2
Stock incentive plans - Plans (Details) - shares
Jun. 30, 2019
Dec. 31, 2018
Stock options    
Stock incentive plans    
Number of options outstanding 289,000 304,000
Stock options | 2011 Plan    
Stock incentive plans    
Number of options outstanding 279,000  
RSUs | 2011 Plan    
Stock incentive plans    
RSUs outstanding 855,000  
XML 78 R68.htm IDEA: XBRL DOCUMENT v3.19.2
Stock incentive plans - Compensation expense (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2019
Jun. 30, 2018
Jun. 30, 2019
Jun. 30, 2018
Recognized stock-based compensation expense        
Total stock-based compensation $ 2,036 $ 2,946 $ 4,380 $ 6,072
Stock-based compensation expense capitalized 235 206 465 392
Network operations        
Recognized stock-based compensation expense        
Total stock-based compensation 348 516 854 1,053
Development and technology        
Recognized stock-based compensation expense        
Total stock-based compensation 334 314 637 592
Selling and marketing        
Recognized stock-based compensation expense        
Total stock-based compensation 548 393 1,077 866
General and administrative        
Recognized stock-based compensation expense        
Total stock-based compensation $ 806 $ 1,723 $ 1,812 $ 3,561
XML 79 R69.htm IDEA: XBRL DOCUMENT v3.19.2
Stock incentive plans - Stock option awards (Details) - Stock options - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
6 Months Ended 12 Months Ended
Jun. 30, 2019
Dec. 31, 2018
Stock incentive plans    
Vesting period 4 years  
Number of Options    
Outstanding at beginning of period (in shares) 304  
Exercised (in shares) (15)  
Canceled/forfeited (in shares) 0  
Outstanding and exercisable at end of period (in shares) 289 304
Weighted Average Exercise Price    
Outstanding at beginning of period (in dollars per share) $ 7.49  
Exercised (in dollars per share) 5.47  
Canceled/forfeited (in dollars per share) 0  
Outstanding and exercisable at end of period (in dollars per share) $ 7.59 $ 7.49
Weighted-Average Remaining Contract Life (years)    
Outstanding and exercisable at end of period 3 years 3 months 18 days 3 years 9 months 18 days
Aggregate Intrinsic Value    
Outstanding and exercisable at end of period $ 2,999 $ 3,970
Vesting in 12 months    
Stock incentive plans    
Vesting period 12 months  
Vesting percentage 25.00%  
Vesting monthly 12 months after grant date    
Stock incentive plans    
Vesting percentage 75.00%  
XML 80 R70.htm IDEA: XBRL DOCUMENT v3.19.2
Stock incentive plans - Restricted stock unit awards (Details) - $ / shares
1 Months Ended 6 Months Ended
Feb. 28, 2019
Jun. 30, 2019
Stock incentive plans    
Shares of common stock issued resulting from vesting   1,423,000
RSUs    
Number of Shares    
Non-vested at beginning of period (in shares)   3,119,000
Granted (in shares)   593,000
Vested (in shares)   (2,806,000)
Canceled/forfeited (in shares)   (51,000)
Non-vested at end of period (in shares)   855,000
Weighted Average Grant Date Fair Value    
Non-vested at beginning of period (in dollars per share)   $ 8.60
Granted (in dollars per share)   22.76
Vested (in dollars per share)   7.21
Canceled/forfeited (in dollars per share)   23.31
Non-vested at end of period (in dollars per share)   $ 22.08
Service-based restricted stock unit awards | Executive And Non Executive Member | Maximum    
Stock incentive plans    
Vesting period   3 years
Service-based restricted stock unit awards | Non-employee directors and existing members    
Stock incentive plans    
Vesting period   1 year
Service-based restricted stock unit awards | Non-employee directors and new members    
Stock incentive plans    
Vesting percentage when the individual completes 12 months of continuous service   33.30%
Vesting period   3 years
Performance-based restricted stock unit awards    
Stock incentive plans    
Vesting period   3 years
Number of Shares    
Granted (in shares) 29,000  
Weighted Average Grant Date Fair Value    
Granted (in dollars per share) $ 11.94  
Performance-based restricted stock unit awards | Minimum    
Stock incentive plans    
Performance objective threshold (as a percent)   50.00%
Performance-based restricted stock unit awards | Maximum    
Stock incentive plans    
Performance objective threshold (as a percent)   150.00%
XML 81 R71.htm IDEA: XBRL DOCUMENT v3.19.2
Net income (loss) per share attributable to common stockholders (Details) - USD ($)
$ / shares in Units, $ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2019
Jun. 30, 2018
Jun. 30, 2019
Jun. 30, 2018
Jul. 31, 2019
Apr. 01, 2013
Numerator:            
Net income (loss) attributable to common stockholders, basic and diluted $ 216 $ 2,115 $ (4,937) $ (1,114)    
Denominator:            
Weighted average common stock, basic (in shares) 44,041,000 41,961,000 43,786,000 41,645,000    
Weighted average common stock, diluted (in shares) 44,378,000 45,219,000 43,786,000 41,645,000    
Net income (loss) per share attributable to common stockholders:            
Basic (in dollars per share) $ 0.00 $ 0.05 $ (0.11) $ (0.03)    
Diluted (in dollars per share) $ 0.00 $ 0.05 $ (0.11) $ (0.03)    
Stock repurchase program            
Remaining approved amount for repurchases $ 5,180   $ 5,180      
RSUs            
Net income (loss) per share attributable to common stockholders:            
Shares of common stock excluded from the computation of diluted net income per share that were anti-dilutive 435,000 27,000        
Stok options            
Denominator:            
Effect of dilutive 191,000 472,000 0 0    
RSUs            
Denominator:            
Effect of dilutive 146,000 2,786,000 0 0    
Maximum            
Stock repurchase program            
Amount of common stock approved by the entity for a stock repurchase program         $ 20,000 $ 10,000
EXCEL 82 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( -MQ!4\?(\\#P !," + 7W)E;',O+G)E;'.MDD^+ MPD ,Q;]*F?L:5\'#8CUYZ6U9_ )Q)OU#.Y,A$[%^>X>];+=44/ 87O+>CT?V M/S2@=AQ2V\54C'X(J32M:OP"2+8ECVG%D4)6:A:/FD=I(*+ML2'8K-<[D*F' M.>RGGD7E2B.5^S3%":4A+,*P).B0\5?UX^8 TBTH_0(:+L A#&^NQT:E8(C M-R."?S]PN -02P,$% @ VW$%3R?HAPZ" L0 ! !D;V-0&UL38Y-"\(P$$3_2NG=;BGH06) L$?!D_>0;FP@R8;-"OGYIH(? MMWF\81AU8\K(XK%T-8943OTJDH\ Q:X831F:3LTXXFBD(3^ G/,6+V2?$9/ M-(X'P"J8%EQV^3O8:W7..7AKQ%/25V^9"CGIYFHQ*/B76_..7+8\#?NW_+"" MWTG] E!+ P04 " #;<05/YG/O=O K @ $0 &1O8U!R;W!S+V-O M&ULS9+/3L,P#(=?!>7>NEDW!%'7"]-.("$Q"<0M2KPMHOFCQ*C=V].& MK1."!^ 8^Y?/GR4W*@CE(SY''S"2P70SV,XEH<*:'8F" $CJB%:F4!85-4M6"2I)4F8@$68B:QMM!(JHB0?SWBM9GSXC%V&:078 MH45'"7C)@;73Q' :N@:N@ E&&&WZ+J">B;GZ)S9W@)V30S)SJN_[LJ]S;MR! MP]O3XTM>MS ND70*QU_)"#H%7+/+Y-?Z8;/;LG91\?NBNBNJU8XO!:_%_&/CBV#;P*^[:+\ 4$L#!!0 ( -MQ!4^97)PC$ 8 )PG M 3 >&PO=&AE;64O=&AE;64Q+GAM;.U:6W/:.!1^[Z_0>&?V;0O&-H&V MM!-S:7;;M)F$[4X?A1%8C6QY9)&$?[]'-A#+E@WMDDVZFSP$+.G[SD5'Y^@X M>?/N+F+HAHB4\GA@V2_;UKNW+][@5S(D$4$P&:>O\, *I4Q>M5II ,,X?+&A T%116F]?(+3E M'S/X%/F7/Z3H=,H%N,!M8('_.;Z?D3EJ( MX53"Q,!J9S]6:\?1TDB @LE]E 6Z2?:CTQ4(,@T[.IU8SG9\]L3MGXS*VG0T M;1K@X_%X.+;+THMP' 3@4;N>PIWT;+^D00FTHVG09-CVVJZ1IJJ-4T_3]WW? MZYMHG J-6T_3:W?=TXZ)QJW0> V^\4^'PZZ)QJO0=.MI)B?]KFNDZ19H0D;C MZWH2%;7E0-,@ %AP=M;,T@.67BGZ=90:V1V[W4%<\%CN.8D1_L;%!-9ITAF6 M-$9RG9 %#@ WQ-%,4'RO0;:*X,*2TER0UL\IM5 :")K(@?5'@B'%W*_]]9>[ MR:0S>IU].LYKE']IJP&G[;N;SY/\<^CDGZ>3UTU"SG"\+ GQ^R-;88C'(CN]WV6'WV3T=N(]>I MP+,BUY1&)$6?R"VZY!$XM4D-,A,_")V&F&I0' *D"3&6H8;XM,:L$> 3?;>^ M",C?C8CWJV^:/5>A6$G:A/@01AKBG'/F<]%L^P>E1M'V5;SCFED)O816:I^JAS0^J!XR"@7QN1X^Y7IX"C>6QKQ0KH)[ M ?_1VC?"J_B"P#E_+GW/I>^Y]#VATK\>WZV22$KYI9+2,6D$N!LT$DN/R+RO JQ GH M9%LE"0AMNZ5/U2I77Y:^Y*+@\6^3IKZ%T/BS/^3Q?Y[3-"S-# MMW)+ZK:4OK4F.$KTL@'37[]EUVY".E,%.70[@:0KX# M;;J=W#HXGIB1N0K34I!OP_GIQ7@:XCG9!+E]F%=MY]C1T?OGP5&PH^\\EAW' MB/*B(>ZAAIC/PT.'>7M?F&>5QE T%&ULK"0L1K=@N-?Q+!3@9& MH >#KU$" M\E)58#%;Q@,KD*)\3(Q%Z'#GEUQ?X]&2X]NF9;5NKREW&6TB4CG":9@39ZO* MWF6QP54=SU5;\K"^:CVT%4[/_EFMR)\,$4X6"Q)(8Y07IDJB\QE3ON>;G*YZ(G;ZEW?!8/+]<,E'#^4[YU_T74.N?O;=X_INDSM(3)QYQ1$!=$4" M(Y4U#VT%SU&\Z.9X!ZSAW.;>KC"1:S_6-8> M^3+?.7#;.MX#7N83+$.D?L%]BHJ $:MBOKJO3_DEG#NT>_&!()O\UMND]MW@ M#'S4JUJE9"L1/TL'?!^2!F.,6_0T7X\48JVFL:W&VC$,>8!8\PRA9CC?AT6: M&C/5BZPYC0IO0=5 Y3_;U UH]@TT')$%7C&9MC:CY$X*/-S^[PVPPL2.X>V+ MOP%02P,$% @ VW$%3[YA9<YOGV-P]'4.^Z? ,[,CLUX@%U<=/O:'90RT5M=-=TR/AASO$^2;G-0=='= MZ:-J[#\[W=:%L9?M/NF.K2JVCE17":7I)*F+LHE7"S?VU*X6^F2JLE%/;=2= MZKIH?S^J2E^6L8C?!Y[+_<'T \EJ<2SVZILRWX]/K;U*QBK;LE9-5^HF:M5N M&3^(^[6DGN 0/TIUZ6[.HWXI+UJ_]A>?M\LX[6>D*K4Q?8G"'LYJK:JJKV3G M\6LH&H^:/?'V_+WZ1[=XNYB7HE-K7?TLM^:PC&=QM%6[XE299WWYI(8%Y7$T MK/Z+.JO*PON96(V-KCKW&VU.G='U4,5.I2[>KL>R<N[= (Z88($<"N2,/O4$.&*&!2908,+H8O+-1YB0^SCJ@B>9F/L $W(? MYUWP.!-SGV-DR'V<><$3+9G[ !-R'\=>\%!+YC[ A-S'R1<\UY*Y#S !]PEG MGWBNI>\^P@3<)YQ]XKF6OOL DP7<)YQ]XKG.?/<1)J2"LT\\UQGY*@ 3^#X@ MG'WBN>ZVSBJX#7?4@%9Y]XKC-O)Z\' M3.XPS7!7A4CGH7<9X2< \71G,W]% #,/J. G /%TY_Z'+L($/G4E?@)(GN[< MW\\($_K>Q4\ R=.=^_L98?* "GX"2)[NW-]I ,-V6G+3B=2JW;NFK8LV^M2X MCO%F=&P,'UQ?F/R%7[O*KT6[+YLN>M'&]D.N:]EI;92=2GIG-^+!-K+C1:5V MIC^=VO/VVLU=+XP^#IUJ,K;+JS]02P,$% @ VW$%3RHH]MK0! 6A@ M !@ !X;"]W;W)KVVYR]_60G#5*2*M:+QG9^2C]MZ3.E+$YM M]ZW?QCC,ON^;0W\_WP[#\:XH^J=MW-?]E_88#^F;Y[;;UT,Z[5Z*_MC%>C,% M[9L"C:F*?;T[S)>+Z=I#MURTKT.S.\2';M:_[O=U]^\J-NWI?@[S]PM?=R_; M8;Q0+!?'^B7^$8<_CP]=.BNNK6QV^WCH=^UAUL7G^_F/<+>V4\"D^&L73_W- M\6Q,Y;%MOXTGOV[NYV9T%)OX-(Q-U.GC+:YCTXPM)1__7!J=7_L< V^/WUO_ M>4H^)?-8]W'=-G_O-L/V?N[GLTU\KE^;X6M[^B5>$BKGLTOVO\6WV"3YZ"3U M\=0V_?1_]O3:#^W^TDJRLJ^_GS]WA^GS=&G_/4P/P$L 7@/ ?AI EP!B <79 MV93J3_50+Q==>YIUYZ=UK,=! 7>4;N;3>'&Z=]-W*=L^77U;EFY1O(WM7"2K MLP1O)/A1L9:*TE\E1>K_:@)5$SC%TVU\T.-)C:VZK4O3@*(2* M^9"JY+:J="^5ZJ627HAYJ40OP94ELR)%SD.I.W&J$R>=6.;$B4Z@I$!\K"BR MD/Y(=^-5-UZZ82FOO.B&2@..3T%%!A9<9AH%U4V0;MA86 69=&4J1HRU5&5& M+A@=2D8Z$50RHI/2^V XFA19J&S.3P:2(/UX[@>46Z/X460!R@QA0.LX?R^:VW[2P#$< VM5A\'D'IC.8+#BC>(@ MTX).3Y#XY'-N!9*,"%1R4*BRTF9 3I!02+4<82"Q&,%UEKN1Y%A5>;\Z!P% M"5+'00H2D154**:$E'E#/N=')RE(E#J.4I"01&<\MR-5N<&G8Q0D1QWG*$A$ M.B><_&^.HLY1E!QUG*,H 4D6>2VBJ"R:S)1"G:(H*D<)*YG'.D818E1SS&*$H_@2NO%\U)TY-!D:B74 M,8JREN4E\PIEF0K>(H>@(LN-91W(*('L.9!1DA9*;_F[<:WJH'(Y1SJ242+9 MPYD%$!,K>\5D1006X]I],8)8T]IS%*S@)( M\"@JXW*W1@&="B3A++G4":E:@637N9\O:I@ MV>'MF^2C(QW,),'L.9@U#7]6GVL^.M&A3'(G(&0F)66V B1$ T>6HI&Y?*KY MZ$2')TEX!@XL4G8"N)'/)!]]Z. D"<[ ,45*B4J&^)U;:[HR &66+Z2#DR0X M T<5223^ &2]6&NJ0DQKF-RXT?%)$I^!$XLD&5-7P)?BNBQD7KVD$Y0D0?G& MS(HD&X,EX/LWB@S0A5R]1#I$24(T"&PI$ 7B+QA%A9AS8W6(6@G1P)%E)1Q# M::W89I,R( .8V_33&6HE^_B&WNJBN=U>5-? JDY9 QR._2S MQW88VOVTJ_O;?[?#*TQ\M.?G'].6'Y M'U!+ P04 " #;<05/@N"@[S@" "H!P & 'AL+W=O:-F+CEE*V:X3$H82:B!?60J.> MG!BOB51+?D:BY4".)JBFR,M>0,/T'^:G=-^\M:%AW6 4?RN MH!-W7LF?L32^^'3L])C&:QFCP"\9W>?I:GLHF.*$5)[3@ M!#.<7A/=Y8GP_.B+)Z()2F1%B2PHX0PE6F29* M"41BA4@L$/$,(OG8._)4-L%)K3BI!2>9X:2+BM77N7Q+GLHF."LKSLJ"D\YP M5HL\8;B +BPJ/XY7=AC5 JS7$K;@K.;W$OX0CTUF 4)W5Z;N83\(/U>-=\[^H5D[= 7T=B<\_]02P,$% M @ W'$%3ZYG,+:5! P14 !@ !X;"]W;W)K'EZ.B\WZZ[MJ=RLB[;\CW1ITQ%\G>ZU&SXM6RG-1?&M??CL\+$4;DL_E)C#0K >OU]X-9I+6Z69=%M=%V:^'2]HN M.WFOF^G:MXW=['3_:\:S:EK?-U**M??>.AJ8N&=HPL@IDP#F1GA-!+0< M]\*="S':R+TR0)E ,5\)H*16@HWE#F&^3S-+40UW.**?RX@3(X_9*;??+@: M(>%^,*B9XY5PSB>0\WDVCP=H'"S/&@,2CI$[P0<'4"MQYVQ4C(F9Y4PXYQ/( M^8KG_ 'Z5!G]E#*7@LH@-JL,)WL"W]!JS@7.J@2RJN)9E=P4Y_O"YRX<1*(+$JGEC)37-^&Q&7!S!-_&LF01B2!S @SQM= M/^6V?.WN JO%OG@[U^W,CUIO]XV/U%Y?L?98WF\E:$_D_:Z_3?SAOK_<_",M M7T_G:O%Z?0R:Y[*_5.Q?ZN(R7)AZ MMUO;S7]02P,$% @ W'$%3PDR<:;$ @ \0D !@ !X;"]W;W)KPU^L 3?L28'SF,&>&P"RNC+^($Z4R>&WJ5BS#DY3=/(K$[D0; M(AY81UOUYE.:@JBA@M=T[K63"J.7P-I M..ZI':?S-_8/1KP2\TP$7;/Z9[67IV68A\&>'LBYEE_9]2,=!.$P&-1_IA=: M*[B.1.VQ8[4PO\'N+"1K!A852D->^[%JS7@=^-_<_ YP<("C@]K[GD,R."3O M#NBN QH0F0(4!3 IA9">\QJ<&TO0Y86/GP8#"(K82X MH!F.;=36@X)IXA>%O:*P)RNYGR#U$J1N5A)+<=EC\"3,S%*R=B%*B97=C0NR M3_S6QY/]Y4!G7D&9*PA9T9:9LXM391=BE]A%(&RIN4=R(R7W2LD]4JR_?YF[ M.86YI<7%0(@22XX+FJ'"3LO6@\()\HLJO*(*CRCKLB@+]\!9DEP$PO:EY&)F MF5TA%U/$V"]'O>SSV"+*26PZ@]*9,5BG7'A#("N>^=U$SE&-D"?/!5%R% MI2V:/%<-Y4?3.XA@Q\ZMU/?*Q#KV)X]0/W>6O03S-?#8-[J?,<_C.WW?#'TA M_%BU(GAF4CVRYBD\,":IBCY^4!4YJ?YK7-3T(/4T4W/>-R']0K)N:+"BLZU-E,18 MVW(E)=F^?259ZXUF?DJ^B2WG)SF<(>?C05=O1?FM>L[S>O9]OSM4U_/GNCY^ M7"ZK^^=\GU4?BF-^:/[S6)3[K&X>RZ=E=2SS[*$KM-\MR9AHN<^VA_G-5??; MI_+FJGBI=]M#_JF<52_[?5;^=YOOBK?KN9W_^.'S]NFY;G]8WEP=LZ?\2U[_ M=?Q4-D_+=^9I5 M^5VQ^V?[4#]?SY/Y["%_S%YV]>?B[;>\[Y"?S_K>_Y&_YKM&WEK2M'%?[*KN M[^S^I:J+?5]+8\H^^W[ZW!ZZS[>^_A_%< 'J"]"Y@.71 MP7X',!BD<+N+Z M^UE@W"3?%_#G CS>0M07B'ZV$(T6B/L"\<].GP)X\FX7KE569S=79?$V*T\C M[IBU ]M^C)L!<=_^V,6_^U\3L:KY]?7&.G>U?&TKZC6W)PT--'ZHN4.::*A9 M(4T\U/R*-,E0LT::=*C9 (TW9\VR\DTCU:9,F2\(\6I:GA@(<8>HB!AT0SMR>-?^\A MDZ8>-^-@,PXTP\+-3C=#)/RRF1 -3/'0% ],D9/%JU9B'V@D@HU$H!$YVR+5 MR")B9T2'IU0#8V)H3 R,$=/Z+E;-,*OQ-B$:F)) 4Q)@BI@?JT2W0E*TUJ)( M9@]0#U.$K4VAM:FVEJ2UJ8X/$PE;UEKE9 @VH":*8\8&6X-)8("#$YF>C6[) MRO0,-"S3,]"X@+D!<%E@KO#=;2\:R]"]Q ]2M$U4B@:Z+D=S*ET$A$DJHPI4 M-F8GW014QL3OC!NZ"J/, I9%1KJ*]#BSL0^-(8P$BY@@J=F+1H.BN0&Y"708 MG$BHR0E4 )U -<).BZEF$=8D/2U 5AB?%D/+ FK)5+2Q&EL+BD+!Q^"R@%R1 M"GXT'7S-+>+$R#BL@&YA*4W(R>!#(;&,OI8UA%'1!RJ3>&<#OL)1+P M.)PG";.6$&OEHI8T(YOPRYD[I1J:@UE*B*5R84N:1=Z$ME2!/17:5,FU+6D0 M-;-5;B8WD[*A09A7A'@EU[>D\SVK7+V94@W-P5 @ (5(IBG24%A$5LZ(*=70 M'$P.NH <*]+D(&N]-%JK./729E"5MZ$AAB%$:/LD5[$$@, 2&VN@DGN)#:J) MHM#LPRP@Q )UU!!/GS5H7$!N AWF)A8J;@(9X"92C7"3,,T(T$QQDS0-1KA) M& :$8*!R8CH=%- N\W$E%'1';#<#)E WF*, M,P8XBX1!MXQ %:FM]Z1L:! &&B.@2;ZR!IJ$#.O]8P PC(G'B'AR%+%&6;-B M"IW%!0[C$,DD6AGL@IA2([/:M&YH$J89HRV.A"MK3I&/)DC*+3R%4!&P%=,V4=(DZO8-"=3"W!C)K M61X]@PZDWKE04#!N'<"M#/^M [=?SBK:3LJ&!@5NR=#64>;=7C0:.T!:E'>! M#N==+%1Y%[6K\R[HP$C>=7@AX,!"0.5=I^$]DG<=AK=#\%9WEQJZ:OTSKAF: M@KGLT$V>1( #>[30#:G#4'/HN%&N0QTX^HOEH>1F2C4T!Y// ?*I-:A#>(DE M7J94P_MC#!>/X"(7EQ[=L1DC\]BD;&@0AHN_ "XK#Z[(;"2M!E=5RF10$04" MZC&C/-I0R?6P!R"0&6P-1 NYA >:-&0O!H5'H)!,]=,W8D "F0ITF*E0J)D* M9("I0#7"5(\1YA'")%,]N!(#3)V4G0Q:OGM-JGWW[L^L?-H>JMG7HJZ+??=> MU&-1U'E3I?G05/:<9P_GAUW^6+=?X^9[>7KG[?10%\?^?;[E^:7"F_\!4$L# M!!0 ( -QQ!4\A0UGK"04 +@9 8 >&PO=V]R:W-H965T&ULC9G=;N,V$(5?Q?"]U^0,]1J/+3W\UW7'>^6R_9YYZNB M_5(?_:'_STO=5$77GS:OR_;8^&([-JK*)1D3+ZMB?YBO5^.UQV:]JM^ZONVZXL%ROCL6K_\-W?QX?F_YL>8FRW5?^ MT.[KPZSQ+_?S!WN7NVAH,"K^VOM3>W4\&U)YJNMOP\FOV_NY&1SYTC]W0XBB M_WGWN2_+(5+OXY\IZ/S2Y]#P^O@C^L]C\GTR3T7K\[K\>[_M=O?S=#[;^I?B MK>R^UJ=?_)10-)]-V?_FWWW9RP>[=2R&26'O MN!_,Y^'B.';C__ILV_[J^]HF9K5\'P)-FLU90]>:BV+91[]T0:B+#:GF=-M! MKA76$NZ"818\!N";+ (>'0S@Q@#N)H!PN3EKXE%S+R%@Q6#E04,FD%U*]+!PI M+UH5\H+Q9@'?TE (##@+""=OX&82W:3#_=R6TP[I+$5Q$K"$.6* M,#T)T#.5HT.:BTR9G%TYE"5Q8.X01BA9@(K XD28? 3(E\KEB0#YHBBF3";U MO]E'F'W$P(U"CM;%: 7(D_,P39BG%>A)FH9'&#"10-V9RO2*-MT6?DT0RD(7,8 02 MJ!PSN3@0*AWU%-2JD!>,/P+XRR3^"."/Y:S(D:HOZP(;+PQ !@#,) !9DVTQ MK _"#Y %QH8Q_!C4CW*!WK"N#%5=C30N"F"4,4898#23&&6 T7XC)NL;)*,T M#AD*;)(!23-)4M:(7'!?62A'0)=<&[]UA''* *>9Q"FC8M,8N55%LM@&%D_& M+&7 TDRRE%%%VF^=)4JASKC0XX5)RKHJ)&*,9]9X)CE7-ZS! M2XG>3P.991<'F.@PH)U1:S&%]B,.8]5IK)*16'4:F>P2^28A!S**DRC #8?1 MZC1:R4BTNL\JS\F,ED0F]'K+8:HZ354RDJI.T]+%LDP!(LX"FU@7>(VI@4I& M M5I4E*FMHY %9IX&*9.PY2,A.DDBF^\2'@!D;2RO'K?7?GF=?PTT,Z>Z[=# M-[Q9OKIZ^?SP0,/[$'V'.WS1^+YK7_:&=/=5=5U?C._.7NNY\ M[]!\Z1WN?+&]G)3^I1L.D_ZX.7]+.)]T]7'Z3K*\?*Q9_P=02P,$% @ MW'$%3\IZ*9VR 0 T@, !@ !X;"]W;W)KNV3EZ M&>:<.3,,Q:3-H^T!''J60MD2]\X-!T)LW8-D]DH/H/Q-JXUDSINF(W8PP)H( MDH+0+/M().,*5T7TG4Q5Z-$)KN!DD!VE9.;E"$)/)<[QJ^.!=[T+#E(5 ^O@ M.[@?P\EXBRPL#9>@+-<*&6A+?),?COL0'P-^M'X-QUY0X"X) M0.T" _/;!6Y!B$#D93PE3KRD#,#U^97]2ZS=UW)F%FZU^,4;UY?X&J,&6C8* M]Z"GKY#J^8!1*OX;7$#X\*#$YZBUL'%%]6B=EHG%2Y'L>=ZYBON4;G8)M@V@ M"4 7P'7,0^9$4?EGYEA5&#TA,_=^8.&)\P/UO:F#,[8BWGGQUGLO%GR:):CRI.\LJ[#.P-C6_R)WR>]GMF.JXL.FOG7S;VO]7:@9>2 M7?D1ZOT'6PP!K0O'3_YLYC&;#:>'](/(\HVKWU!+ P04 " #<<05/8]C- MS;,! #2 P & 'AL+W=O'(F*TZT,+>X "]OVG0:.&\:5IF!P.BCB"M&#\")O39\2#;S@4'*_-!M/ 5W+?A;+S% M5I9::NBMQ)X8: IZEQQ/68B/ =\E3'9S)J&2"^)C,#[5!3T$0:"@X@O+A08G/4:&R<275:!WJA<5+T>)IWF4?]VF^R=(%M@_@"X"O@-N8 MA\V)HO+WPHDR-S@1,_=^$.&)DR/WO:F",[8BWGGQUGNO)4]XSJZ!:(DYS3%\ M$Y.L$[7$O9CTGR1LTU,- MIHW39$F%8Q\G>>-=!_:.QS?Y$SY/^Q=A6ME;NV;E^ &>:<.3,,Q:3-B^T! M''J30MD2]\X-!T)LW8-D]DH/H/Q-JXUDSINF(W8PP)H(DH+0W>Z&2,85KHKH M.YFJT*,37,')(#M*R%#B<]1:V+BB>K1.R\3BI4CV-N]-_6^U=N"E[*[\"/7^@RV&@-:% MXP=_-O.8S8;30_I!9/G&U4]02P,$% @ W'$%3U_M^6>U 0 T@, !D M !X;"]W;W)K&UL?5/;;MP@$/T5Q >$-;NY:&5; MRJ:J4JF55JG:/+/VV$8!XP!>IW_? 3N.TSIY 6:8<^;,,*2#L4^N ?#D1:O6 M9;3QOMLSYHH&M' 7IH,6;RICM?!HVIJYSH(H(T@KQC>;*Z:%;&F>1M_1YJGI MO9(M'"UQO=;"_CF ,D-&$_KJ>)!UXX.#Y6DG:O@)_E=WM&BQF:64&EHG34LL M5!F]3?:'78B/ ;\E#&YQ)J&2DS%/P?A69G03!(&"P@<&@=L9[D"I0(0RGB=. M.J<,P.7YE?UKK!UK.0D'=T8]RM(W&;VAI(1*],H_F.$>IGHN*9F*_PYG4!@> ME&".PB@75U+TSAL]L: 4+5[&7;9Q'\:;2S[!U@%\ O 9)&G MU@S$CKWO1'CB9,^Q-T5PQE;$.Q3OT'O.>7*5LG,@FF(.8PQ?Q"1S!$/V.05? M2W'@_\'Y.GR[JG ;X=L/%+XCV*T2["+![M,2UV*N_TG"%CW58.LX38X4IF_C M)"^\\\#>QD=D;^'CM/\0MI:M(R?C\65C_RMC/*"4S06.4(,?;#845#XQ^1OG?P%02P,$% @ W'$%3W_O+DJT 0 T@, !D !X M;"]W;W)K&UL?5-AC]0@$/TKA!]P;-FJZZ9M M]T?&7-F"%N[&]-#A36VL%AY-VS#76Q!5!&G%^&[WEFDA.UIDT7>V168&KV0' M9TO65"*%D_3+KNXC]--FLRP;0"? 7P!'&(>-B6*RC\(+XK,FI'8 MJ?>]"$^<'#GVI@S.V(IXA^(=>J\%3PX9NP:B.>8TQ?!53+)$,&1?4O"M%"?^ M LZWX?M-A?L(W[^B\"^"=),@C03I?TO>5= M!O:6QS?Y$SY-^U=A&]DY7S;VOS;& TK9W> (M?C!%D-![<.3,>YZ-UC[X#".1)*^,+VH70'QGS M50=:^!O;@\&;QCHM IJN9;YW(.H$THKQ+'O+M)"&EGGRG5V9VR$H:>#LB!^T M%N[7"90="[JCSXX'V78A.EB9]Z*%KQ"^]6>'%EM8:JG!>&D-<= 4]&YW/!UB M? KX+F'TJS.)E5RL?8S&I[J@610$"JH0&01N5[@'I2(1RO@Y<](E902NS\_L M'U+M6,M%>+BWZH>L0U?06TIJ:,2@PH,=/\)5 M5(,/5L\L*$6+IVF7)NWC=,/W,VP;P&< 7P"W*0^;$B7E[T409>[L2-S4^U[$ M)]X=.?:FBL[4BG2'XCUZKR7G6+7$KYM\BV:JG&ER;ILF3R@XF3?+*NPSL'4]O M\B=\FO8OPK72>'*Q 5\V];^Q-@!*R6YPA#K\8(NAH GQ^ [/;AJSR0BVGW\0 M6[YQ^1M02P,$% @ W'$%3] !&,RT 0 SP, !D !X;"]W;W)K&UL?5/;;M0P$/T5RQ]0[SH++:LD4K<(@032J@AX]B:3 MQ*HOP78VY>\9.VD(-.+%]HS/F3DS'N>C=4^^ PCD62OC"]J%T!\9\U4'6O@; MVX/!F\8Z+0*:KF6^=R#J1-**\=WN+=-"&EKFR7=V96Z'H*2!LR-^T%JX7R=0 M=BSHGKXX'F7;A>A@9=Z+%KY"^-:?'5ILB5)+#<9+:XB#IJ#W^^/I$/$)\%W" MZ%=G$BNY6/L4C4]U07=1$"BH0HP@<+O" R@5 Z&,GW-,NJ2,Q/7Y)?J'5#O6 M'JSZ(>O0%?2.DAH:,:CP:,>/,-?SAI*Y^,]P!87PJ 1S5%;YM))J\,'J M.0I*T>)YVJ5)^SC=9.]FVC:!SP2^$.Y2'C8E2LK?BR#*W-F1N*GWO8A/O#]R M[$T5G:D5Z0[%>_1>R]LL9]<89X:<)@A?0?8+@F'P)0/?RG#BK^A\FYYM"LP2 M/=L6^!?_L,D_)/[A?P6^AG#^KT:V:J@&UZ91\J2R@TECO/(NTWK/TX/\@4^C M_D6X5AI/+C;@LZ;F-]8&0"F[&YR?#G_78BAH0CS>XME-,S89P?;S]V'+'RY_ M U!+ P04 " #<<05/A!)'XK(! #2 P &0 'AL+W=O<&+-5!UK8.QR@]S<- M&BV<-TW+[&! U!&D%>.[W6NFA>QIF4??Q90YCD[)'BZ&V%%K87Z<0>%4T#U] M<3S*MG/!P5Y2DXC_"#90/#TI\C@J5C2NI1NM0)Q8O18OG M>9=]W*=T8\Q_!5S'Z)8)Y]2<&W4ISY7W"^#3]L*CQ$^.$?"G\C MR#8)LDB0_;?$K9CLCR1LU5,-IHW39$F%8Q\G>>5=!O:>QS?Y%3Y/^R=A6ME; MYO5%$BF>PT.*RD9CGUT+X,F+DMKEM/6^/S+FRA:4<#>F!XTWM;%*>#1M MPUQO0501I"3CF\V!*=%I6F31=[9%9@8O.PUG2]R@E+ _3R#-F-,M?74\=4WK M@X,562\:^ +^:W^V:+&9I>H4:-<932S4.;W?'D_[$!\#OG4PNL69A$HNQCP' MXV.5TTT0!!)*'Q@$;E=X "D#$Q=JSE(AP\&/F]JWR; MTSM**JC%(/V3&3] JN>6DE3\)[B"Q/"@!'.41KJXDG)PWJC$@E*4>)GV3L=] M3#>'!%L'\ 3@,^ NYF%3HJC\47A19-:,Q$Z][T5XXNV18V_*X(RMB'&PO=V]R:W-H965T ,2'/[]P.2R[(M MVQ? YOGYV9AL0/OL6@!/7K0R+J>M]]V),5>VH(6[PPY,N*G1:N&#:1OF.@NB M2D%:,;[9O&5:2$.++/DNMLBP]TH:N%CB>JV%_7$&A4-.M_35\2B;UD<'*[). M-/ %_-?N8H/%9I9*:C!.HB$6ZIS>;T_G?<0GP#<)@UN<2:SDBO@N4?E80<)2J75E+VSJ.>6((4+5[&79JT#^/-88I: MQ_,)SV?\,:5A8YXD_)WPHL@L#L2.K>]$?.'MB8?6E-&9.I'N@G87O+>"\T/& M;I%HPIQ'#%]@MC."!?8Y!5]+<>9_A?/U\-VJPET*W_U#X6\$^U6"?2+8_[?$ M- M@I3-79B@-OROV5!0^W@\A+,=IVPT/';3!V+S+RY^ E!+ P04 " #<<05/ MJ6M%B+0! #2 P &0 'AL+W=OY#,7ND!E+]IM9',>=-TQ X&6!-!4A": M93=$,JYP543?R52%'IW@"DX&V5%*9OX<0>BIQ#O\YGC@7>^"@U3%P#KX!>[W M<#+>(@M+PR4HR[5"!MH2W^T.QSS$QX!'#I-=G5&HY*SUYYVKN$_I)D^P;0!- +H M;F,>,B>*RK\PQZK"Z F9N?<#"T^\.U#?FSHX8ROBG1=OO?=24?JY()= E&*. MR6".+9EQ1T*\61_@>GV_#]IL)]A._7\'VV39!O$N21(/^ 8-:X%?-O MD6354PFFB]-D4:U'%2=YY5T&]H[&-WD/GZ?])S,=5Q:=M?,O&_O?:NW 2\FN M_ CU_H,MAH#6A>,G?S;SF,V&TT/Z063YQM5?4$L#!!0 ( -QQ!4^+RE2# MM $ -(# 9 >&PO=V]R:W-H965T/8FD\2J+\%V-N7O&3MI")#VQ?:,YYPY,Q[G MHW6/O@,(Y$DKXPO:A= ?&?-5!UKX&]N#P9O&.BT"FJYEOG<@Z@32BO'=[BW3 M0AI:YLEW=F5NAZ"D@;,C?M!:N%\G4'8LZ)X^.QYDVX7H8&7>BQ:^0OC6GQU: M;&&II0;CI37$05/0N_WQ=(CQ*>"[A-&OSB164E)#(P85'NSX$>9Z MWE R%_\9KJ P/"K!')55/JVD&GRP>F9!*5H\3;LT:1^G&Y[-L&T GP%\ =RF M/&Q*E)2_%T&4N;,C<5/O>Q&?>'_DV)LJ.E,KTAV*]^B]ECSC.;M&HCGF-,7P M54/@7P6&3X) (#J^6N!63_9.$K7JJ MP;5IFCRI[)*^\R\#>\?0F?\*G:?\B7"N-)Q<;\&53_QMK Z"4W0V.4(W^'936,V&<'V\P]BRS&UL?5/;;MP@$/T5Q >$ M7>RDT6;ML8W"Q0&\3O^^@(GKMFY?@!GFG#DS#,6DS8OM M 1QZDT+9$O?.#0=";-V#9/9*#Z#\3:N-9,Z;IB-V,,":")*"T-WNADC&%:Z* MZ#N9JM"C$US!R2 [2LG,CR,(/95XC]\=3[SK77"0JAA8!U_!?1M.QEMD86FX M!&6Y5LA 6^*[_>&8A_@8\)W#9%=G%"HY:_T2C,>FQ+L@" 34+C POUW@'H0( M1%[&:^+$2\H 7)_?V3_%VGTM9V;A7HMGWKB^Q+<8-="R4;@G/3U JN<:HU3\ M9[B \.%!B<]1:V'CBNK1.BT3BY>9>!O:/Q37Z%S]/^A9F.*XO.VOF7C?UOM7;@I>RN_ CU_H,MAH#6 MA>,'?S;SF,V&TT/Z063YQM5/4$L#!!0 ( -QQ!4_20--.M $ -(# 9 M >&PO=V]R:W-H965TOP!WW'OW[CC2P=@7UP!X\JI5 MZS+:>-_M&7-% UJX*]-!BS>5L5IX-&W-7&=!E!&D%>.;S3730K8T3Z/O://4 M]%[)%HZ6N%YK8=\.H,R0T2V].)YDW?C@8'G:B1J>P7_OCA8M-K.44D/KI&F) MA2JC=]O]81?B8\ /"8-;G$FHY&3,2S"^EAG=!$&@H/"!0>!VAGM0*A"AC%\3 M)YU3!N#R?&'_'&O'6D["P;U1/V7IFXS>4E)")7KEG\SP!:9Z/E$R%?\-SJ P M/"C!'(51+JZDZ)TW>F)!*5J\CKMLXSZ,-\D%M@[@$X#/@-L(8&.BJ/Q!>)&G MU@S$CKWO1'CB[9YC;XK@C*V(=RC>H?><\^0Z9>= -,4/T_XH;"U;1T[&X\O&_E?&>$ IFRL9;VT 0 T@, !D !X M;"]W;W)K&UL?5-A;]L@$/TKB!]0$I)M661;:CI- MF[1)4:=UGXE]ME&!\P#'W;\?8-?S5G=?@#ONO7MW'-F ]M&U )X\:65<3EOO MNR-CKFQ!"W>#'9AP4Z/5P@?3-LQU%D250%HQOMF\95I(0XLL^J"D@EKTRM_C\ FF>MY0,A7_!:Z@0GA4$G*4 MJ%Q:2=D[CWIB"5*T>!IW:=(^C#><3[!U )\ ? 8<4AXV)DK*/P@OBLSB0.S8 M^T[$)]X>>>A-&9VI%>DNB'?!>RWX[I"Q:R2:8DYC#%_$;.<(%MCG%'PMQ8F_ M@/-U^&Y5X2[!=Z\H_(M@OTJP3P3[_Y:X%O/^GR1LT5,-MDG3Y$B)O4F3O/#. M WN;'I']"1^G_:NPC32.7-"'ETW]KQ$]!"F;FS!";?A@LZ&@]O'X+ISM.&:C MX;&;?A";OW'Q&U!+ P04 " #<<05/\](>I[,! #2 P &0 'AL+W=O M+%EM8*JFA<])TQ$*=T]O=X9B& M^!CP7<+H5F<2*CD;\Q*,QRJG21 $"DH?& 1N%[@#I0(1RGB=.>F2,@#7YW?V M^U@[UG(6#NZ,>I:5;W-Z0TD%M1B4?S+C \SU?*!D+OXS7$!A>%"".4JC7%Q) M.3AO],R"4K1XFW;9Q7V<;J[3&;8-X#. +X";F(=-B:+R3\*+(K-F)';J?2_" M$^\.''M3!F=L1;Q#\0Z]EX*G2<8N@6B..4XQ?!6S6R(8LB\I^%:*(_\+SK?A M^TV%^PC?_T/A;P3I)D$:"=+_EK@5\V>1;-53#;:)T^1(:88N3O+*NPSL+8]O M\BM\FO8OPC:R<^1L/+YL[']MC >4DESA"+7XP19#0>W#\2.>[31FD^%-/_\@ MMGSCXB=02P,$% @ W'$%3X='4KU$ @ TP< !D !X;"]W;W)K&UL=57;CILP$/T5Q +*'D&^J!-#>>\T;M?-+K=MM$*BBA)JI M)]%"8[YY3F% PLYZJ&1E6B\21<=OZ>; \D MM@X.\5K!0XWVGDWE),2;/7P][_S01@0<"FTIF%GN\ R<6R83Q^^>U!\TK>-X M_\'^V25ODCDQ!<^"_ZK.NMSY:]\[PX7=N'X1CR_0)Y3X7I_]-[@#-W ;B=$H M!%?NURMN2HNZ9S&AU.R]6ZO&K8_N2Q+W;K@#[1WHX+!V.D$GY"+_Q#3+,RD> MGNPNOV7V/R9;:NZFL$9W%>Z;"5X9ZSVG,/T @CYQZ-W B:U1D/2=(PHD(AEFHNPTJLID3T-5$ M!,$D"\5%0KR!PCE%%$\[" $ET8+.0J,2A&*F@X&2!1VT6_>$(A3I5 <#+909 MP=N:1 C%M-!0T$*E$;S["=+:Z;364-"TV(+1FUJ#O+IIHKQ"W!HWRD;686+M MJ7N3_\&[=R6O5*.\DM'G9W?M[$4*#B25\,L]$:2;L<.!PT7:[,GO9C9GN MH$7;C]!@F./Y7U!+ P04 " #<<05/J 1ZS[M.I?3UOO^R)@K M6]#"W9@>.KRIC=7"HVD;YGH+HHHDK1C?[0Y,"]G1(HN^LRTR,W@E.SA;X@:M MA?UU F7&G";TS?$LF]8'!RNR7C3P%?RW_FS18HM*)35T3IJ.6*AS^I <3VG M1\!W":-;G4FHY&+,2S ^53G=A81 0>F#@L#M"H^@5!#"-'[.FG0)&8CK\YOZ M4ZP=:[D(!X]&_9"5;W-Z3TD%M1B4?S;C1YCKN:5D+OXS7$$A/&2",4JC7%Q) M.3AO]*R"J6CQ.NVRB_LXW1SN9MHV@<\$OA#N8QPV!8J9?Q!>%)DU([%3[WL1 MGC@Y M]/,/8LLW+GX#4$L#!!0 ( -QQ!4]DXOE7T@$ )P$ 9 >&PO=V]R M:W-H965T6/< [?Y1P$LDFJ%]T"&/0J>*]SW!HSG C190N" MZ0Z2@SO%C?#JG#N\! M/SN8]&:.7"=7*5]<\*7*<>0* @ZE<0K,#C=X LZ=D"WC]Z*)5TM'W,[?U#_Y MWFTO5Z;A2?)?767:'!\QJJ!F(S?/A]R&SD*__(#"LR)2>DYKT?F/O% M\8G:O2E=TF^%7[/%:YN]%31-,G)S0@OF/&/H!A.O"&+55PL:LCC3=W0:IN^" M%>X\?;>EQ_NPP#XHL/<"^_]:3.]:#&$.89,D:)($!(YW)B',A[!)&C1)WPL< MHCN3$.;^=Y'-Z1"@&G\O-"KEV/L[NT;] M2:JE-&!+B1YLPZU]*M: 0VW<]&#G:KXP&UL M;5/;;MP@$/T5Q >$->MLHI5M*9LJ:J566J5J^\S:8QL%/"[@=?KW!>PX;NH7 M8(9SSEP8LA'-BVT!''G5JK,Y;9WKCXS9L@4M[ WVT/F;&HT6SINF8;8W(*I( MTHKQW>[ M) =+;+H.YLBP\$IV<'9$#MH+S;%H7'*S(>M' M=W _^K/Q%EM4*JFALQ([8J#.Z4-R/*4!'P$_)8QV=2:AD@OB2S"^5#G=A81 M0>F"@O#;%1Y!J2#DT_@]:](E9""NSV_J3[%V7\M%6'A$]4M6KLWI/245U&)0 M[AG'SS#7]-&9RQ%?'.)V^]]UKP.YZQ M:Q":,:<)PU>89$$PK[Z$X%LA3OP_.M^F[S)[G7GQ.!V/?70/@R8=6K1IC)YNGIO=*MG"RQ/5:"_O[",H,&4WH-? FZ\:' ,O33M3P M#?SW[F318[-**36T3IJ66*@R^I0W ^EQG=A() M0>&#@L#C L^@5!#",GY-FG1.&8A+^ZK^&GO'7L["P;-1/V7IFXP^4E)")7KE MW\SP":9^[BF9FO\"%U (#Y5@CL(H%[^DZ)TW>E+!4K3X&$_9QG.8]*^T=0*? M"/R&P,9$L?(7X46>6C,0.\Z^$^&*DP/'V10A&$<1_V'Q#J.7G._O4W8)0A/F M.&+X I/,"(;J;;GI!;'[&^1]02P,$% @ W'$%3UH9 M%QW& 0 -P0 !D !X;"]W;W)K&UL=53M;ML@ M%'T5Q ,4FR1-%MF6FD[3)FU2U&G;;V)?VZA@/,!Q]_8#['I>2O\8[N6<_@K)$9I&3ZSPF$&G.P/_JS M=A995"HNH3-<=4A#G>.']'C:>7P _.0PFM4>^4HN2CU[XTN5X\0G! )*ZQ68 M6Z[P"$)X(9?&[UD3+R$]<;U_5?\4:G>U7)B!1R5^\QE6GD7UG$ZV=_/M#B!S@2Z M$ XA#ID"A"[*)!=A&!]"9(#'/;"K*Z. FZ"4_6H%(-71B7E7>9B@<:+OX??!JI;TPW MO#/HHJQ[/N&2:Z4LN%22.Y=+ZZ9X,034UF_W;J^GMSP95O7SF)+E7U'\!5!+ M P04 " #<<05/9G&:(+8! #1 P &0 'AL+W=OV$ *[X0VRSI MW]-\U.;9=@ .O4JA;($[Y_HC(;;J0#)[HWM0_J;11C+G M3=,2VQM@=21)0>AN=TLDXPJ7>?2=39GKP0FNX&R0':1DYN\)A!X+G. WQR-O M.Q<LH"/@#\<1KLZHU#)1>OG M8'RO"[P+"8& R@4%YKQ:>.#E2WYLJ.&,KXIU/ MWGKOM:2'-"?7(#1C3A.&KC#)@B!>?0E!MT*_2;7ZV MR<\B/_M08?:IPBW,_E,0LFJI!-/&8;*HTH.*@[SR+O-Z3^.3O,.G8?_)3,N5 M11?M_,/&]C=:._"I[&[\!'7^?RV&@,:%XYT_FVG*)L/I?OY 9/G%Y3]02P,$ M% @ W'$%3S0H[AW4 0 G 0 !D !X;"]W;W)K&UL;51M;]L@$/XKB!]0;)*X:61;:EI-F]1*4:=MGXE]?E'!>(#C]M\7 ML.MY*5\,=SSW/'?XCG24ZE4W :]"=[I##?&] ="=-& 8/I&]M#9DTHJP8PU M54UTKX"5/DAP0J,H(8*U'=JS&GZ"^=6?E+7(PE*V CK=R@XIJ#)\'Q^.B<-[P.\61KW:(U?)6'49S\4]P 6[A+A.K44BN_1<5@S92S"PV%<'>IK7M M_#I.)[>[.2P<0.< N@3LO0Z9A'SFC\RP/%5R1&JZ^YZY7QP?J+V;PCG]5?@S MF[RVWDM.]TE*+HYHQAPG#%UAX@5!+/LB04,21_HEG(;#-\$,-SY\LPZGFS#! M-DBP]03;_TJ\O2HQA-F'179!D5V X.Y*)("YB\(B25 D"1#$5R(AS/5]DU5W M"%"UGPN-"CET?B97WF7T[JGOKG_P:6Z?F:K;3J.S-+9'?2=54AJPJ40WMN#& M/A6+P:$R;FM;&ZEI8";#R'Y^"\CR(.4?4$L#!!0 ( -QQ!4];*7&PO=V]R:W-H965TU!^I]%&,N>7IB6V-\#J2)*"T,WFGDC&%2[S M&#N;,M>#$US!V2 [2,G,KQ,(/19XB]\"S[SM7 B0,N]9"U_!?>O/QJ_(HE)S M"+$,Q/7\3?U#K-W7/,->38307 M_QFN(#P\9.(]*BUL_*)JL$[+6<6G(MGK-'(5QW':R0XS+4V@,X$NA(?H0R:C MF/E[YEB9&STB,YU]S\(5;X_4GTT5@O$HXIY/WOKHM:3O=CFY!J$9YO2DQA_F.2)4VR MA,#]C4D*<[@Q(:N+DV#:^&0MJO2@8KNLHDM7/-)X\7_@4TM]8:;ERJ*+=O[Y MQ$MNM';@4]G<^5PZW\7+0D#CPO3@YV9ZR]/"Z7YN4[+\*\K?4$L#!!0 ( M -QQ!4]P)1(+PP$ #<$ 9 >&PO=V]R:W-H965T) M-P0<2NL5F%O.\ 2<>R%GXW76Q$M)3USO+^I?0^^NEQ,S\*3XWZZR;8[O,:J@ M9@.WSVK\!G,_.XSFYG_ &;B#>R>N1JFX";^H'(Q58E9Q5@1[F]9.AG6<]2^T M.('.!'I%(%.AX/P+LZS(M!J1GLZ^9_Z*TSUU9U/Z9#B*\,V9-RY[+NC#?4;. M7FC&'"8,76'2!4&<^E*"QDH;0-^LZ?0N+K"-"FR#P/:_%A^N M6OR,V21)O,@N6F07$4BOBL0PUT=!5A4+/\5 MQ0=02P,$% @ W'$%3QS_.(*V 0 T@, !D !X;"]W;W)K&UL;5/;;IPP$/T5RQ\0LX:DT0J0LJFJ5FJE5:JVSUX8+HHO MU#9+^O<=&T)HRHOM&9]SYN)Q/AG[[#H 3UZ4U*Z@G??#D3%7=:"$NS$#:+QI MC%7"HVE;Y@8+HHXD)1E/DCNF1*]IF4??V9:Y&;WL-9PM<:-2POXY@31300_T MU?'4MYT/#E;F@VCA._@?P]FBQ5:5NE>@76\TL= 4].%P/&4!'P$_>YCZ[A/\\T=7VC[!+X0^$JXCW'8'"AF_E%X4>;63,3.O1]$>.+#D6-OJN", MK8AWF+Q#[[5,DS1GUR"T8$XSAF\PAQ7!4'T-P?="G/A_=+Y/3W&PO=V]R:W-H965TPZ$UP:4K<6SL<"#%U#X*:.S6 =%]: MI06U+M0=,8,&V@22X"1+DGLB*).X*D+NI*M"C98S"2>-S"@$U;^.P-54XA1? M$R^LZZU/D*H8: =?P7X;3MI%9%5IF !IF))(0UOBI_1PW'M\ 'QG,)G-'OE. MSDJ]^N!34^+$&P(.M?4*U"T7> ;.O9"S\7/1Q&M)3]SNK^H?0N^NES,U\*SX M#];8OL2/FTI';%S5]A*6?/49+\Y_A MS!O1-7HU;?_$=A% M!79!8/=7BP\W+<8PC_$B^VB1?43@W4V1""9-;HJ0S<4)T%UXL@;5:I1A7#;9 M=2J>LG#Q?^#S2'VANF/2H+.R[OF$2VZ5LN"L)'?.2^^F> TXM-9O']Q>SV]Y M#JP:EC$EZW]%]1M02P,$% @ W'$%3_>$Z7G1 0 G 0 !D !X;"]W M;W)K&UL;53K;ML@%'X5Q .4!%\:1;:EIE6U29L4 M==KZF]C'%Q6,!SCNWGZ 7=?+^&,XA^]R#@:R2:HWW0(8]"YXKW/<&C,<"=%E M"X+I.SE ;U=JJ00S-E0-T8,"5GF2X(3N=BD1K.MQD?G<6169' WO>C@KI$)7_M*M/F^(!1!34;N7F1TQ=8^DDP6IK_!E?@%NXJL1ZEY-I_ M43EJ(\6B8DL1['T>N]Z/T[P2)PLM3* +@:Z$@_S\P M]XOW1VKWIG1)OQ5^S1:O;?9:1/M]1JY.:,&<9@S=8#X1Q*JO%C1D<:+_T6F8 M'@4KC#P]VM*C0U@@#@K$7B#^IT5ZTV(($X5-DJ!)$A"(;TQ"F"1LD@9-TH! M>F,2PMS?F)#-Z1"@&G\O-"KEV/L[NFFJ[7Z"*-/:/^ M)-52&K"E[.YLPZU]*M: 0VW<]-[.U7QAYL#(87D+R/H@%7\!4$L#!!0 ( M -QQ!4\C\)-,LP$ -(# 9 >&PO=V]R:W-H965T&,"*+]0V2_KWM0U+R887 M/#.<<^;B<3YJ\VH[ (?>I%"VP)US_9X06W4@F;W1/2C_I]%&,N==TQ+;&V!U M)$E!:))\(I)QABYWZ5U.SD%H MQAPF#%UAT@5!O/J2@FZE.- /=+I-WVU6N(OTW9J>)=L"V:9 %@6R=RU^N6IQ M T.ODY#53"68-FZ3194>5-SD5719V'L:[^0_?-KV'\RT7%ETTL[?;)Q_H[4# M7TIRXU>H\P]L<00T+IB?O6VF-9LV&X*+Y0VRSIW]<7EM"4%^P9GSES M9NPAGY1^,1V 1:^"2U/@SMKA2(BI.A#,[-0 TITT2@MFG:E;8@8-K Y!@A.: M)!^(8+W$91Y\9UWF:K2\EW#6R(Q",/WG!%Q-!4[QS?',YN*_PA6X@WLE+D>EN E?5(W&*C&S."F"O<:UEV&=9OY;V'8 G0/H M$I#>A5IBHJ#\D5E6YEI-2,?>#\Q?<7JDKC>5=X96A#,GWCCOMAB<&BLWWYT>QU?:C2L&N8A),N?H/P+ M4$L#!!0 ( -QQ!4_@=+>*#@( #\& 9 >&PO=V]R:W-H965T08/Y$^V@E6]* MRAHL9,@NB'<,<*%)#4&>XT2HP75K9ZE>.[$LI5=!ZA9.S.+7IL'L[QX([7>V M:]\7GNM+)=0"RM(.7^ 'B)_=B//J&E/*17Q<7Y7_ZQKE[6< M,8<#);_K0E0[.[:M DI\)>*9]E]@K">TK;'X;W #(N'*B!/!#?Y+\$>"_U%",!*"!0$-I>C>'+' 6/-,-$<QH>.)&YG3),8TR?O]W"?K?GJ^O_Q^T,/)5%?K=\PN=%VCZ9^1_0-02P,$ M% @ W'$%3ZQ%A1"[ 0 @ 0 !D !X;"]W;W)K&ULC53MCML@$'P5Q ,<\4>2*K(M-5=5K=1*T55M?Q-[':,#XP*)KV_? M!3N6>^*D^V/8979F!P/%J,VS[0 <>5&RMR7MG!L.C-FZ \7M@QZ@QY56&\4= MAN;"[&" -Z%(299N-CNFN.AI583C@98J]*M MGWWPM2GIQC<$$FKG&3@.-W@$*3T1MO%GYJ2+I"]O\#L9TO);/X;W$ BW'>"&K66-GQ)?;5.JYD%6U'\91I% M'\9QYK^7Q0O2N2!="I(\>)F$0N>?N.-58?1(S+3W _>_.#FDN#>U3X:M"&O8 MO,7LKDK-V> [#:6FU=H!\FP>TW>%SL 026N>G>YR;Z5),@=/#?-_9\NA4_P!0 M2P,$% @ W'$%3Y(+ 1K0 0 EP0 !D !X;"]W;W)K&ULA53MCILP$'P5RP]PYO.2BP#IDE/52JT47=7VMP-+0&=C:COA M^O:U#4$9F9TAQMD@Y)MJ #1ZYZQ3.6ZT[G>$J+(!3M6#Z*$S3VHA M.=6FE&>B>@FT&F7\7P&:8\*493^*]P!6;@UHF940JFW"\J+TH+/JD8*YR^ MCVO;N768]&\T/R&:"-%,")-_$N*)$*\(9'3FHKY038M,B@')\<_JJ3T3X2XV M+[.T3??NW#.35IGNM8CC34:N5FC"[$=,M,!$'Q&'>T2ZG2'$&)A=1%X7D>/' MRPEAY!>(O0*Q$T@^Q-BN8HR81X?I'":)-D]/JRCWJ,!O)/$:23Q&5B/V(R9= M&DG],U+OC/1^1A*L9J3_C4$61\1^LM^H/+>=0B>AS6ES9Z(60H-1"QZ,7&-N MB;E@4&N[W9B]'+^5L="BGZX!,M]%Q5]02P,$% @ W'$%3W3'G:HJ P MY@P !D !X;"]W;W)K&ULE5?MCILP$'P5Q ,< MK(TQ1$FD2RY5*[72Z:JVO[G$2= !3L%)KF]?\Q$NL9>(^Q.PF1WOCIUAF9YE M^5;MA5#.>YX5U%ZUWHL\J1[D013ZR5:6>:+TL-QYU:$4R:8)RC./ M^'[HY4E:N/-I,_=)W*L[5U;U3E_(JY5L] M^+:9N7Z=D =0',6,%K:V_$ M?$I4,I^6\NR4[7DX)/6Q@PG3V[6N)YO=:9YI/2L]>YK3 *;>J2;J,(L60ZXP M ;F"<'T"$]GT*=!L#06Q JG ;E=8HEAJ)$&A@EN,:O[/#?)4E0SVA#0&P*& M$P0H0= 0!#<$H5%)BV$-IK@G*$.78-82 (80BQ837BT11HP9J*6-8G'HF_MO MHX RGW!#>P0&G(<^7EJ(EA8BZG&<@*,$?/S^12A!-$+'%AP))@A+P=Z$:Y@,;&OVB) MP"#DU!08@>G#&QONLD)@E+ H'B@/M;I'((C(0Q2X <$G' AP"P+;@Q"1$1/R M.42FR B,7I^\3F0;1H#3R!09@04A'U((MS^P_4_;T0 %;C,0?D)DW&B CQ&9 MVX%UW_:S/\#4$L#!!0 ( -QQ M!4]<63<3P@$ #,$ 9 >&PO=V]R:W-H965T]/QD=D4:FY!&6Y5LA 4^"GY'#, CX"?G 8[6J/0B=GK5]#\+DN\"X4! (J M%Q287R[P#$($(5_&KUD3+Y:!N-Y?U3_&WGTO9V;A68N?O'9=@1\QJJ%A@W O M>OP$#AD,HJ5?V".E;G1(S+3V?*MSU[*-*,YN02A M&7.<,'2%218$\>J+!=VR.-([.MVFIYL5II&>KNG)?P3VFP+[*+#_I\7TIL5[ MS..V1;9ID6U8[&\L[C&W%F1U:1),&Y^K194>5!R557:9B"<:+_TO?!JGK\RT M7%ETULX_G7C!C=8.?"&[!U])YR=X"00T+FS?^[V9WO$4.-W/(TJ6_XGR#U!+ M P04 " #<<05/^5M'],<" !I# &0 'AL+W=OD\1"S MW7@Z_F#_[,4[,:_"R$=5_2I7=CN+QW&TDFNQK^RS.GZ1O: LCGKUW^1!5@[> M9N)B+%5E_&>TW!NKZI[%I5*+]^Y9-OYY[/D_MN$-U&^@80,;>RU=()_Y)V'% M?*K5,=+=X>]$^QNS>W)GLVP7_5'X[USRQJT>YCS+ILFA)>HQBPY#)Q@V(!+' M/H0@%&)!%]LY$2;@,$?N"4;_$7!,,(($(T_ 3P@H2S%!!@FRRPRR_.R4$*; M07(8) <$8TQ00(+B>IEC2#"^0B;"3'"0"0PRN23( UFR%-=L>KU0%BA[!K)@ MYW6/0('*9;#V'Q@!BD#M,ES]C-^@%M<_&X$L1N=J.U#F04T7)Q %FX0!!^19 M@ );@.4W:,4F8 7(XKR((2A@5H:]PH 1\H!=&78"FUROEK 5*+U"+00%/$O8 M+P2L4(12Q58@ND$MM@*!F^!2+0*%U&*_$/!+$;KSL!DHNT$M-@.!"^%2+0 5 M =\2=@P!,Q2!=Q1A,]#X!K78#(3NA0NU %2,A-V5C MHE=E7;_IN\*U4E:Z7-([5\];U_&UL?51=CYP@%/TKAOF0*$U! QJ;16(&6Y0 6-6R-CXZS71O*0E+N=W]2\NN\ER)@HJP?[0 M1G<%.J"@@993(4^/#?X0;,P*T3LT8MF'+/H+XJ+;A7,58X>9E& MVKMQ]/IWVC8A]H1X)D3INX3$$Y(5 4_.7-3/1),REV(,Y+19 [%G(CHFYF/6 MMNF^G7MGTBK3O97)?I?CFQ7RF,<)$R\P\6M$]1:1'68(-@9F%_&FB]CQD^4* M6;HMD&P*)$X@?15COXHQ878.TSO,ARC.5JAJ$_4QVS:3;II)-\P<5F;2-\N$ M*R/O(283>+')]M+](/)">Q6UJ*X0&HQ8^F)/#@ &0 'AL M+W=OY>^Y\/&=[<9+=2[\70@6O==7T MRW"O5'L;1?UZ+^JBOY&M:/0_6]G5A=+#;A?U;2>*S6!45Q$E)(GJHFS"U6*8 M>^Q6"WE05=F(QR[H#W5=='_O1"5/RQ#"MXFGV!2>9;RQ0R^;I8A,1&)2JR5 M<5'HQU']RH_;+, N#C=@6 MATH]R=,7,244A\&4_3=Q%)6&FT@TQUI6_? ;K ^]DO7D18=2%Z_CLVR&YVGR M_V:&&]#)@,X&-'O7@$T&[+\!O&O )P-N&41C*L/:/!2J6"TZ>0JZL;QM8;XB MN.5Z]==F/:Y8FB^BHW$T8>Y&##W'9.02_,RP($%R]Q>7)BJQ<#>3X!\#0) M0%Q0NP. DQ#D,;5[@(O*"<\\X>!M "@2CBUC%.1I%H!W"T#:11Y[7."= /C' M6Q;@*@=$YKFMP ED:CVO*[DA-/6M+"YV0-2>>WH2X$*&](J,<9$"HE(WXQ$$ M<)&QCPB7*2 ZS3TK1G$)4O+Q="FN+HJIR^X6$PCH98$].J:>_=/5!/>U'(IK M@K(K\L4U0=WMD1.P\^58>8FO.+ATJ"L=3GPG#EP1-+DB7UP1%-G;W/JF:'U] M^>+"H8AP8I\+7!(TO^*,A4N"N1L.)\XIB[B[1>S=_QBN'.8JAQ-?L+@DV#5G M2L^A$MLF[/I.(*N^U-9O='9N-S>O[T6W*YL^>)9*7P&&@_I62B6T2W*CO^Z] MONS-@TILE7E-]7LWWGC&@9+M=)N+YBOEZA]02P,$% @ W'$%3UT=EFSB M P 51, !D !X;"]W;W)K&ULE9AMCYLX$,>_ M"N)]BCTV!E9)I.ZNJCOI*JUZNNMK-G$VJ(!SX-VTW_Z L%'BF6F;-^$AX_G/ M#/YY#,NCZ[[U>VM]]+VIVWX5[[T_W"5)O]G;INP_N(-MAW]VKFM*/UQV+TE_ MZ&RYG08U=0)"F*0IJS9>+Z=[3]UZZ5Y]7;7VJ8OZUZ8INQ_WMG;'52SC]QM? MJI>]'V\DZ^6A?+%_6__/X:D;KI*SEVW5V+:O7!MU=K>*/\J[1VW& 9/%OY4] M]A?GT9C*LW/?QHL_MZM8C!'9VF[\Z*(<#F_VP=;UZ&F(X[_9:7S6' =>GK][ M_S0E/R3S7/;VP=5?JZW?K^(\CK9V5[[6_HL[_F'GA-(XFK/_R[[9>C ?(QDT M-J[NI]]H\]I[U\Q>AE":\OOI6+73\3C[?Q]&#X!Y )P'2/W3 6H>H'YW@)X' MZ&! L46:GTV2(8%R+(A+ JC!9T+)J,1:-8M&"JD9(.4E0-D)IV8$@'AHB@ M",IA4**++&7RS$B5##\TR3C(20!%(JC&1T&*PEH:-"'8ETH$@5 Y6DL90W<"EI,"4F M4^9A]6>CRV"U+I@I+VGJ),;.H*)H_)A-SB5$PRE3I ,@0J$4"Q4IHT,S+ F( M+U:!6<=@G8S+AZ989D@G0Y,V0S(+$+I@A&C:)<8]0P\HQT(F5XP.C;O$O&>H M;ICWA%50>/B3 J\)/EC"@EP4@NK'D7-#$ ^['["H(-,Q P9R'^>*6 MG G%/4&:9L T:UF$0MA(&09FH&$&#+,&+E2:4RANV/31!"J*P+"LL]%56;F- MCJ(!5 2 P#1M1:.E;MGB,GM<# V1+=[ @BZX=&EF%,5,.(DH(P!&AP9+X5:J M@5GL%0V6,C>4E49&4>*\8/3Y[)[J=H^>G;>NV;Z M/K%SSMO!H?@P1+ZWY?9\4=N='T^SX;P[?>@Y77AWF#]B)>O_ 5!+ P04 M " #<<05/@_*PO:D" B"0 &0 'AL+W=O)2RF4>1V!YI1<0=:VBM_MDS M7A&IAOP0B893LC-!51DA -*H(D4=KA9F[I&O%NPDRZ*FCSP0IZHB_-^:ENRR M#&%XG7@J#D>I)Z+5HB$'^I/*7\TC5Z.H=]D5%:U%P>J T_TRO(?S!XAT@%'\ M+NA%#.X#77]V_ MF.)5,<]$T)R5?XJ=/"[#+ QV=$].I7QBEZ^T*R@)@Z[Z[_1,2R77)"K'EI7" M_ ;;DY"LZEP42D5>VVM1F^NE\[^&^0-0%X#Z )7[O8"X"XC? O"[ ;@+P)_- MD'0!B94A:FLWS=P0258+SBX!;]=#0_2R@_-$/:ZMGC1/Q_RG^BG4['F%T701 MG;51IUFW&C300 AO-1N/IE=$BJ#'0#Z,-7+"T6V"W%5 :&DV'[H\O.]R QI[ M^Q4;@WB8 F*_ ?8:8&. ;PBPU?!6DQI-;31)EEFBC2N"<0Q&6!(O2^*R3*V. MK1,GS02FRP7*V\UR2 / G%LP;BB"8R3$9:9EV7F8;&>8#YS:TX'_6]97-$$ MH;$7" +_%P>XKQ &(Q8C'RWH%(2=@CI1-H %=\!:$ \>U43)DA$>[]?K'B*7 M)P8V#_H4CZOR\42#[WM%^<%LMB+8LE,M=6\'L_V&?F_V\>>,4D5/;A3R_2H#BS]H*1[J6^GZIZWNW8[ MD*SI3B11?RQ:_0=02P,$% @ W'$%3Q=<26.B @ H D !D !X;"]W M;W)K&ULC5;M;MHP%'V5* _0Q,XW J0"C39IDZI. MVWZ[8"!J$F>V@>[M9SLAI?9MES_$OIQS[KG^GE\8?Q%'2J7WVM2M6/A'*;M9 M$(CMD39$W+&.MNJ?/>,-D:K+#X'H."4[0VKJ (=A&C2D:OWEW,0>^7+.3K*N M6OK(/7%J&L+_KFC-+@L?^=? 4W4X2AT(EO..'.@/*G]VCUSU@E%E5S6T%15K M/4[W"_\>S4H4:H)!_*KH1=RT/5W*,V,ONO-UM_!#[8C6="NU!%&?,UW3NM9* MRL>?0=0?B>G&KYQ"Y?Z%!0XGM# M]=_HF=8*KIVH'%M6"_/K;4]"LF90458:\MI_J]9\+X/^E083\$# (T'E_HP0 M#83HC1!_2H@'0CPU0S(0DJD9TH&06H2@'RPS^ALBR7+.V<7C_0+JB%ZG:):J M^=WJH)E.\Y^: *&BYV4DQI, M.V"*W!J/*:#2!2&4Y@5L. $-)X#AV#+<8Y*;-!@7N5769A*J=%$HRC($XLSZGK)HMR>^E/0I4N"L5%C#Y8&!GH.0-65@H+Y*! [A2=VIL]=WS& M."L*J^9)J-)%A;#; G1; %.467:+278GH W!,7P.#$VG8/$,K>V\'-9=%0?C!7O?"V[-1*O=QNHN-SXA[KR\:* MK]!LC8#X!LT>^L?"FWS_=OE.^*%JA??,I+KBS$6T9TQ293V\4_-U5,^EL5/3 MO=3-3+5Y_V;H.Y)UPWLH&!]ERW]02P,$% @ W'$%3R"!R3@9 P / T M !D !X;"]W;W)K&ULE5=A;YLP$/TKB!]0.!L# MJ9)(3:9IDS:IZK3NLYLX"2K@#)RD^_^PYQ=9O=8' M(93W5N1EO? /2AWO@Z#>'$3!ZSMY%*7^9R>K@BL]K/9!?:P$WQJC(@](&,9! MP;/27\[-W&.UG,N3RK-2/%9>?2H*7OU9B5Q>%C[X[Q-/V?Z@FHE@.3_RO?@A MU,_C8Z5'0>]EFQ6BK#-9>I78+?P'N%^3I#$PB.=,7.K!N]>D\B+E:S/XNEWX M8<-(Y&*C&A=)_/":[&6^:]LJPX+ M/_6]K=CQ4ZZ>Y.6+Z!)BOM=E_TV<1:[A#1,=8R/SVOQZFU.M9-%YT50*_M8^ ML](\+YW_=S/<@'0&I#<@\*$![0RH91"TS$RJG[CBRWDE+U[5KM:1-YL"[JDN MYJ:9-+4S_^EL:SU[7D9T-@_.C:,.LVHQ9( !@#%FC6!Z1* 9]#0(1F-%'',: M$2O$QYA1$(KF2HT#.LPU"G$'$>H@,@ZBD0.[$"TF-IBRQ<0I'H2A01@2Q"K% MBCE!$A9;1%H,F\",B,0HD1@A0JT@L1.$I!/9)FB0!%F3"'>0H@[2&]8D=5E" MDE"*QYFA<69('&8MR\R-0Q,(+3VMK\)&="#$A1O>L#P=:!@*9C29V 8PT2( M6:,I%ZB\'X @9!.[S1"W+B0F=O40& ,63@@9\%8 %"&4VH2H*R&;#'642,.) MS@=X4X$(*>_47L!;!B ]@X4V51&@#I#6SBRT1P-9/P]L(07*8$$!960UBA(+LJ M5T!C,KC@B2MX.ID/+E&"?:ZG7.#2(L@'V]DKQ/UB0\AFJ5V4:[ Q(5RH!!,J MFW"!JY#$_U$67(4DN66G8"!GIWP,:LD$@[-H(:J].;;7WD:>2G-G&,SV5X,' M8LZR_^#MO>([K_9967LO4ND3L3FW[J140G,)[W1M#_HJTP]RL5/-:Z+?J_8\ MWPZ4/'9WE:"_,"W_ E!+ P04 " #<<05/K9/+YQP$ )% &0 'AL M+W=OUM=8SJ2Z6R?1]4Y!&)8Q$5V;D, M5XN^[:5:+?2UR<^E>JF"^EH46?5CK7)]6X80_FSX=#Z>FJXA6BTNV5%]5LV7 MRTO5WD5WEOVY4&5]UF50J<,R?()Y2GD7T".^GM6MGEP'72FO6G_K;O[:+\.X MRTCE:M=T%%G[\Z8V*L\[IC:/?T?2\-YG%SB]_LF>]L6WQ;QFM=KH_)_SOCDM M0QD&>W7(KGGS2=_^5&-!/ S&ZO]6;RIOX5TF;1\[G=?]_V!WK1M=C"QM*D7V M??@]E_WO;7@BR!B&!Y Q@-P#@/\V@(X!]%< ^VT &P.8;P]\#."^/8@Q0!@! MT2!6K_XV:[+5HM*WH!H&T"7KQBG,1?M^=UUC_SK[9^T+J-O6MQ7C8A&]=40C M9CU@R 0# (^8+8*Y(Z(V@WL:!$MC3:QP\MC!QD8 &)CM_[(\>["D-H9+O!:* M2DK[>#K-@L0X 4,)6$_ 'MY)8KR3 2-Z3-EC!&=H%DGUBACPC'*)$H@[;*%,:O7TDH4A$R8,36E-7K:DH6IC$:H*9T?+D5P+&'3^?"8.NYL!',VZJ# '83P=PB(.PC!=D:6@/9F1L33Q6#4 MSPN6(C 64^'8&1']0#[<'8N]#$/5F]K 2=.(BHWI>L!2# M :>.TBGN213S).Z@P.<_!7_U*#[_J;W#L-4;00\[(TZE^6WJ!TLQ&"/@*MWQ M\8>8CG L312?_)2]0SU\\E/L8\Q2C]M+!C!S2?9"I3C*7#6BR:E$H:IC?Z94 M!SM]+9NNX$GK_=SJJ3_*,=K7,-\ TKZ%^?-P*O6+?C@D^YA5QW-9!Z^Z:731 MGW@U-0902C/&EFUZ6KAQY[[U4*?3%VUZKE/AE/3R/[/DZKU M99GB]'W@I3H1M,ALYJ+6N?U4[:O.B+Y_5E!!/DRG[K^JL:BMW)#;& M5M>#?R;;TV!T,\UB41KY-KZKUK\OXQ?!)AML().!S ;\;P.=##0P9".93_6C M-'*UZ/4EZ<>_U4FW*? CM8NY=8-^[?PWF^U@1\\KEHM%=G8339JG44.N-.16 ML8X5O)@EF068*0A(0;R?7OD%A?T4]%/O9S=9%$$6HR;WFM9K<)&+,)-815!) M$0S#0!@&P)0!S*CA-S"8\@ &4'&"2QB&@S \AA$H@.%1&$&*/&")19QC!J/D M($H.H. )8^B4,'#98E%C!$.HP@010 HP4YX$E$44J* =PV(!+N#4H H18R" MPU4IXB@(!7]Q_1_1#4H)HI3 JM I8RW)*'A7H%$Y$Y!P BN2PB 86%A0E&@ MDI5A;8I%F-$[.Q??J9(8H.$A#8X"A?\(D."2DSLL<*W$!&#)0Q82!:Z/LE.C!)G>T%YRY4ZN]<4UAV_UXRH\=H[OI!I/-UZC57U!+ P04 M" #<<05/G*6/$Y<" V"0 &0 'AL+W=OO?MUQ9DB(=E MOA!:_N?_ZRD]M/E-R#=5<*Z]][IJU-(OM&Y?@D ="EXSM1 M;\R3DY UTZ8I MSX%J)6='%U17 4$H#FI6-OXJ=WT[NZ9O+WAE?BMO2Q?^]X M+<^%MAW!*F_9F7_C^GN[DZ85#"['LN:-*D7C27Y:^FO\LL6)#7"*'R6_J=&] M9U/9"_%F&Y^/2Q_9$?&*'[2U8.9RY5M>5=;)C.-7;^H/3!LXOK^[?W3)FV3V M3/&MJ'Z61UTL_=3WCOS$+I5^%;=/O$\H\KT^^R_\RBLCMR,QC(.HE/OW#A>E M1=V[F*'4[+V[EHV[WGK_>Q@<0/H ,@1$])\!M ^@0P )7?+=R%RJ'YAFJUR* MFR>[M]4RNRCP"S63>;"=;N[<,Y.M,KW759BD>7"U1KUFTVG(@R8;-('Q'R $ M@FS(LT&*'B%;2(-A" 4SHL3I..4"%9 MT)D7G(*8%, D$PRD26%(!D(RP"";+-7L*1=*%E$$8S""ZPX]@S(T+3Q(-#-G M>*:^,6 Q7=6@:&8)8+#$UY@ %N&4TXFBA_*9P%4>]P*%@3MXO]E77NAS5[H=JR3 M$)J;L:"%F>K"'&*&1L5/VMXFYEYV.WG7T*+M3RG!<%1:_0%02P,$% @ MW'$%3W-N=A7F 0 _ 0 !D !X;"]W;W)K&UL M=91=CYP@%(;_BN&^B^)7=Z(FG=ULVJ1-)MML>\WH<30+8H$9M_^^@(XQ,_1& MX/B>]SD'A6(2\EUU #KXX&Q0)>JT'G<8J[H#3M6#&&$P;UHA.=5F*4]8C1)H MXY(XPR0,,\QI/Z"J<+&#K IQUJP?X" #=>:+>+;TV) M0EL0,*BU=:!FN, 3,&:-3!E_%D^T(FWB=GYU?W&]FUZ.5,&38+_[1GZ=*5Z9Z*5* M'A\+?+%&BV8_:\A&$R=DU6#COT*(%T*<0;PQ("3V&\1>@]@9)!N#- QOJIPU MF=,,,R2,2!KZ.8F7DW@XT0UGUJ0;SJ8*,VB./-S9F+N<#.2^T&)>[!J\77O4/4$L#!!0 ( M -QQ!4_.._L11 ( "0' 9 >&PO=V]R:W-H965TD[PT02U%* HRD"+FRXL"S.WYV7!+I(V'=GS0%S:%O,_6T+9L EA>)MX;78M*03#>L"3DZ;\ 4^[]9:;P1O#1G$HA_H3 Z, MO>O!U^,FC#00H:22V@&KYDIVA%)MI#!^3Y[AO*0.7/9O[I]-[BJ7 Q9DQ^BO MYBCK3;@*@R,YX0N5KVSX0J9\TC"8DO]&KH0JN291:U2,"O,-JHN0K)U<%$J+ M/\:VZ4P[3/ZW,'\ F@+0'(#@PX!X"HBM #"2F50_88G+@K,AX.-A]5C?"?@< MJ\VL]*39._-/92O4[+5,H[0 5VTT:;:C!BTT$,)[SQ14YX MG"!KB<>:NT5B;ZZQ,8CO9A:**TJ3//:CK+PH*W=7H(WBT]C'\UAS![+V@JP]!M;.;]=. MNGEBWUA7 U%DGPY8/#HMX6?S/HN@8I?.U(;%[%P"7I!YM/[)Q_KQ'?-STXG@ MP*1Z^LP#=6),$L42/:E+4JN2-0\H.4G=S56?CP_W.)"LGVH2F MC^1=02P,$ M% @ W'$%3^I^';-Y @ BP@ !D !X;"]W;W)K&ULC9;;CMHP$(9?)?^6;,3";+.Q?O\L*8\CZJLI8K_Z)4LP@">;BPBLH7WK!:/SEQ M45&EE^(K1&51D0A)*@HD7MKY=V;R?62WY595&SG?#DM:JH^+ME);^O M?.P_-MZ*\T69C6"];.B9_6#J9[,3>A5T7HY%Q6I9\-H3[+3R-WBQQ8DQL(I? M!;O+WKUG4MES_FX67X\K'YF(6,D.RKB@^G)CKZPLC2<=QQ_GU.^8QK!___#^ MV2:OD]E3R5YY^;LXJLO*SWSOR$[T6JHW?O_"7$*Q[[GLO[$;*[7<1*(9!UY* M^^L=KE+QRGG1H53TH[T6M;W>G?^'&6Q G 'I#$B;2PNRD7^BBJZ7@M\]T1Y^ M0\U_C!=$G\W!;-JCL,]T\%+OWM8Q#I?!S3ARFFVK(3T-[A2!]MXA"(38DHEY M&!'800C&&%H'X2#&"'80@0XBZR :.(A'2;::Q&IJJXEPGL*4&*3$ "4945I- MW*-D63*32P)2$H"2CBC)A)+')(,I*4A) 4HVHJ03"D8DFBF-#,1D "8?8;+I MD>$,P90 :#$=Q+:%JH9,[%3#OB)TK5B0;!AC/GCL&> MW&#R1+$ZT:".T!P';ET"FQQ#73XN M60RT.9IYY6&XS?&TSZ=%ZT3#EQ8:OTZ"WBRHF#C;*2B] [_6=@3W=KM)NR%V MEOR7MV/Z.Q7GHI;>GBL]D>S<.'&NF X&O>AT+_K+H%N4[*3,;:KO13L>VX7B MC1O]0??]L?X'4$L#!!0 ( -QQ!4^I;H9D'00 "D6 9 >&PO=V]R M:W-H965T\;8?,*(DT256U4BN- M3M7V-Y,X"3J 4R"3T[>ON9P4[.5$R_+>:P/?-GAQT=6W^JA4$WPO\K)> MAL>F.;U&4;T]JB*MO^B3*LV9O:Z*M#&[U2&J3Y5*=]V@(H\HCF=1D69EN%IT MQ]ZKU4*?FSPKU7L5U.>B2*M_URK7EV7(PA\'OF:'8],>B%:+4WI0?ZCFS]-[ M9?:B:Y1=5JBRSG095&J_#-_8ZT92.Z!3_)6I2SW:#MI2/K3^UN[\NEN&<>M( MY6K;M"%2\_.I-BK/VTC&QS]#T/":LQTXWOX1_>>N>%/,1UJKC<[_SG;-<1G. MPV"G]NDY;[[JRR]J*$B&P5#];^I3Y4;>.C$YMCJON__!]EPWNABB&"M%^KW_ MS,');,S&20",),&(E62W)(9ZDMWXF-MP&,6>/+CC,+?E.,_UAKG]A"7>1+BC M,+>E$$E/"-P+V/SQ&8=ABIF+L636S+AF %'GD;VIF4[1&&**72O$+2N#:'+E MF;!G\MB9 %GBN3N$VP&!=D#"$P*33O3XW2$,,0&(R6Y*4.2[]!AB A"3AT_" M?))\HEJ,'H'9WJT6B3RMGC!Y!"9S7Q ?*XW6B@R#,W=W _=PRS$,7#Q1+8:!@\G*K1:) M?'DP,1S X.NZ',/ DR>JQ3!P\$[J5HM$OB<9$\,1#)XN)3 ,PGU1]%8K, P" MS S<_A00[HNB>8LP?_:7&G-GJJEN:@G#)1 W]D>!<-\I'3?DN/$9P?0)0)_P MA?!\ S]!G\#T"0"6L+\ZH,CWM8[I$X ^X6E7 M,GGJ!/8/H$ ,NM%HD\;5%@ M^@2@3WBL2DR??((^B>F3C] G7?JX=-B3+GL3U=0.)D\^0IYTL0*?P?=4O9UH MM/!6J.K0K5'6P5:?RVZ!='3TN@[ZUBV#1O_+^T74W]/JD)5U\*&;1A?=(MU> MZT89,_$7<^V.*MU==W*U;]K-Q&Q7_>)EO]/HT[ P&UU7AU?_ 5!+ P04 M" #<<05/9LN72\H# !A$@ &0 'AL+W=OM3X]1%&W/R&1G4541RG45V43;A>#L^>V_52G755-O*Y#;IS71?M MCR=9J2H.\F^IOYR>6W,777O9E;5LNE(U02OWJ_"1 M/6QXUC<8%%]+>>ENKH,^E1>EOO4W?^Y68=P[DI7'O]UOOO0_(FF9>BDQM5_5/N]'$5YF&PD_OB7.G/ZO*'G!(283!E M_Y=\E961]TY,C*VJNN%OL#UW6M53+\9*77P??\MF^+U,_;\UPPUH:D#7!B3> M;<"G!MQJ$(W.AE1_*W2Q7K;J$K3C;)V*?E&P!VX&<]L_',9N^)_)MC-/7]R1-'(8(@QRCIT%F'!*[8*^HYK;\<"%.14GA/!T <'PR ADY "* M'*_YPB&4*V)9YDL($X2Y"!'"@Q"&&<( 1(0-$>8R0C";AT#$XL3#$H9AP@!- MA$V3231SXQLW#!0&B)+&=M+IKR3MBEB\\$T!1@\#[$F9[29SZM%Y(TT:@35S M*QA1+'<75.H!$,,$8@!!*;>=+ARG']@B]Y@E3!<"=$DMNFS(Y<8'%G-/(,P- M8B"0L ,Q-Y!YGWOP0A@O1&#\/6N;,!.( [/.WH6[=,^8[U5#&!T$T)':Z( B MNZ+OB.9F,#D(D".S2QJ*;##?$<0 1OQFW>1P,#@[ D=FU M"$6>C27'V.!@5Y)91?8$1-Q>!YL[HKD9SV>-"R N?/E@LO#D?TPQY@%'5>Q, M,1#YMK@I,L2M*R%,X'%7L]/'FGXX/\I'P]?/A7MH6RZX$5IK>KAXWZOE);&2_S13,!1 M%KOK327WNK_,S'4['GJ,-UJ=I@.=Z'JJM/X/4$L#!!0 ( -QQ!4^"5N66 M*P, -,- 9 >&PO=V]R:W-H965TVN3LGPID@!KAF$#-J#8L.W9393$J&UEMM)T?S_YTB 1J;W$EY \HF4= MR(NS[E[Z@U(F>&OJME^&!V..#U'4;PZJ*?M[?52M_6>GNZ8T]K+;1_VQ4^5V M3&KJ".,XC9JR:L/58KSWU*T6^F3JJE5/7="?FJ;L_CZJ6I^7(83O-[Y7^X,9 M;D2KQ;'Q>=O, M<]FKM:Y_5UMS6(9Y&&S5KCS5YKL^?U9S0S(,YNZ_JE=5V_!A)):QT74__@:; M4V]T,U>Q0VG*M^E8M>/Q/-=_3^,3<$[ 2P(D_TT0AT*S3&/4PQ>Q>!MQ)I& MR/P2$MD!7$:!["APS!T) #US!+P(@)H@P9"F\+H+J@:J6Z@#Q!<,="PWQCX9T"DAJV\!@6>&$ 9PS7L4"5 47A M6P"\,X"3AJM9H-; ["KJ%L1K SAOD)>%BD-F/@XO#N#,X;H6J#H\4XR\-Y#Q M!G$M4F_X*+PSD'$&<2U29_@HGOT ]05U+5)?^"B\*Y#9-1#3(I6%%%)X0+P) MD-DX$-$B7>-W(#QO&O++'.G>@7H6Z>9!(G@TB[P,D,H@(^\:LWU(T)G%-1.5 M8.S99"!O#*3&(&::8VZW?^YLKYDH@84[V]'5[GKXW/E6=ONJ[8-G;>Q&?=Q. M[[0VRE:,[VUG!_N%=;FHU(' P V P !D !X;"]W;W)K&ULE9=O;YLP$,:_"N+]"C[SMTHB-9VF3=JDJM.VUS1Q$E3 F>TDW;>?,2XC M^"QE;P(XC^^Y,_S,L;AP\2H/C*G@K6TZN0P/2AWOHTAN#JRMY!T_LD[_L^.B MK92^%/M('@6KMF92VT00QUG45G47KA9F[$FL%ORDFKIC3R*0I[:MQ)\U:_AE M&9+P?>"YWA]4/Q"M%L=JS[XS]>/X)/15-$;9UBWK9,V[0+#=,GP@]VLH^@E& M\;-F%SDY#_I27CA_[2^^;)=AW&?$&K91?8A*'\[LD35-'TGG\=L?/?N+T M_#WZ)U.\+N:EDNR1-[_JK3HLPR(,MFQ7G1KUS"^?F2TH#0-;_5=V9HV6]YEH MCPUOI/D--B>I>&NCZ%3:ZFTXUITY7FS\]VGX!+ 38)P 0RV#D-2%-3C0F*4\]KC@E!,,\SD:Q.7<4.]F+O-U(. M.X3$L8&.B Q_[;Q//[:61>@)5Y4 N\ /DS^&)JQ%:O)S:#GK1LM[C M<-[['_&NQH$V,(I?+8QBU?=T*@?&7O3@ZVGO!SHBH'"4V@51S0UJH%1[4G'\ MF9WZ"U,;KOMOWC^;Y%4R!R*@9O1W>Y+-WL]][P1GQ%A=*1UZEM>]..TTI9PTX4H3OE?4MB+)%PE2 2Q1A,XH0F,?K0E1X'80.1U$QD'\+H!HD\:D28VF M-QJ,P]A-B9V4V$'9;M:D2=:4),9N2N*D) Y*LJ$D%J5(W(S4R4@M1AIL&:G% M"+/TSE_)G)3,SJ3 &TIF43[$H1N2.R&Y!<%)L('DCE3PG1-:."F%15#:Q8K%,X:]:<='LA:H<(I]:VH%4IT;7].^&7 MMA?>@4E5E4SM.#,F07D,'E3VC7I.E@&%L]3=3/7Y5%.G@63#_%Z@Y=&J_@%0 M2P,$% @ W'$%3^QD@KZX @ (0L !D !X;"]W;W)K&ULE5;1CILP$/P5Q <]KC \!WG#I"]AF=G?&>%9>7+EXE2?&E/=6E;5<^B>EFL<@D+L3JZA\X VK M]9<#%Q55>BJ.@6P$HWL35)4!#D,25+2H_=7"K&W%:L'/JBQJMA6>/%<5%7_7 MK.37I8_\]X6GXGA2[4*P6C3TR'XR]:O9"CT+^BS[HF*U+'CM"798^I_0XP:; M (-X+MA5#L9>*^6%\]=V\FV_],.6$2O93K4IJ'Y=V(:599M)\_ACD_I]S39P M.'[/_L6(UV)>J&0;7OXN]NJT]#/?V[,#/9?JB5^_,BLH\3VK_CN[L%+#6R:Z MQHZ7TCR]W5DJ7MDLFDI%W[IW49OWM?N2$AL&!V ;@/L %,\&1#8@F@0$'3,C M]3-5=+40_.J)[F\UM#T4Z#'2F[EK%\W>F6]:K=2KEQ4)R2*XM(DL9MUA\ "# MQXB-BTBR'A)H CT+#++ )CX:L4CA!!&8(#()XD&".(HG,CH,,9BZDX'S+)I( M<5$H2E,/>;RMTHSV@.XQE0!@'V.R!W;3QR] M49(-W#PN!/<#Y#8$=_]=L\\5@OV.7,,3=,.I"+8JRN_O?ACV*@[OZ'\6--]X M/@"-R<"NQZ[KG1YH,62>RSRHXQ(,[BKMY?$'%<>BEMX+5_K:8RXG!\X5TPG# M!RWKI.^K_:1D!]4.4ST6W:6MFRC>V MIT-^*5_\ 4$L#!!0 ( -QQ!4_+ M;@[NYP$ /\$ 9 >&PO=V]R:W-H965TT9SIPS MQ^MQ/G/Q+#L Y;TR.LC"[Y0:#PC)J@-&Y!T?8=!?&BX843H4+9*C %+;(D81 M#H(4,=(/?IG;W$F4.9\4[0^@ M?HPGH2.TL=0]@T'V?/ $-(5_'QZ.F<%;P,\>9KG;>\;)F?-G$WRI"S\P#0&% M2AD&HI<+/ "EADBW\;)R^IND*=SOK^R/UKOVJ*_P/OE=#0R:J MGOC\&58_B>^MYK_"!:B&FTZT1L6IM+]>-4G%V(TL0O>DQX'_PI>GX1L1;3]([\R5'@-[61O. M%>A6@CMMM-.OT190:)399GHOEIE< L7'];E!VYM7_@%02P,$% @ W'$% M3T#*.QXJ @ 808 !D !X;"]W;W)K&ULC57; MCML@$/T5R^]=@B]I&CF6-I>JE5HIVJKM,[$GL;78N$#B[=\7,.MU"$W[$F X MY\P<,).L9_Q95 R>&EH*U9A)66W1$@4%31$/+ .6K5S9+PA4BWY"8F. RD- MJ:$HFLWFJ"%U&^:9B>UYGK&SI'4+>QZ(<],0_GL-E/6K$(>O@:?Z5$D=0'G6 MD1-\ _F]VW.U0J-*63?0BIJU 8?C*GS$RUVJ\0;PHX9>3.:!=G)@[%DO/I>K M<*8+ @J%U I$#1?8 *5:2)7QRVJ&8TI-G,Y?U3\:[\K+@0C8,/JS+F6U"A=A M4,*1G*E\8OTGL'[2,+#FO\ %J(+K2E2.@E%A?H/B+"1KK(HJI2$OPUBW9NR' MG61A:7Y"9 G12,#I74)L"?$;(;E+2"PA^=\,J26D3@8T>#>'N262Y!EG?<"' MSZ$C^JO#RU1=5Z&#YG;,GCI/H:*7?(X7&;IH(8M9#YAH@L$87V.V'LR(0*J" ML8S(5\8ZNJ%'UPDVMPB,'\XJ-0#Q-$2=^@<0KD!B!9%I! M-'<.?,#,#:8UF(5SWIM;R#OLR&Q]&/?B=CY0\A='J==1>N-HCC\XCCR8:.98 M\F'_8AXD=0VCR/AK@)].L1%"P;M'1F3H$J?/:C:*]7OQP6%H]33]VK.AZXW M+"3K;$-'X[]*_@=02P,$% @ W'$%3TQQ2I:Q 0 OP, !D !X;"]W M;W)K&UL;5-M;]L@$/XKB!]0'.QX;61;6CI-G=1* M4:=MGXE]CE%Y<8'$W;\?8,?R4G^!N^.YY[D[H!BT>;,=@$,?4BA;XLZY?D>( MK3N0S-[I'I0_:;61S'G7G(CM#; F)DE!:)+D1#*N<%7$V,%4A3X[P14<#+)G M*9GYNP>AAQ)O\#7PRD^="P%2%3T[P4]PO_J#\1Z961HN05FN%3+0EOCK9K?/ M CX"?G,8[,)&H9.CUF_!^=&4. D%@8#:!0;FMPL\@A"!R)?Q/G'B63(D+NTK M^_?8N^_ER"P\:O&'-ZXK\3U&#;3L+-RK'IY@ZF>+T=3\,UQ >'BHQ&O46MBX MHOILG983BR]%LH]QYRKNP\1_35M/H%,"G1/HV,LH%"O_QARK"J,'9,;9]RQ< M\69'_6SJ$(RCB&>^>.NCERJG64$N@6C"[$<,76#2C,X8XOEG$;HJ0B-!^I_( M=IT@725((T&V(-BF]S=5CI@\8E3$;.@#?5B7R59ELD\R.@'-/Y&S\G#GQ(ND+U_LK^TOHW?5R M9@:>%/_15;;-\0-&%=1LX/95C1]A[B?!:&[^,UR .[AWXC1*Q4WX1>5@K!(S MB[,BV/NT=C*LX\Q_+=LNH',!70IH&GJ9A(+S9V99D6DU(CV=?<_\%<<'ZLZF M],EP%.&;,V]<]E*D]#XC%T\T8XX3AJXP\8(@CGV1H%L21_I/>4H?M@EVFQYW M@6#W%\&';8+])L$^$.S7!+OHILD)DP2,_%^3R:9$LB$1WTA,F'0EL4^CZ$:% MK&Y.@&["FS6H5(,,\[+*+F/Q2,/-_X%/,_6%Z::3!IV5=>\GW'*ME 7G);IS M9EHWQDO H;9^>^_V>GK,4V!5/\\I6?XLBM]02P,$% @ W'$%3S,7$0?_ M 0 [P4 !D !X;"]W;W)K&ULC53M;ILP%'T5 MQ /4!D. B""MF:9-VJ2HT[K?3K@$5(.9[83N[6<;BBAQI_R)O\XY/N<2WWS@ MXD76 ,I[;5DG=WZM5+]%2)YJ:*E\X#UT^J3BHJ5*+\49R5X +2VI92C$>(-: MVG1^D=N]@RAR?E&LZ> @/'EI6RK^/@+CP\X/_+>-I^9<*[.!BKRG9_@)ZE=_ M$'J%9I6R::&3#>\\ =7._Q1L]P$V!(MX;F"0B[EGHAPY?S&+;^7.Q\81,#@I M(T'U<(4],&:4M(\_DZ@_WVF(R_F;^A<;7HRTV),S1U0A-F,<1$RXP*\3^%A&G,P1I [.+T.DBM/SHG0OB%B!. 6(%R-(B M^ ;\*F<7P; M%BU>GFF%/Z@X-YWTCESI1VR?6L6Y JV)'[1:K;OOO&!0*3--]%R,+6A<*-Y/ M[17-/;[X!U!+ P04 " #<<05/!!;9#?0" #2"P &0 'AL+W=OXLOJE.5'*K=*\FCM. MLSO1(FWN6$5+\>3 ZB+E8ED?G::J:;I7247N>*X;.D6:E?9JH6(/]6K!SCS/ M2OI06\VY*-+Z[YKF[+JTP7X+/&;'$Y:T#R7 M3**./QVIW>\I$X?W;^Q?E'@AYCEM:,+RW]F>GY9V;%M[>DC/.7]DUZ^T$Q38 M5J?^.[W07,!E)6*/'IZ[?C?TO $KTOP^@2Q M]T<)I$L@[PG^APE^E^!/W2'H$@)M!Z?5KLSKV/%2I/'8P#\3K MVLF@>COJF?"S$='+*B3QPKE(H@ZS;C'> , MY@-@ND1CJB@+\/#REA[1KIW MNT%B(@ TS.:_+-N/66X*):A?1!&0&[]F.(&/$OB*P!\2^*YF>(L)%:9L=;@D MU Q!0#-? VU,D$]B;;NM"0K=:,25 !45(**T$[)N,<&P7A)HFA",JTLR,7ZH M\6Q-#)F-" I10:$A""#""2*4()I^3F*4()YP3F)3IJ_]>1,3$X!NJ8F) U^S MU,2 &Q!%DU02"+- M6@04C!U70/OG/7B(N6/.X)T-/M': .]M,*6Y=: ;M<:I14!D1G1S31"XD>&N MB8K#<$07WM[ [&_@N2,4>$.!\!/NXBT%HBGN1D8SC_46FB @B#S#7@05Z]_< M+8(B0:A__)W!/%+0^JB&P\;:L7/)I2N#:#^ WGMRGM'B:Y@G@,0WZ=>+$G,6#WBYP>N+R-Q'W=3IGM@K.J MFZ"=?HQ?_0-02P,$% @ W'$%3^MHAMSV @ ,PP !D !X;"]W;W)K M&ULE5=M;YLP$/XKB.\+V,:\5$FD-M.T29M4==KV MV4VA7CI%U]VJSCM(^(-W^K>!3.7"]_P MIND]F3A^CT[CB;,WG-^_>?]DDS?)/#/%-Z+Y5>_T<167<;3C>W9N]).X?N9C M0C2.QNR_\@MO#+R/Q'!L1:/L;[0]*RW:T8L)I66OP[7N[/4Z^G\S@PWP:( G M@Z$X00,R&A#'(!DBLZE^9)JMEU)<(SF\K1/K#P6Z(Z:8VW[3ULX^,]DJLWM9 MYQE>)I?>T8AY&#!XAD&WB(V/H%4V81(3P10&AL)XP)X#)XB-CZ ES$# 1(FU M)W,&$G"0@0XRZR"[J11Q*@5A G6@( GUHLPS"CO(00>$6@( >0 /*07 3 M0$ 7H&X7 $&%FQ $"K1-!#<+5 #YA$H"MP($] (_GP&4SY5:5=X;\E&D*D(' M!FX;".@;>< %AO6.?;T'/T<8UCL&].Y]D 0J5" !Y8[!N2>NWT%!.$ #RQV M#(@])P$7L))Q]A]5A=6'Z7NR]4&$Y Y/,AO!6BX/=EI5T5:<.SLJSW:GB?@> MVQ'N'WP8I[\Q>:@[%3T+;09!.Z[MA=#&ULE9A=;YLP%(;_"N)^ =M\5DFD)M.T29M4 M;=IV31,G006<@=-T_W[&T(S8K[?TIGSD/><]Q_ 8N_.S:)^Z ^?2>ZFKIEOX M!RF/=T'0;0Z\+KJ9./)&_;(3;5U(==GN@^[8\F*K@^HJH&&8!'51-OYRKN\] MM,NY.,FJ;/A#ZW6GNB[:WRM>B?/")_[KC:_E_B#[&\%R?BSV_!N7WX\/K;H* M+EFV913BJ;_XM%WX85\1K_A& M]BD*=7CF:UY5?295QZ\QJ7_Q[ .GYZ_9/^CF53./1^M^6[ MXE3)K^+\D8\-Q;XW=O^9/_-*R?M*E,=&5)W^ZVU.G13UF$654A;!S:3C+<((()HAT@NBJQL2H<=#$6M,,PQ!1%H8A-HJA40R, M4IP@@0D2J]4D<;2:P@0IJ,!\XJG5*B,D=[::0:/,-DI#PRBSC.+ MJAI12RK+([=5A#0>T+M M=RIECA080,) M9%9[2#*IM7.$H=#*/%P(E^CS U#%"3F5]J M*')\IAFFAB%J7*\BIH:]@9H(4Q,!:JQNH[T1[KR-.#5Z%SZY M>]ELWU.]._PK'W;J7XIV7S:=]RBDVF/JG>!.",E5+>%,O20'7FPO%Q7?R?XT M5>?ML$,>+J0XCKO_X/(OB.4?4$L#!!0 ( -QQ!4\;!SJWAP, /D/ 9 M >&PO=V]R:W-H965TYZGD9"/^<$J3CF+=E50FEB4$,]*HS@S M%[-J[#E?S/A9)''&GG.C.*=IE/];LH1?YR:8'P,O\>$HR@%K,3M%!_:3B5^G MYUP^62W++DY95L0\,W*VGYL/,'VB3AE0(7['[%IT[HU2RBOG;^7#M]W<)&5& M+&%;45)$\G)A*Y8D)9/,XV]#:K;O+ .[]Q_LCY5X*>8U*MB*)W_BG3C.S< T M=FP?G1/QPJ]?62/(-8U&_7=V88F$EYG(=VQY4E2_QO9<")XV+#*5-'JOKW%6 M7:\-_T<8'D"; -H&R'??"K"; /LSP+D9X#0!SM@WN$V ._8-7A/@C0WPFP!? M";#JZE;3M8Y$M)CE_&KD]8H[1>7"AJDO%\2V'*SFO_I/SE@A1R\++PAGUJ4D M:C#+&D,[& #H8]8(ID58,H,V#8JEL:1:..V_8*4C !3,^B[+9@3+HX[Q0M+' M/&&8 <$V6G>[(K![!!0G<% "IR)P>@2V,G$UQJLP65T/\)2Z8AAPE<+JH"]. M:/M*<1&47"@.KLI%5;E(608(/)3 0\JBJ%G6&+>3I^,0!PA19GF% "'T=. : M =I^X&G #<;H.6X7V!/IHR)]1*0RKTL?$2ESTD4B0)="J(M$@+A(!'A39("* M#+2E /8 08@2A%J5P%9L:QEJ2U8M3XT(NH@)4?>'#OI")JI';E 4L7%-0'"_ M)H@JJAHVN2NK@=S1A: P83AL4-G 203(WO<'*-!3Y $HLC$"M3A4*XX+@;K8 M[Z'ZZ> >#[:>CC>D"'=Y<,;O L M%5RD*-H1[R*;V]7- L%1?W!C ^[1H)NT M/TB!.R#XXP\*P/T% B0+U1\:4% BN!4][P)Z0O#?0]TXQM< M=A1W&4K&EY?BVYG"B/(VH%YY'?U$62$XBAT]:P2HUOR%:H:ECWG@LGL MR41.Y5'VX>U#PO:BO/7E?5XWH_6#X*>FT;;:;G_Q'U!+ P04 " #<<05/ M7*$$>3:: !5EP( % 'AL+W-H87)E9%-T&UL[+UK<^-&EB;\ M>=]?@>@MSU1%0#2O(M7NZ0BY['+7C-NN*96W8O<;2$(2;!)@ Z1DS:]_SS7S M)) @J2J[>W9V(J;')9)(Y.7DN3[GG#\US3[Y=;LIFW_YP_U^O_OCEU\VJ_M\ MFS6#:I>7\,UM56^S/?Q9WWW9[.H\6S?W>;[?;KX<#X>77VZSHOQ#F^/.?]G_^IEH=MGFY3[)RG7Q;[HO]4_*VY#&+JDPN MDN8^J_/F3U_N__RG+_$9?NXR^6M5[N\;>&:=K]O?_NNA'"2389J,AZ.K[I>; M03*^C']Y8CZ]/__PM,O;7XZ&%__>^\"_'[)ZG]>;I^1]OJOJ??N'^_K0&= ] M_"ZOBPKGMTZ^R?:=W^GR_[__\3^.KO%#G95-0?L?+# M8;O,Z_8OAL/1Q60VFLUZ'GV?WQ7-'EZ^3W[(MIT7?/WCVQ^^^S'Y^/;]M]]_ M>W.3_M/_'%T.OWK[P^M!SWAORU55P_SIB-+D9@][DE1U0O16/\%_U]V]_+9G ML _9K\G;-6Q/<5NLF CCJ[R:74P7L\O%?-XSTO5Z#93;I/J/Y/NBS),?RPBA M7%T.DX_%IKDOZCSY>O.P'@!Y3NIU\F9359TWM\=_C7_!>C]4CQT*_;YJDNOR M+M]T[U![&+=O[^KJH2A7G7F^OCXUQ+NJV6>;Y/\4N^BF7PV'XVEG5!H!&$?T MD2QTF^?;7U7T&>QVEZA^N;[ZY[O # MN(+KHKQ+;IZVRVK3^A89[Q^;7;;*_^4/P%F;O'[(__#GCV_?O$UZ#N+UH:[Q M9O-UIH'A4 ^=H__?O=3PM@2NE*WVQ4..O"73(8]P ;AH0#AW5=W9R.^S&G;C M>K4"\H/;F:_Y]SUCW6RSS2;Y^M# -6GZYO?M-J_O<&'?U=7C_AYH9KO+RLZ; M=382[QN0ZS_=?).\?/$J M>9$49?+AOCHTL-V=^7^3KT"4C4A8=R:B)Y$U#8SYQ\[767-///O==5:T?BTV;%_T9& /PM@(WZY:;(EL6&#J!SGNX$=MD3;G_D>U":HCMOANU2V&T.[U[#N3[D99>[Z\R( MH0*? .E1A5O;NQCSR*8J[RZ LVZ3=;[L[%KD@=NBI/MR]AO*:I_W;DU(6\_8 M#3ID''X5OK$KDW5]S]BG[X]N2G3(X]L2?>3HQKCU[D'M.[(O/YXB(][A(S] M,5/L\;HR8:[ ?H&MR2'?;W55W\1[[^"G91/RV:!F\97:XC4I*E:O^; M1L-AW[NFTW0TG-,;IN/T\O+J^*N3;)^ R9,[BX]^ )(C1]W028\4:+K9Y:3: M;#KB#E18LH3@$)%]7X!06F6[ @XUPF8.V\.&I-HZ!R.AZ)"N_8FP?E!!ZOP> M^!(J5INJJ]_(%37;UCK/CD)9E1=(1'6UV> N%*BYY4T?WSUGR X1TTZ>\^1Y M4O_ENPR9R'V^!]-J\PJT@!?)EWJX>L9'M(&SWG*2[!T1)B_A96O8OJP&!@&G M1%-H7\'N !V2/?<)IM]S?WWV[7KN@L*G3ZXF^O/X4J(_/;J.Z(&2)?-L_WX^Q[5 JQET5*VC474!;_1Z;RN&@KDGV MV8BWPB>->BCC1C7:<.QE?EO5.:R!/@2EH7MB>6!S95^!8#Y3#)P>*B)\3@_BV,PYPW6H^NNL*59GLJUOBLT! M;]UYO_Z8H\&#VL(#4,)=KASC@+<8I3M(Y -15?F[K8E?>70A/3\YB^&\#I0* M)=3O:0GG&MB?^Z*XHARJ.\'F.HL"+DC[X3=PMXJ[4HR-U5."3N)FPZPC6_]\ M:%B!;C_W4UGGV09E5W*7P6KAU]MS;/K7_=-\QD_/OI*?,^89=_/44>*FAX;" MMZ3+?9Y4M>ZS(TKU.U&J7Y]6JK\YK50SE87[]WU$J6[KR&^/ZLC=B\QZ)=@7 MU@_5\??K[\Q]/OG,6]"?Z"&TK$2[&F9<[+JF^DG.8CUW1F<]T]J5CF?ZC)WL?::U*^>.??29\X0;>H??;*K'\[W2 M],@M/6*53=29T;T0E36H.<7L_FLOUI#/USD<_0ICJZ4\@$2^.9"CHU?7(ZD# MOR=/]P[#=V#A),NGZ,PZ"LLW.5RI52%B%A7ZELJ^B[J=.^QHN\N*FB0-SCOE MV<,(0+>[J@$A0 Z\7U$G(\6?ANN8 XGC/? (Z^2IU]7/946GK)"UVMSL4<0= M\A8'NB-QUL24G,("NT+N9_$+Q4SE]ENJTT[XCF$%"DS3..$Y_.)>N3]W2HGR NW+\F7>' M&J02K@ V_*R=O0$B/?_7P?CG72NW?K5^V>RON?^0:IOE"=@FY#)/ZT MRO.U#+J"^P/6[6VVPJ/K^!'>L20GC^J3L-ORY$/NIW#A5K G E"I<];\@/TU M0 1U])*'T\M_S>M5T9!ZQ+I0M8N*3OO.,,! )W,T@&"?)<4)=&O<9C3_8=ID M6QHU#;EU7:SVZNQ#9%1DFW70Y]KW 9V<<^;?.G4L5_ "!NKYI&"PV$O6.9PA M7MJ"?Y-V JS,K\U:8T/UAF=1K"_SNZ(L<>YX3RC '7O^S%?CB#ERI+ZQ;@X[ MT#AQSX%:D;V"Z#K4.8>/8/]Q#'/MRO59FQN/UHJ<\5JOHZT4/_F$$*8R%3I& M]QI\="=\&5%X^YPI&V-(Q0H](60EB#2S"ZIK)(2HI?W:RSXFX)@5P H+$V&< MQ_5P%UT'V P411N2T&#!+S CO]I._:&;_F:5(RH4S+40CKFXGWNIM;^;C1( M[-?)/_W/Q7@X^2KYNH+-K9*/18U@+"#4MR6HW*0"P>N:PQ+X6I'5% U; M:HGLF05KS3R,IX>,MLR9M)\2T)W9ZN = 5&WWR'^"E9!$@_OW2;;[:L=_.,Q MSVK\T)Z%#GL!1 A?,1\_;.&;=4[4..C9G\>,%&#!]V$\K4RN@3XVR8@@G,,1 M4@&N5.!KMV#*;+)',! &R<<\N<_ 3,S@3C_D-5 6V,BYTZFVU3K?P+/$'7C& M!^*Y=^3TX4LX,-@)\T]P4NN :Q#Q/";X3_9&MXW1[HE?A# MC7HP3!'>[[:W9(<]K/NC&[4"9@PR\TY5_MQ;?!3UA!M<9DGSU(#U D0BI_S- M]8T[73ZS2>63;1%-($K/-]<9MMB\T3 MTB.\ M%9N*493"*/2)0?*>=PV(;WU8[?V:^76.2Y&*B]S=(EQBD?&!I2&>_ M1)ZU^H6D\$^#FT%R76]A*=<%PJIJM"YA)F"&(@!SR8*]!M:[IH=A$S9KGJR\ M&^[BJBY866"#((-W(V-HF%SDQD@P!DFF@@-/1H,)SG6#NXL.&=0_X'[=5WLP M@&")]*9'>! F:"A$J SOYAJV,2]1PY6I[-!P94)#*08&%D(;8,-AT!R/>)7= MRDU#H9<=$%8K5+@[+#?%*B'X &SXCP>$( '7AGGY[6[0@8+N6-T))*;1_*L& MCK*^0[>#$ 3>=:!=7!W_R2Z>.D0\/]:HF>WAX-(^V[PT8H3FCUYMO7M"J=0O1= P2?PKBPDK\J2R<"XK6<@VT M"T3C'D+VY1["!2(M@(3-HT=-!]+$OTN:^^H 2LP2Y5@F0:_RYT.YHH6Z;=;# M/(^N]FT"#0GL":&L3% =! YAGD 3Y1,'E04&+ _PBIK@RGB!@5MOD]'PXM]@ M J@FN$GB<5>[ MHA3_S38K,U:K466X106/J,\$ME*V;]G,(.,#R!+W!R-BI$S8WX)^!M('V0_N M?@8V=5'[:9#_"?88N R(]\:XHU2/^R2&D-*@*^-?D)'.?I[A6[79NETEFGU& MTPP>Y$-&LKI $VXI;F!*,@*YO,](103) X)SS7K:^00-FA7P R#?-D?P-F#( M _!*#U@$ :'IUB*/Q!'T0$"/@M'6)"0?G'357X.V %<2#18R4.GLR@2#-+7< M'_KD253GV\/^8+Y0(F=#UHDZF!/O&^\QON^-6_&U9U,WB,3)ZG4#^C;\Q[&= M-]N;WYRC^&K+X9ST-RWJ [DSH?Q XAS8&+54YXS MP/[B:U(&Q<]A7V26\R9?U@>D;ACW4I8$LW0H0-CNQZ21B3EY!Z]CWXUJOT@> MJVH-HIE91!5?UVOZB63\^-6]=JM;3,=I\CV[A>#?> !;M-Q B4ZV^?Z^6K/3 M:LU>)B+S1SCG#1\SO#?;[8 P2$O M@T4^ %%78!SQVH"D]CYW;$?Y(IB)@#2]+IQ<J5@0P=VO MU?^SK.JZ>B3%'"<9?QF?$# (_(G76'+TM/CWXXS)#,TV3>5) 9<-Y@JB4D@/ M[.Z?T*[S=-"F5)L-S>N/RWUK'O4@U"RD&0H>$;L0RC/&R:4OU[@ MJM0[YS$O77E=6UAZ8%_(3!Y%,<&@X5U9:* HB#(I*WO_HV?4\<"/9:$XTS9\ MGQ@JNBE0?_T"9,'5Z#(678,EVJ6]&(_3R631]\L YAR[XUZVOO.Z/4$M]-S: MAIM719^C@JK>8?8U5+4/$E_ 'VRSGRM*-D0#>AVX#8G1F-?1[^?#+\36OB]V M%.X&QI+=51@1AY'1)V:1H=_5U6$'8N[[UXY@Y[/6".*H^XM$.MYE-7"O @@2 M%:GO]^ML$#/H2**,0*E['=V^: Z6^_;'0T^<4_5EDKP/6;'![R^ )"_(HV9^ M2). K;LK4'P!:] O\E\Q9D0Q&]*%68!YS]9#Q$IR1& >C@R%$R_HK" M9I0NSFBJF^[TXXM#ULN6#_LZ2'UG,6@$"E_)0XAPD[M;-7S;=(PFFFT0 LOP MUJ)%(:/!Y>5/,B=@Q8G?P":M12QM7ASS*UJ?:CY<'+1>1O5&7#L-\ 'J[IQ<4%6TP\< M7R$Y@@][>1A?1^&A"W;J[FH2B\KV$A+"OPI'!ZD;'3\W.V+.$VW(%J /4U%P M1]A7S+H*H^7@MZ3,Z:KMJT@/<$S$/1+.*L_YAPU<;.(5RDS6ASH+?NZ73?J1 MK.-1W.;$?XA'/N&,,;39FA!^+%?I"3W9<&[%GOR87ED[2D ]&Y^VWP-#/L)+ M]CE"?Q]+?"^JI0'1P6OP*0GT>7K!LQ!UZEESTZ,,B1GY/*HBO2%_#):L\3VL M8!YVZD_0 R_"Z@)L.P"_ :VF=3'@1B M9:(XCG?W4N[-,UT"*1/*FG+#S/T.>4OOD@PF0^5@'X\7#5.6UV'SL'==OX&; MW8OIC!,8'0:Q/2D+2;96XXMAS"$!MRA7X^KVL-D0]8GO$!5T$GGHBE]N"M E M8<[TDCT)T[7--]0\6I:6)S/&_$G=Y'?NTM[EU5V=[>Z1L(P;4W_Z,1?EAPV9 M4D6.[#&- PIYQX]_3BQ0(ENLEJ!O:VWR-5";UY05C(C=W=7Y7? Q17:J):J4 M$@0$=0;#58V/)<9"C<\+*WZXAZN(0L"O%R^GZ WXEQ.V=%-0.ZCJNZS4*&&S MKP\K8OW*1F&QH YYMF*U?+J,#T7^*)NA&X.8)=@GT+[RV^3;7X&XB11_O(5+ MD]?,[U;TI==5@0$5%*G;9K_DM3_^:R Z>^$HN7A#_J]V%!OG0Y'L$^YGTAW% M,RZ^+^8V#7N^'8UE6*ACF:\RM"W@%L S8-D^JJ,9^+E8LTN\EU8Y=N8KQZ ; M'SEA+R7'P.#EAE3@W1(?],'1/[I1_][__4",T2:1^1L)G#+ZA?[7L9#>#XBW MD)O<_TL2QW[_)7]S?>/^_2(9S]/+\=A^,$H7BYGY8#9*YZ.Y^6 Z2V>38?)7 MB==]:4+*G9>-I^GDZK+S,1AV\\FL\_%LF(ZO)IV/)^-TMKCRT7/1QCELZH8< MPC07_L\)3;(S'UC,9!&;YN7\2N/4G?>GB^F\\^DTG5UV5S9/Y_/N"J[2Q?PR M" 1[QN9FG%[-1WY&P2GXFI5>#D?F M@]$$1AC;(QZ-8!V7?ON$. /O@Q$[;1 %"WS22='^A4N_R@VXF9U:2(<^1LWJ M69UKX%EX(^K[#%[R916\1XL\1#XN#[P%!\WV_7)*(0H@8LCOY8+.''JDX_>3 MDN0*@Q&0S J69\ #+O;5!?W#2T"9#ZWG -EY/#;H,97YH\<$XF]E@47PX5Y M#-Y%!9W>PZ(PLKG.\*+!!)A\NH_1%%/UNAF$%XN_5ER>UV*NL'Q?M $0^#M= M)"HYL"8?1J4]V#RU$1VD61YV%/+#YT$Y)968O]% 4WV(397#\/A@5OTHE-K MJML]PH"2#;RU; B[$IX';?N7, -XY!8M1?)L>^1)KG">ES /!+%OLB<'[3&A MO@"D(=[!1]@)TB]K6!I):\Q^V@'Q@4YR$T[-JP<&803[B-J,,VEQ 51]B!:A9 M/Z(QF+E[Z4,6O IVX/I2&'6U<58;4'B!R[JK**92^STH&@X\J!+-]]OM#*O2 MI2#UF1S$-&)':8 >IN@,1>$T)(>>Z V/6Y0>$BC]Q>$L"K MVBXY.%(Z7()&%TG?8A78G4=QJSLB,Q"DG/N=@R]5RY\9B\A:JFRN.$+];I)E MO4,[L=RKO8Z:FMB(B[2-I/IPOK<=.PI4C3E%KT4]%8)^_%A,)C#YV&XDU#'@.); M:HTX"["<['4"HH?2Q$/IWI8<(B .7!(>S\D]\NNT&&;/UA"M^)3-+K$[>;RF MX,M*$G/LZ<^-(CU0.4D5C)\]#8V3/1Q6?OX=?@1!_1*THC6VD12J_$X%UCL!% X(0^M"KY\VQDS\Y,>,H@B]7]Q>'G9N@L\#[F#R9ML*Y2!CY]^E";I%AN].G M0S!GH)XES]M+NTT!P=G>LQI M=V WMPQ7P=I(R,[1=T 1OI?SL!M M<6$"$"XWL'P2I1Q?+/YH@DA3 K4))0KD!=4L@E4\H:ST9'*Q?+IP)$/'!6O9 M /4=[N[E(7_K1$XH3H).&U8()B[L!UAJZ^R)UX9)+!Y$IK *#2?4F%NGA$[C94;\S7@F>!R5^8C87'"O73)@VU(Q M#!UQ%P2YR6(8"Z;%0[VK)!U/XP)!P"APM-E<4?6P;S,!(SA9X>5#<9NB+N=U MKA)QHU2DV.B>]Q*XD&C%$J0\DCTQL.PC MZL$H.Q1NAMY54C"<;H'#\F6,C)MU!K6#;;EV#DI3JPG*PC]KP:F_[3Z\$YZ& MOS=M"/"I0^:H#S/+)Z4951>+\J$JZ/=\/0N6UYS+G:,8\2-RMGB PV=25Y[J M/R?.[9]$/ HH+!1FQ)C;K\46S"P:"ZW78J^!NJIUY+I^L#I5S]R@QX 6W[@: MB<@?;D$(4ES@L(.)XE;DDC)\"%PM[:$;H^X1+JCX)=\4]WA@CKC=0TID*ZJ' MR'"HFKE;&+S3T1%R2^\E[T"IF,P59ERX1>5+[G*M!:))S6YN.78K&%LSC%CTZ>'H(,+(O4([+ MJ3VP_63L!5: R#-K2^#T$9='1Q;:8J%$;;HS/#0JVV\J>Q9 MTZ[JU8F_G]D;*#A;1?GU&8U1[FB4,8>299'*,U-3L7?J L#VL7O_^IX-XT7Q MS350 O8+X /9 M!!.M75UOX9EHVGN%W@8 E^@PS4VXU$1CBJV J>J("Q>I&S1C9,#$KLBKY)XP MW*[R!$Z+8)@6'![J"OG:E N@C$95[2DP]8JYO7H-',SGE?)Q,W @%;: M)@6\.E=#D'UW5'527GP6@A%((R]$B0EWG_#E26?_GL1'5S[%5MYTE^ZU8#6G M\2*B!>1WE=/.M/YU1W!T9++L_5,@DKO3CTQ>5@^T^)T.FK9$NZD*C(>B.JTJ M;A1\<%,CR$?CB3%R5U*!*DHF8G>,9MZ)9QDM1P@I:GD6!S>A*7]5L?GHQ'CYNQ;R6<;5;[)1[W,PU<).<9V(#A3 MF8DW3H6F<*OI["+<2 5B+!AAS*^/QD=-;A0B*'W8HL#9-$4=;[D7;G[$F\T" MWFGTN2O]2*16-5)/0P0*ZE(DX,B1S_JQSU9NXY-6>4UGS?:EJ>=58U0>-$[2 M)Q@M:#0&D5T^87\@T4#SD9\5KS)8(FKYQ=:!J&V0X3E)0QG7RS05 R<([7UOA&D,6? QYS@'1SEBP5L.<'2BO6=%;]E*TZP!#82%-F#/^,:E MPA$?KIGSP&;F(TSZB8[)X++OX KP1?,/>ZY29!U.QCG23,B- MB:T$!ESD5(9G@T@;X?JHFE'%IZ? ?G4H^X=P+"#H;+-79#C3OU=9R\#A$;B> M\>/4FN9R]P4:)WQ*%1FVRVXQSY[46U$7Z)"LY?2CBL=C:H!NX8GX3B)PCP A M[N8/LM# MG"[C+WR%)CVG+-5.I-W>2@VZPLP(&D0T>@T^5*BQJ::BJE,1A)8 M4E*C@Q5VG6YZ MF\A>MUP<717- ,;^/%#JQT&WFE%ZIR+X5C2(Z+E/!2E&/; M;(\B\O< 9R7K$[ROS"%4HPR^-Y.Z=ER66,U-+"-\9 :I>PP^0*&.^6#> M4J48J>8KA)1$\G/Y) '_<-33;R7M'P$=K WC>7&QXPY@&70SG)!L"T(M'U : ME=1TB^88W77BC^S9T%I'(DHQ=K6)G878%D2HW3/0^.:*TY H )40K--F%<@- M8!^8<^#V[T0@%M@IE1,PD],QO#NBY9#R4?A>ZB.&N\PW>+N\#ZR7+3 5A,95 M1>FAJ$FZ7Q-L58H!D&:%9I(CXF,WQ>$SPW 8\5E!LS:@5"/M8L Z'B0[&KQS MF%!$$,:5MR]RQUEMZIZ.5AOAG GB$J#621ZM(HL(IO68R[I0%LK)6;E\ M^@VWF!'@QW A5@-(93EV1T!G=K0ZQPP;21O,GAHD;PXUTIO$<.4D/)\Z2BT. M%4#WN1WLY/C0785P]T=,CY.H$ MCT,0XOK9N/%V:)!1U_-$T_?7LGXNCNX#= MF^NHIAU+P]PQHB,WC;GHLP2IX;-BR/)&E&K>TBZT!Z8GD97UN/DXU:FCZ\AM M:IG-E HMR B\H'2I Z]FSUO4G]":UQD^5Y^4'#@_-1VP=-')CUYG M;_D1^[V>Y%-43R*K.NC!RZ(Q<)-:[K$S07J-DC%Y3KPDX 5B;L1*S1,'@>I1 M[T*+W08\U7;WWI@@9_6XTA@X>MHLR<<]'Q0)$-"(NQCN28H#*+(S$%GJKM># M"PKPR>D&$LYE"D8PH,>^\R&&+?Q+4@\DX0)M=.3F2U2E!&#HRZ:C$#=',3\ 1WV$5HZ=7G.<(_X//ZN1[1B_Z9[4$G8W7DYZI.6]8 MW!](2<\A -%6 6R5O5Z]B"=R/!W9C]_4MO@0T$*'/X#D&.%;5E#0N7N:MS\)@OFP(+/+PAUSZ&F5 ZP7\I M9D-)%A1SK825^UK# C4B)QS#+ L@[G7!$.^U6!B%!?Y9/=4O[<9N"G%&,K>/ MHZXIYD^E+.66^C"R>-799. HI@=N'=G#1I 7<&"$NB!P%4N5]S(*H5.Y8.T* M;PUPN/HN7V:K7UPU:*W]$I3_$K<7\U/K9[UPOM6 A;)Z+>\DDW6=DZ+N7^@ MMAA>,,&Y]F[V>&^!X\,M-,PM!+!+,1F%N"AV?]U_-%V(>?A"QO^Z;Q2OX=$? M_0@J Y!UO"^23G*F-ZD%;3_;2]2&Q$=]1.P)A=>3LRAT$?GQ4%#\U_(-23YM M\[LXB[C5B/#R15 VW.-78I@Y)7.X-)@:>8K!;%-AIF/@I[F)>N=:F]% MX%-;X20V%.Q&J2/A)JS52G;RSX+T)X( ^;;*/?2%[V00/_%8P!8 _:S#; %Y MPKGOM-"QL9FDY%&@T#_C6 V^YO,OM8"6LXRXE"4K,_UQ:F. M,$*V@WLEB%%<=)@F)1,1ZV'/HY[F0/\-K'+RYUVLK**3HO'$MOLS73I M498H&\ O V0H#H-T[S$]*J_64D;/_5H$E"N'[?@:66=2FT:H)FNP6AX+$?&@ MZK+)_7ZKA6D1*2+W.ZP@T/*G.>>*<5G*-F(%":PVEDL%V=:31V,X5>WO+7JR M=AEV(JRI+&(XBY"5T\C",]A71ORI\CVG.QE@1;TZ%([GXA92&&3O.B2$5DW(-L; MBXC7XC"=Z"$6P>?SQ:+4!84(77=C^RD;H6YHS1#_TN=8FQ$HESRC6F*')KO+ MI8%!U#%)F]?)-^>#09+'RB>XB84Q#/ZY5:4 BXYC$?&];1/@2H>>L6FV CK0 M_UZK]/BR3[%=?;SWAD0X(5ZIGQ8IF9'N#TKL=G%G>UGZD_FC_A;$2Q']H]OE MOQ$YOX&SI>\ /LN#?O$;X7(2W(OM8>OL*'L3V5[ZJ_\%E4*4+;!V4,CWN8AI M>R#S:"].GS6)1K7GOMP')BG,;M$2>5% KR_GP*6HM"4<$*!FWQ;E 8LN^VMI ME!RP$PI*85*]2$WJ[S]P-ET1L4)G1 M:*=A^LT]R&7A^L;+!8P^%T@[6])/!(-;V%(D#%5>WDF[!L^SC.,;;1U-TL>?KT#L_T+%&MQS MJ29:R(CJD?8LD"5G 6HG>RE1(BC:!NM<8@,F65F[_DQT5;(6=W_=!@QSE_K7!5*3+F-DC(EB:.F M8NCO\SM?6=7GX :3JTIAX,&SM/RB)6/#]#-$$F'-T[Y*)Q]ZE?-&*L.X >QO.W"C!,#R*J 44T:CHR+8*T.^]W!^5L<"$T; 6SSC+LL MLM?UKF:F0" G!W3C-TK W2<,]P@XESL<)2LE MF$5@KQX!D!?ZK.27G)_09F MB 38$^MDYS==\]Q7!B6Q[D"5U!)4O=KY6C-U?2,1OI3\LU9<@Q*##UL?;U6< MW_Z^(RU4@^#U:QN90U#CP7C3^7UT[!3?7E9:(EC[(GN1YVL3K,/R)G4NU7O\ M!W2!4>L^D(T MNXO/NY%Z4ZRCM2B7CDF0,3W@1NN%R4NIKQR]): MVKG0"L7H2$$'G4_/+GW6%=9I2F,:HT?ZG2\HP\%&@[0+:),'2&<0\:V>#YWL MK3,ZFJ6ZU2]"&T6J7^/,QYZ3#0M7Y4VKLW,G+2W6J%;:S_^G M7) SL?N';+?$Z/2]"&OV!3?G6&,>-Z]@1+"?K[:3Y\[\QBCIC.9K0Z%#'?K$64C'QVK'"M%LQ?/I6$46W^I+XDVP@W#)"9()=SV=,!4LUYLC<* MZ5G(489?Q<'G[7&A6\%=&,H'*AF--3M6\CO[B[7_+W3VHS)1E_[[+ M%M\4[AI7N%_S#6L$LQE+Z1S/J=\)/_C>59ZX#EO_R/L_!.]G!7H+RG^@&3F( M/4=G@/BYT<4#SXBKU._%)@KZW*ERYQ$+IDX&Y2%WJW*DOKAP&,KR/#ALC6)[ M6&)'X^IG3CEQ/4=]TA0GG]N'Q9]$QE#V*\L4[9I&RC\V2DT0>4V M\E*,,)OK;K_2RE"J<(O]Y,-7S?98V-$!+(5T\9)D>&F/I>IXT.N M.BJYPX7I.UT,#&14+6V1F9S<_N$^MV_SI^>ZPA&Y.,"8D":K/H;"R<' X!$L M8IL_)JB3:;F&M*\:"G*5)=]C]LI(L@W,/R\?BKHJN2T]!_&,]G>DL00CH!5G MY1$8V%Y"2ANY!GLBV8,N[ZK.@CG2$&R,B8SZ5^.ZF6<1[!X;EF:% MB #*+=!U$JX#3@A%1TZ&&#?9$'R4FY*^UKWS+=4PH+1_PM=MB[T$IF"(N](] MF?K,JQ >PU,-CJMB0-J]](KB#T&@5Z%*[/J<%U2%N])2 *NGP!;@%B(ON8'( M*Q%--!&/2X=7"/1C1RY:/ E&B?_%EMG4.Z2U^]!$I$L2]$,+3$*V[789S-1Q MM?;>.'21TD5018E^&JYL$[;KP-/\NL[^ Z: Z0%*+AB%E/PP_^W[/-NP/[MQ MX E,N93Q4<&*MGD3?2OZ&JKO*?/B>TFDP7FM)+V8'U,OUEHC[%HI64OJF,PY M7^4A'!F]S5C ZR[W=9;%T(3G0453^4+"@(2HPB_T4.S^F;ZX#D O2M/FB1W- MIN2K"4#T-5LQGE[?7 ?SZ?;5ZAX2ST(9UNB8SO;[F MALO;E*!W/YIR-0W]XSX6DV%G]$*)SKA_P0-_#3]QE4(O;.W^<+]K-_6@IW?/&WO:%^*/4-2Z$E+8)=EK;.Q1 MQ!XV+:4-$6%;M5(H_L1-;(712E,[PZA[MDS4%=^S6>K,(9=HE9,)GN,WK96+ M[>_S3]X%KS3%)JY^HX AFE!FNZP;-A]DUYNTC%Z1D NKLB'UG+[/WAH\5 MU+$:=KJ 0YMH@D)Z[@+C55I7A^4>KKCK4IE&"C,B"IN,1^<3X59%>KDCW*%1 MU)Z+M4?9 LP47[YA:[EIJE5!!Q2F[[3\.<%]/>X>">9&X /S/NZL%K9;:HUN M2+ %$>@4W2K7_C-[?-Z".0/2YHDPG+>]9^2 WCRQQ@^B3"(U2/5 EOX900RI M9,.0I3@Z?B2T(9QC175))1F]%X!']TF@YE6UJ[U4,Z"&)HUX,QCG3U_N M__RG+YOBSW_"_^W_?+V"&7"?Z:;]W02OB?_:,;=O-]D!2"#Y04J4<#M3IV&5 MR?7A#I-EG7RENIJ:&*0> -KG^%#:4E>^E:Q7MA]?C!?I<#A,J&R+;W$0(X.! M&UZ<70WWL\?]X$BF+QI?<33U@DJ KQ^=)]MU9?&$TNP/U((!([Y4YA#96(4> MF<,6^11&FH5G-7F)-=V H%T]1& K7!V,CGU]0+V<-$^*PV,5"F\O>(QOZI9" MU2I$U(GKI FPN9R)PD##1FP2WW*EZJ9!\5 (0Y _W&Z=T40F5 DR3RX!#-TX MA'R QOY8$>.WUH;M:W([G*7)U[CWZ.]Y36TYLI!"23WQW4%-?9$8G?A>DO#O M[[&.0S*!EX.UW+BZ$Q96O'_>Z%K[Q"6K*N:BQTTR<.'1^'!9PR]>6P'+6^#05CNPPYMI(PEN,LT\5@^ 7RB/$(_T%+3>B? M,KYZSCG^RA@36$(J\&V&.(I?#7.--]5=9*741Y"%)/U)JZ]0<_PDW*@^[?!FJOQ7\=/145%TL_!4/]ZHY@ND,%^77]E*VNQ1[JI;ZB'3[FB=@RW>J>+.(DVJ73=OE MZM:%K)_PJ"E/@;L5X<]T(L0_#];UQKS4LWNN+R].3U)9Q3C6 M:M=(S C] 63SAMY&Y\4+$8/[WD&$49$;TGH;U=6(( FL\L3-8E#'0S#!5@OI MTQ6B2CP,3'0V2/M-\+L4H[B_E" 34UM$DBTF(4"[-3I69#WRHDSC<-]X0^2, MAK^^ID'L*$R>!.>7<4$EU4F)YL_E,+AAZUQ&<)2\?$I>S&?#3DU8PZE7WJCU MWF!YA6=;2IOG77YGDTN/C?.KF%9'C?BV6^A#1:?BVQE(GK3L>?DD+W%^YZ.' M(&S MU[EKJM !XV&-3=83%?:&EB&);P--N^W[S[Z,4<6#>NY%M'>_L&WCDUW M/_F)&7?[D3?(5_\7T9C#1!2WH+10EL KK''JM12_I-=9<\^%14RCRUDZFU\F M?ZDV:RKU$2HXIIDH*OJO^Q0AU^;SZ.>M]!H'Z< M*2[\\B18UYB*W+9I:SJ]FB;OSB9EWY7T5HL9_.[0AL)\?/ M5%$A=$8CSC3VF1GSO>U0%6>ZPYQ;_QSZOU$3_\>UF?8K_7NWFVZ/\O*G,@-E M#KCN*U<:R+0,3A<+VT*X738+>PBGDV'L)S_()OLW 4N9P95N$[?[?IH.1Y?] MWP,O2DC_4.X9P=G+JJW"HW_D#^6-TR6KU M4'S9U6-AG7?O4W-\Z*&]2;BDSHK[ES@(T2RDICD<2P>>1O",W!=N[&))&*VC MUG.-#(I2&2*QK$7@3 RBSFS%^IKM@@%:>P/#$TMGPP?_*=A"2(GA7]V+?;E( MIT'[]]%DG%Y=+NC:AJ@7+V6&DXF]S9/9XE7D]X%]R:B/;15&5;NZ07HYCO"F M<0H<(/8.1"IS0>-/>=NI_WZ=-<7*[ W(2\OA7L+?,] RBLW!JJ]]OY,/VJYM MTDK)8,1_H&X%UI/S;G(A'5I4@TG@I'*TAY@.DD\8)=2+G_FL)#+FKH67X[6? M+TP=S0;AYO:O2)29/Q;]ZWC^E&@HJSQ/KA;F[Q%JQ5=X__(GK76D<3$_)[A( M"W]11I-Y.A]/7&..OCTWVM <]*F1?>WT*IV.QLF-1R1&3^?" 5^QD/ %JI?/ MWX*_'J49V)-Q.K^Z,A^HG.8%-B?F>,Y(SCJ@]J&FAUJVUU& ^N+#DT#9<+U6 MTWH%73R!HV/0LU A<.,8H[:1RWWP$O;.2=#4]-'>93O)G:%'3%#->,U W.:N MJ:D04>K3!';H=2\')TKQVA!!NH7J(Y&H$ M)23B\8=U75/:2;[?8YK!FT#;$2WGI-)SE3*,,V\BT6'X9P:$V\_- M;-/D$[%DJP7#5$K-&$#0!(=RN8%6NRP"#\QKCP[^Q-^YY\7#&]1Y"'.03_L: M&:O=B CY':PQMVV]'UQ+3!\UC.\M*@ _^%K\=L ZN@ HP\8N[5^@H*=ST)/, MP^&BVY.F=[FL^#^+V.[6/1M*OK M5JTF:E2-H;?]FT(\?.=SFZ\7O$KGX_-0<"$4[#3EF,35*$T,47>[Q02(I8NO MVN !YT;V) C[Y. 6!+R+;^IS43H;#MV+.EBVQ)UDW.#S%R?_6S28*.SC[?=)-UM/!Z! M])I*RI6" 'U)-"J$ZQBZS^PVA<9M91>=45#:)0K!3B,S8A9CAM'<:7PZ8DT@ M4]W!-'ZE@!5FEA6W>W0<423*\#Y!7,C]/-;U]5BS9>\6HQ(YR*F*IN^W#O74 M=6*%\%F_VEZ^\8^EG-6YNTM;2I0>2N;ZH[NFF&U+*Q[M;/_JX;?FS M9N-A>C6>F$^F\VFZ&"XH8.\:%W*"/E>(T9]>#M/1R NWZ3"=7%XE-UJ&43^? M7<+G/FR*HG8RI0C%82\0YU;@>A:XV$;3=#R:(="R++@&U&WQZ]Z5 @$=C>I8 M=(89IZ/I(OA+<0#Q0_;KFDUA2_Q&SA:3='@YA[W$J.39A^\]Y9/A-)UCOI#W MG5\NTL5B\>KHA%B?]0&& M,5:W77HA*!7B/0B_A=OF'Z?:_OUCP3^$%4[]H5^ETT40' *JF-C0!NANP\O@ M@TDZ'X_&"?5SN?Q^++O_H+ MN!C:ZSB[[ XV2V>+KK8\2X?S2VTJSP2Z1B4"H:84;W2#7OHUC*==S\ULW%W5 M;*A+OQ&M*79?/!EF'H-X7*0*G&;P26]B$-:FC35>3M]CNE38+7\[9!MM.>.*V%-[8^?4&.'%S6' MC+'%[P\PP&@ZO586PZSD9D]&@R' M7W#+9O@=UK=.KL'"V20C4$+P_^0OM!-!C,J!Q"9H-UX@ZY6KS*]@AZJ$B4CB MJ1K0KCQ<*8T0VLY#TR.&':SL#:WS#(S*NF].FE;4FA=2$E6--*U8-Q6GG"XU M:4IKM^7XRJ3!/@X'K-4) I?1/!C$U.:#5,(56+WSCDHD^$G@[3_M",.#LVC( MI1^?KW9[R??[C:3Z(^MM0YJ(#2#,RF))4CY9J?;J$KZZ@*Q<@ M!V_RC7V%2:R)?K%&<$R[:@,2F!*:S9(0?Y8KS]W8E7G,EUFCJ^\7^D!>3,># MR=;ZK".I(B/^VI%/6>&Y?_VVE0LI3:A\"A> M;#?#&3&?42J<"UZRW=D*CLBT<6]&R,I)))<48 M'7?=5REPBKT']Z7B;W/SX@0* 5MNLD8#4&C999O\^#GQ ?GLT#T9EOMD-/&K MZQ#;GDJHE4*/G*FD#XZ'EF^!(-36]"P:2>V@5ND/^2OES7AVH$F:KP+>)[&& MEV%4B%9J?P:S->#.5QC"H6!%J66+@PT\C[FNI>$,WYV05"5/Z['&XD>EZ;'G MS\83[U]4)-WV,&.I'Q&\@]RQ3F'CE+[NTR3%Z,JLI!!';N68%(SB>K.5Z!GH M7\7^JYF4$Y10GZW7BHD8Z!UG4(UN2$0:[^-CF9D_Y^80Y+>Z_?2;H?FW_OV4 MNPU++UF>"$+#B7D&$>6NLE:M=TF/@>!)U/,N MV"C'3\.\L;;TPLNE^@PV+\DW*F7X)'K)HNBNF:Y':\%R+X^0;F3SY.16$@SL M8;9V#ZFX/RD:5&ZY>.#;5N9W\&[R0JU M%_L(FIK2,CI0:C_5XD4-WWJ A. M\IY3+:SG26E>@J_=?+Y2P]?-OY[K4!1Y?*O<*D)>W;\LN[(7E[,!F%]>/I^E MGYAXQV?< 87$6UY:A(FQ"$7.VCZSN$6G>__,^X^9F@3N@>N3>&X ;7-DZO MT$IKT-FVOE1GJ"C;V=@1?82'H/G HSUBQ"S!,6+/.GS?\W 9Y@@S(N,@=<'1 M=:M@52LSI96K&=FZ;B3Q?/=9QPD<>,;>9:WR$?U.@Q>)F,_)3Z5/QB>(JV\> M[R(/4[ J1L-7W=^B3"$_/J=;^ ?2T7#*,'_"J.+^N)D=F]5H=IF.)B$"+DR^ MQ]!@Q'"E2/!\DEZ.HD7/^$+Y0@+AF!&Q8ZIW!"UP'9)+&(HJ8"WU],BICV>F M#AM6\L>BM>P_@5]QJ9!QI"3(?0'7'%2!IR-!_.+VPE^.$Z2P+C@)7S+P8Q?. MD_HWD=,FL&=0R*$TMIU3<%KE@;7*;H\(Z;ZH)QXEV#_7QR#C"CC_@>;(WQ\; M_&P85CO'6V'K>QK*.J:T1'.KDV#W0)\[A=\^,!8$O,Y]B.-?)P-B'188P7SI M;Q2@>" UJ[6/GMG,AC:J@IX3SWBN6W&<8^QN/!IUICDUTXF.Y0JJ&&?[M!N> MF,*G/N;%_FC#Q%,+-L;LSNG$?PEN4IG)CGP"O3P<(1QSPC^>HR&Z7AJ MX!Z@G[0'F?0,,C$+&2W,LH;=VP<;1*I/N(,^)[ 3R0'=$JSE-]F*+E;[:^#Z MK5]8\_1-OJQI_N[&!.9FIL]>NW3]ETCW&J)I?>DB-%S=5PKXMBKP?YV5OU#: MT#;'"G]I\L/@>D!P9[2GL'X M64DO%=)QCMH@+ED-!>EK1P4'2H%OKXI0()B MD8]-_D2_2MUO/?2^/\2$%1Y.Q1K2ILI+M4@(5 MVV$^X/??P_?R'.N@U1T[))TGH^]MK!F&5*+DIS-Q'=.Q3)=KRF'-UC;=4E!. MT!48#>;F1<3@)=](_3.^N!70N#R2.KV-7Y:OC[R*(WE\5$M,=]L4Z..5^L-H M'&O^1. 2(X>:],QS@N!(9?C2IU5@E76LK*_MH.JC&\QR;)*.0 V(/^E.<.#0 MXI%U'QW?#:&AFLQT//<*+MO:<,NQTA .\?W;KW]\SU[(T6 ^^R*YP.)Z\%\X M/[X6SA7PKL80WWLZ,_S]4'[/SZ&GA/,NR[5K+8*)B1GU>857#0=C^OUP8']. MTAM=1]0SH!7;Z%LR:\=^S:XL\=^ 0>ZQ%JKI7W,;*OC>B.%HI39)$;&)RQY,&U#YFUMES/N M@+:H7ZWR3=BQ@=V?VO"%DZF2AZ)JMS<31QF;*T#TU%G*E6)&QV*9N1XW6G*E M)5,LO]=K9A-9=0STIK 5XP0%N[YQ>6R H;;'1N\ZO\VP'I@XKDV \\#+52L M=L6*7DHY9FX+L8F"Z2Z'U(BZ&SQ9:V;.BH #^@Y7-8[\U6#6/5#!;_LQ[0;[ M_BNN!EQ7FWCXKN7V\QWY?*L.R8J+;5+O8=M=]LV4/>6'!BG#-90_;G(ISD4B M-#W]_)XLBLACW-"L[S'NU,P-AMDK;9_6;'C*72@=>M\PXG?NDKI[C 7HA4+@ M6OF[_YMHWOY][_1]S]2<)XNK9VO*\_GBV;IQ]YG3VG#WF=/*[V31A5+"*DF* M/<_K<[P=5.#O"0E]$#?,C%T7L<2.>W[:E?C[73__(*_/]4FSUIK)Z^>;VK(O MO'\O)I>4HWC.>^6_O\%+1Z.IV/;8C"I,X_]PW_9&Z![&-$P"%!U_,_5'E+R3 MZ6!,@(_I8/K%[C.G><]H MW,6:H@-N[C]OF\[<*K/]Z6@XB#31)"C5T9Z-E(OF+!3.!@'.@I7<5V1TRQ\4 M'CN46IS4X[?)380M1#'@W4CV"BN$K6:;@NSR.5JV]5]O)EA9R!\"-CVT4R9. MC(ICT:4A[]ACI4ED-U@Z0Z(HG8D&C0A+TGFW6+7,-"6LRX%1O%S3,+4OJ&U_ M;J9K42?\V[5#Y/-\%,#/M2!O@_K.6*>8U0NT9-P*_97^[I0 MJ*#HS3W1+SDS5X$@EF;$I81>C,;I>,&U;,[/RVIG=[='QO@C)L1-3 M^$VUP^E]LK)^VIV:W 5(=J2,P_5&^'*57B_FK(P^W&(8^^G(TG+R2N_"ODO?=3MZ^D#T[0=F7P3Y\DC$^!:)[5IU6XDYEFX-E..[[G>W)=/[K@U(D MC!SP]?37/A&"F@I,QP9<$)8@O3)MM,(A-MR- M6]6O6)?!1JOTYM'FMGJHOYL4]'N@RV[_HF4YR)_6-F-./_JJ4R[,6F>C($$/ M_[ZZ:@>[5M* M+\>7)T:9]HPRM:-,KCJC?'!)3'ZAZ=AD8[H?LD0^2M5NNV?I:#@W TYF$TG= M?TLE!XR_Q+'@27HU7YC\_-%D^JJ%T!B/TI$M"D!9HJ_#MF5)\C/Y@?=$GOG\03@(*V;^=NQ@M<2HCR3 M%81BYBQN #=H;F%%8!3 W\_G!M-9R W:8YS##2:+S^4&TU9._Z=Q@^E5Y'IV M[_$B743N\5^/7]T7R?@R'NDX[!B1OWHVG'-1I,R'3RU>G9M;WWSDU\(AP 8V?;\ZC_FD*I!?G ,\<":EV?-6;G\SP0DF0 MC7_Y+O[E:#1(@J?=*S\*NH6Q+<*CI/U@S@R+(I1WXDV@HO?&[2'.G&-.NL&9 M+,Q.+Z;)?+*&$FS-I^@5HW'[SI[F'".2X,]&9,WB\K(K*=/YY?"D:)R..Y(P MG6-A[R[1X_YWJ ,KT\_BI%U&R0GKW_?2[QL/HC9F8(=6QX,D_DOWEA.07>^E M+7SOJG:W'U>*2U[0[L%'$;4:P[FU:]7Z]RMA<]TN;LMX])'#I6LK2SY=KK;[ M^T_O>'WV%^T*[;&V)MU/Y*'CY=$OT:[WHFR6+D8A3-".*?7/I6I$V#2)>N)< MS2V4L#5:;(Z7,Q#]8UO)^/??[)/-L<[;7FRA%?[%^Q(OF?%I(_Z]KH6Y'EVM M]O^.*Z)="YZWY6&O@PY)?]Z@_TW5QZD:PRKQG@@'['_['[DC/10R/G,(FPQK MT?=NZP,?]_0#=NLT_A=KA:!18>UWKAW7:RJ^NW_:<4*LV6*I&EZ4#[GTQD0E M!*1_43$RA6-A5+.#JD[ WA&<(9*Q1?BJC624<:*[I(WYRM(21ZV66-5206V5 M-L5(M'7T-P=JBD/03W6BNM$>J@T*6C#S4)2JUK#]3=Y4 M_KQ)18'YE7[J&G-PL8Q8CIK?K4%/HEXPV%,/,5-/W!HFXKM8X^0/'"3.X(^B M7E\@^O+)I6LW,/HJE^[$6.N@-/4B<#LDR,^-&+%W/=H/Q;8 @@GH?IL1=-GF MZMI)^"+HC!#U)^@ZL^BVZLEM*'D_BT(&Z?9SVFT/-_+NVZ[J:HC_K*W>Q6OK([@277G8.V:C*\S+9JYK3( M:BG$?/&H3FQU7N=K$V.B.P3SLRJR2\%L@(50CU@J(&EV6IB=+8V_@FOWX (] M?D+2<0R+B? -X74]%#E";QW.<9# M^W+K%(OE+? -CH,,KG )O=/'(J%W5:U]D47=.JU!: ./-*+#L>!]Y['9O6]O MZ_ZO77L!,_WVC_RKX_'T0.ZW#5/;7J]CM$Y:[?=T1/^A]OFF[)+%2*O(Z+<: MI,9O7V*W1NT5V&W-1R)R-D4'&0[R#!Y)3,;C4>#H9G;J:!XS\Q0 8MT*%P76-6I\;6N$1]ZV%>@ M@'#&B].BUBRM\3:RXD$@!KQ"1 [/[MV@$T6Z?\PI\\5I6';_GMOGT@NKCXJ< MR[47RVV^YI0=0L%Z["C#@+ 63O8K7NJ?@9,TZV+EM3=*W#%%%;!+I[ ]F&/P M>VUB2;]I"%R&O4TV#PRAV>2_:OT:5@-MK2$'1$-P%XLT0JJ1Q"+5KS41F'"F MA4)QEWXJ"3Y(]%Q50QR*N.O"C#^ULPBFSC:23WEH9]NPQ.V,Q0_7F).X8I\UGB H M1.2DMAT #*R.\X-0-R3NP_J!*ZJ/]DR=/?H:7%ZYQ9)8U /7)Q=),DT/$$_; M^W3G3:DFR"D0@8>UTIV>9XI%(L7O\%97M8!-729!";><"%"U(M]^H*0%W"+J M$-91^MR:)KJ!L?H@GE3NN+@Z5L6@)$C]Y@VQ>\R10QX"_Z7%:@E*DPBTR8IM M@U6:BCWE&:$%Z3 OG*+F1P A%9CH3>CVJK66D=(WD1C!SN(# M!'G7OAC*4Z? 97HY'+J#]8>*M4RIK"EII&AA'*ANLJRLL^(3UU%+T*EFP(:9 M< \V;2B #V)"V86_7GI6RK[\-]XJ;5PZ<*38NJN<[#N?/:OSXEET+SWLZ/;] MHRF_1[S=4)DMV$[T2CQ@GFU6=L7:#&S0V ^-/0JL91.VTGB*?^)^=V\*[;,G:HF]2JZPD[DKL MU,@\+MV+FE0?4CR6'A#>R?'\BG+Y>^KLXBO?W_S4<-XCV;/!XXO9[-CC9,O' M\\3=5GNF^$,%(K@FRN95N5*]E*CKM8=K+I?-L\OI)J&M,!P)+?4>^C \=*EH MMW?O<2D#P*I_E+WKF[Z,Q<^R*L::Z%(K<+J$B0(S\8!#D"\!^;%!(>.$+]CY M@]H_<(HP>:NO6TCU?W.W$.\N_$=U#8GT^'B13*:V0>EL9,L-+69!XXIT.)N< MT]5C8CJ/V*8AEQ,#P;L:)S=@X:KGB)VL^)?[A9G8Q(-7(8+H._KZ;V[VDZ6=B(\"7,W;_L-RFTA-!( M1,DN]BY"[-OB$62PBLQA>2IF,J_$GS2+@#9HG)1S1J(HLD9K(CY ) M5=BR<[O;5$^Y&/HHJO03+SI9\/%8:Y.CBI*"1RNXO&.3;,>AOB!;W7320V<&Z7M86H/L"#@*ZJY*Y?Z S]P(A5[ M2=!_ =0J)^/XE MIP[697/##M_FU*J+NT&9]K6G<\S)$P3Z6=[:.I,#;/NU[3OGHE&XXO,R W[K M_RKL_^(W&_%:\@<^=T;N@_>.BLX=X@=7B+AO4MVFWJXW97LP54CT[V\UO=29 M\YC3Z?5FT"_+IEBY3UZ"HJ9!N5=8)0)HYR4YN5YAR2I07GXTJDZT;_AD:(7@ M?#"]2B8#*S,G!/O1F:%W>O;*?#T;3+M)8'W_?4U@ZWS]I=P7.8GC&(-3_PV6 MB.8@3S63[A^A"WJ\N J6.\/E6@0(R+@K_Y/W1J=W>GL_X^;K*PR#E&SR"&D] M?<>RW2=PT1LLZ[TYRMTSCOBG)O$(K-N8=G6&]3EP!J)59YKI$5W MCEJH(+ZTGAE593@?',1IVULB8)9_DPG"GGVQIKX%X0#HC--G/V6!G=,V=EOO MB;N];XDA6FVDZ';8 ?5GUC*:L)1S.QBO#IR[NGK360:]O#5R#!2HU!!QF:ON"1G:)L+WFN-:7=H5Y-?U/;P\?5 MYO$EW7G?T.6![DC:&T)5"$9E[=K/^CZ:S_4GM@OM0QI=$2I1Q$'&I^[WT!6;?F"M>WD-5SA3/]T=4#7C=WTW# MC5V#X_?M_9E[R.]UDO)"W.!;DB\G!?AE2(%>E.0@&]6V29/M1T%7N&&ZEM@:-\W M--EC8:]]F\-PO4IE/]AEH?L(_G 0*6?*==O-'>7(W1ZEF>=3PIXB#(&VNN&]NB 9@9R%ZXC9B6#-2,GNJJ\U&("DD=;%;G%Y,]LYV$HD(Y4A0D)<8AGAE M-CW;@Q*Y/##FB(2+=ZA*6YF.%_URD'SFD,8E=S3O8R^%/@Y[!WU" W4EV+ - M)7_Y>Z&+='>4E1(] D8#]AWT"$H9^RJG__/>D2T!E'E49.W\B=4>@0 M'(VL5'HY3:\F#JETBGNSU$: M2\V83M)YI/TM_/IR.I-2]1R_VK"<#>)&G>=&5Y%71-K['K.%\?/(BXG#=MX7 M:0T]CJ[HU!M/[&V;8LPN3^;=NS'EG/+G[?9G\L7?G_Z^#@CL13(<#(?AG\&E M&0Y&@2X('V!5E6\ZER\81_][?#2O!].8^N>;YR(+L9S[KU*31FI6'T2Q)+]0 MX_S@CN955NM/79G"=DB10W#L+E!,8DL@63%$6#!SXHTIP"+@9:PU[/N)/>2* M*&,*$. M4X\>6<#-)^V^M3?ES @.U;,+-D:6R[ &/2+:)4Y;AFV3:. MV"3OX.&;H+_ZCZ5MN#R:A"W[' HB$P((.CI6H/AO6QTJM:(_%_2OSN@+)ZB6 M"HP;"52F6G[^@4F8NI:!O=-(E6G\U6%'L!'%QMAXD9_-VCD9L/1A+6:C9'G@ M7?$ 9.(@ N#$N F6SSZ48A;$P0BA!:$=H$*ZF"\+XE-)C1]I6>6/$GQ9W M?+LE?YM.1VHWA0"J&7;Q((N3,NS]J-WC)F@"TK:#-/!N9E0A8I.M\K4:QNCL M?!Z]C#^'7CK6T(WW(=FD#TGLI-2::E,0R/7E._G7J_8@7W.8[#:QQ=_/^E%@ M^@1X"H*R%=L^7(5'3!F$A87"E9_4J\H@WQ%B7!).7"U@]^?YD[,5PES;8"KZ MSR#@#B,B,CUHPD^=WQTVBOR23O;?ON:,,YE"]%UP!VA[Z^MW]$_L/1+%OE>N M?XM["#,MW4-<-Y]_[,5M+:]>?#V6K):L>YGETU0'\A 1& MWFDFJ*Z?4FJ3\HDCCY/,+DZ10\?%&^P!,QI>_!M,8*/<08^[4AC>R*9(?0(U MFB5Y/<)1HT0M"&O @6_1062VY^V3XSG :%D[V&9E=B=]'32WAH2_;1TK*<22 M4RO(9%^>(OAMF6/W3NJ 0/UUR)/FIJ%R)(Z?_&2&P)Y%6S;QN9IY6 @CW[ M.TDB65U@[>.E9'8U]WF^YW(T*$XTH954S/,)&D7VN@+R;7,$Q/^"SHWPB( ' MX)4><,E0(#3=6H7*ZH%P0O>:*N0\N/YO^FN&Y[GZQ71V)29$( R?PX*U =A* M0H=^H43>1ER0/"YSV6-\WQNWXFO/IFXP\$P1O:\)P:ILY\WUS=>>5[$.$WWL MIQUY;?6YZYN?W&/XZHOA/,5"-;YV,RSWAZITH532)2^^)E5+\__,B\QRK$/[ M4I8$LW2.5]$9>&+=NI,*GD;R6%5KC@A0NDET7:_I)U+3R*_NM5O=8CIVA=*P MD.(.E1IX.!:+7/A7)5\119E"J72 M:I&Z2,W.XK5ETA^YD%;F&'LAES30]+KPRW% MVM'4'ZT:SE<'7< GWH 3DCV66@5R=6ZK_M?JZ)0S M6IQZA>3B"_A"TEK\\,&8:LP),\ [9-(."E!6?+I!CWH02A:2#&*?<19#>=XP MH?SU E>EWCF/VA>"*MFI=\#7+")^"9N';VG$,/4NO:E!MF'U? RE%0YDZ' MXJ0748E>@"RX&EW&^AF8HLB$?1V/T\EDT?=+N_+H'>_-*GGG57V&?,HQ1HR] M(S\-3#ZOQ#Y'>74-!_R)A$KZ0?'V5-GFYXJJ@E2/>C3%N@"^GC/,P[R.?C_' M4/,CYG;=%SO*Y@.6E-U5Z'"25#F+/?^NK@X[$)#?OW:D3FWO[ A?5W $5?*7 M:D.G^2ZK@>\50,JH@GV_7V>#WBJE(U '7\>VK[WCQ\N+]9?XT=H]*,(U&_," M:/L"RT[8'W(Z&-RQ N6@*=S"C;W93>,=LL8$Q8N%BYF,83%O7:&;1B(5U/T) M]T[2AFZZTX\OC@MK2#&6L%R)D4SJ#03^RB!Q:N@H >6&KZV.T6AR%YAY=7X/ M],A=C6T(@\N8N-& "_ GF9/4DO0M/>XX^[3DD2^P \L%T#'6'ZJQC=R*@,:% M:_\N)7UP*BO-7/RA:E4FZ5^+39F351D?&BO/ICHNEB)D@)]6GV!]_\!U>T@@ M"11CXN=D162 MZSRB)"6>5Y^+9PRQW6S5I?:BSX.=^V:1HR3HT&9+8 MD>\;2/B7<$+XL98M FZ$6+&BC:D[2D ]&Y^VWP-#:N>5-? F?&]!71@-T0D( M#-"PD9N14E%QZ]I5%ZUNGX&O=THJV#0B=4] M*P0C+6'M_0YY2^^2R.:W"W%,I,/C@[):739_+*<7,WIF),2=T=69E,NNV&>_ M6O/SQ3!:Z-;$^*A):JQD"686+C<%**5KUX*7^ZC=YL19J(J$].-EX>DZ[,1X M..Y9?[IL?N?N\%V.OO?=/=6/<^[1YS]A, ZNT@EN1JDR2PZ)QOF*ND1+2@EG MOQ(:[A%, .KLM$)LLF([X7X1]%%BGCC@!UFMS@/[ZE MSEM+5&[7^0-5:VL.6#:B23;9;E_M,(\62&J_NX=Y8S$/G+3H6KS+.L.+'/M( MB?:&P!D=$2\\-C!%5[1;+X7J6/' OYRTEH(O6$7M+BNU#@;6_UN1[% ^#(LM MJ::S$)NU-VRU+<[HXXT!J49AP_LBO\4L"8%9_L@P2V:8*_K2:\W P:A?*Y9O MPPPE/=-KH%I[8PE+O>'2O'"Y5+ZBWSPCL9@ MP PD_"I#*P]Z5WW_)WUS?6+S6/+TPGWNYDLZ!JG!:(%3,4Q3A94=RV0O82-B6"\9/B-Z/IOZH+=L!PI0N6 M@, U+O;5!3>R=#)3YD/K.6#+;7)64HG,,G_D>$[LM2SJN%,6C\&[F(DWY!X6 MA5'9=4:55[5PQ>% O)L>)%HEX% M:_(A8,W+Y5LL.@D+_.:PHW E8R4:TL+Y&Y?KC)-]B,WU49F$#-RB%YV:=CA- M-O#6$GH\;VD2Y&>%>8 H@SU\8@L1;K@)4V*9S*8B M#XVKT/,(.T$J;0U+(_E^@9E>0'S4T328FEMEN($T8C"NP$JLC,YB3\?"O6D7$[](_CE0'A JHLN0QHRE7* MW+WTX19>!3N???VSNMHX0Q$HG)).[RJ*!]5^#S"%79J1UM[)ZG:&M?=2@3A$ M#F*--0*:LV4Q'S6"J.'$DKJ;TKCM1G"<#="=D6J1:D?FZU;VBRMDZR ;G&M3 MH/WZVG&MH)8;,BN\5UGMH^A4Q,LIM_21VTNJPE1MEQS8*1VF0B.CI*&QTNS. MH[C5'9$92)TA]SM70]ME\+!>*YLKKEB_FV3,[] TY?0=/DK*H:O#/>$WJV7% M[T\3#8'KSCHR\/673+S%332^VWYK8;XP)V.=5T#VI6NEWIJ8B(NTS612*<3A MI;N;CCU%B@3=HF,DD](V5-UWY7!AII"N.PGU1?BJ3!(MEU(OY"*@#-]0FNA. M$8Z,PAO$@4MJ"^WD'KF26@RS9VN(5GPF4I?8G3Q>4^ (3TWIWXW)1TZQ0(IC M8/6P(S>2 Q8;-&4;*9TB1*,]%?OG\Q7^ D:KZCQE8[-O99W[T"!.!963R#': MAQ4@&CUY'AJCDCXB^OP]_ J$N)3 C&RD15;0COZ>&SH(]->^S72;'J*YP@UV M#V\-)J Q0%JXW@IY=EZWV F@<$*6+[F)4@B>&"&(L)6K9&R2PQQOCIW\R8D9 MWQ1\N;J_..S5Y>[G6RBU4 MA@!C*\)08'P,A5P.+U,5PZP>>H9$^_3::0X.BB65,7W57R[VW9"W@:*1A\UM MP>1C9#)7(!,%R_A18\(ZU9>TA]YEA'G+-EIFL552NWMGEDQN!#WT08F6)F!W M+57D"/W:-V$GL:[>0''_*W3:L*"\=#JQV 4PWZ ;;?. MGGAM6(C! ^ 4$J(1C+I!R(K+_5:U'9YS%>:3I1##ZFDEQ]@=CSX^)70:+S/B M;Y8*P'*B_!&QN>!>"Q&N.Y:*8>@?*PQCU5%GAY4-QFZ(NYW6N$C&O5)'1Z)XF81\#)$N0\DC>FNSOF$9' M-S[%-ES-)??I3@F"7MH>0U'[*#L4*K>A$JYO2Z];X+!\&2/C9IU![6#;BJOQ M@C2UFJ#6C/J@Q\,A!A9)$_8-UDBB0<=C!1W(K<-Y4QKI;VT(U1]PC35/R2 M;XI[/#!'W.XA);*5I-*'#51,O+!=_):] Z7B2:F0I>DYL[]WY=NPU".:ZEI/ ME4K!LD6'-RZP;=V\C,"C:N[F[:;]-S$5O/*D]CE7@Q8]H5K-3<U"4 P/7TTUYU6UIU#6*^;VM5>IC.O(*0#N9:F/U>HC M?D0#0CLZ+#?N-6.RG]5/4@608A4/I<-TH-L=$8%2).3SOX]B8^N?(JMO.DNW6O! M:D[C192^.K*KW(1"?#U=P=&1R;+W3V';H,[T(Y.7U0,M?J>#IBW1;EJRXJ&H M3JN*&P4?W-0(9=)X8HS<%2VL+55ODK(,;8# MP9G*3+QQ*C1%O:GP["+<2 5B+!C1!'7N8QV.!@KH4"3ARY.?2(.)C5X'ELY8B:VQ?FOKJG-G9L#[! M $6C,8CL\A5M!Q(_M$5NW:QXE<$245'Y-.C_X9@^20-B_3RU2<%87*!W M;@1WHC9.*_&^;6JE7K&QC OA.P1.8<6NX9)=F[RQ&=H!]MP1;<=[V6'"QN]F MVEZXII.4(.J1@3W@X@F"B]\;81K#(H0-U&/!6PYP=**]9T5OV4K3C <-A(4V M8,_XQJ7"$1]4?&ZY7F("YG@)\H7;"#EDN.^GXQ_V7+G,']%PV,G$;DP7>#\9 MYT@S(3/'J37-Y>X+&D_XE"HR;)?!Q%B+M A6"G*L6VV1P[L/01@T07.IM8+L'1MJ(AKNW8,[3O= MBL1T?X#7!@0F]V7YN?+W &PSB M_4ZTBPU(A=)66(SO.O%']FRP0'&B%&-7F]A9B&U!A-H] XUOKCB%B@)0"0%! M;2*#W #V@3D';O].!&*!G5)<,9,S0+P[HN60\E'X7NHCAAM4:=T?8PM,!:%Q M55%J*VJ2[M<$=)5"!J19H9GDB/C83?&U<()P&/%9P;]JHV$,6,>#9$>#=PY% MBB@NWAM"Q?+V1>XXJTW=T\'.? 7YS)S8![5.I*[/43=?+YM=*#KR&UJF$"EBXZ^='K["T_8K_7DWR* MIIRW>/"R: SYZ/3A+Z7JZ@81SR8D1#.BQ M[WR(80O_DF0%2=% &QVY^1)5*0$8NOQ@R6A6:(#OX)F\_$@V'97G(9KY"3@B ME6MZXM;&W\+_X+,Z^9[1B_Y928X.XO6D9VJ:'?;\!5+2S5:SD!XJ$Z_?X$NLX<@QXK:LH:# M#Y/CO/#UR]S5:'C,E]AS9M#3&)32,BCF6@DKU_(3C4*-M$$\Y?)O00$' M1J@+ E>Q5'DOHQ ZE1NPKO#6 (>K[_)EAAWUI!^\UJT)*IZ)V\MVFF0"NG"^ MU8"%LGHM[ZRY3QXIZOZ%#F!+'45-&RD NPNR$ MK[Q]$?\!'R\V""0?LB8RB([?D\LP"/Q331=!(#B.@."<.B]E/B@&A44^ O^C MS?53[0Y^433F,8O8"]^BWFOGY9O0MD\,T*9F(6 ][ED/9FG)7UCEFR[IFA\? MUY8J S6^SHDZ]!I63;89G.-;%C;;4"6U2!I4UXD<<),P%\KYCWN'>IX+^3.\ MQL&;>[W&@6WF+.,C5O&AI)FM%;>-VE'].98Q+]0GZ)B(GDLH29_C'^@[YD_8$.\V/C[',.>)_+) A/6OR<#./@=<91N7:L6P=V>5!: 7;P3!N_9X51KL4;F7$H95]=$.]2 M%)FJPGT#DDHL>#_EM3@3=,+D7&.EJ]5(S'$@ERXC.65)H[TR/+^S-)0#=KT5 Z>;XPA.FIY%2 M#=9[K[E@HSK$==GD?K_5HKJ(%)'['=8<:/G3G'/%N"QE&['F!%9*RZ7Z;>O) MHS&Y) ?9#+"B7AT*QW-Q"[D' M'7GS,7+"UI*\QX@)1IT?\XO^5J[*. #31$!:09+3@%0%U09;ZRN-.AQA@,9K M X(=& \Q7/_UG)\!3"G"!O?=VT 4K,Z15J_AEK.;K;8C6=EDR9<$@?U$>_UC M"[[V3)N=?@.RO;&(>"TGTXD>ILE*SA<+:A<4(O0=W,VG;(2ZH35#_$N?8VU& MH%SRC,J7'9KL3INW11V3M'F=?',^&.[,5Y'95AC#X)];50JP8#H60,>(5+U9 M/P*EFK*G9VR:K=X.]+_7NCZ^TE1L5Q_OO2$13HA7ZJ=%2B:Q@0M.;7*GSYI$H]IS7^Z#-AXI7%6^**#7EW/@XE72 MSP()4+-OI1>MOY9&R0$+9R\..,G&/74H7DM_:J3_9+W)ZD@ :*3R(=;MS8P0X=$LH+(E)]2HU MH;?[S-UP2<0&E1F-=AJFW]R#7!:N;[Q(_X_3 QYQ@&QMO.9DN/YZ@,W+/P8)=TYE0OFINF)18 MD9G8 )6BH)F;F5(LP4+#$B@M-#QY)!C91S?:.MHDC[^ M? 5B_Q2S710D94C[1G@2PY"U [V4N)$D'1-EA:K.JA M&NZRX46ET)8L[<^;0&AD95B-1RPHV-.EU/3SBVT[<9,E''C0'<4X?ZUS52@Q M!=+*?/!>XJBI&/K[_,X7<_4YN,'DJE(8>/ L+;]HR=@P_0R11%AFM:_2R8=> MY;R1RC!N0#+0"TEW[NQMUAQ1]'DL;[LPX\0 LBI@5).&(^,B6*O#?G=P_A8' M0M,F!EMJI>:"'W/",@#\5!*6\ MY'X#,T0"[(EULO.;KGGNBY&26'>@2BSST*A7.U]KIJYO@L*7DG_6BFM(GVL? M;U6?YF:[3$3./C5<'0IZ0>$VK9P M?#Z3BPR-'4R:LC+428/)NP?MWN@YGPAC2YV^$@G*%#U%GJ.'4+8.0PO9JD0. M:1PX&E@).<7@78(I=0AYVFE"-X=CNK+=%>JF^WM/]GWIJD^3(>)UR/^_O2MK MCN-&TG^E8L*.)2.*/77V8<=.!$5)'DY(%E>D9A\FYJ'%+DJ]T^RF^Z#$#?_X M12:N!)"H@Y1D3ZQ?+'<1!:" 1%[(_-)F&:M8)T9H^&T2T(FSXK;I91KP)N0;^ M#0-6D('2D?(B&2_J#BIDNZ4 D?,I3JE"G1X?G1GGEPD6PRNV)-F866U'I]YA MW+ZW5%C= 4GMLVHD&YAL3WVEQ)3ST=D54D&W:^TJR[I ,R;-[!%48&N+BI)M M^F0+!T T_&:-S$U?%&M,#;RRT76@Y=.-8AK(>TP^)=Z+\?3ALE%T8*-D Q:" M\>N>&]NK!X6VMN):7M2_>JKR1W4=*^U:TE9TK26!VZG(CK9"L<3+, B7WQK<"E.W:)&:OPK9WRI7COEJW&E=0"^ MO+M9J$+.Z$,5,Y*H]WME,3D5_+3J9^,9"(H&9BF'F!VIA1YV+[HL2W9KM=#J MG"FLS__(A!133=6F5,G4=/JR\C:AJ33_+$6,K@>'IH$@2J@3-U]K_RTI?8%@ M',U:F6@T$Y[^2>-&:75<65?VU?S3CD@,X#*D0)6.&R?H703E M!QUY",@C@>Z#L@HDH%3;X4J$RM3WJX\-'*GC)3TL.:,<\1X0!! 3#Z[G:Y M5]=6HHL/:_-F:O.RW. 9.55GNS8R7.VCJF4E'PKYOG$59C#CL5S/$C&Z-QHH MX/K!L11D39,C6='D."%EYVW4NAA"!8;:;J(\NV7ZDWW0U=L_9"VMLX]S+/M_'_%["'O M0%,:7&^JQ#/[U[<-4.P.'4\Z*@-R.57_H*JQM>^4YL8.@\"A:E[R2"-5R819 ME(.2E6.!VJV^NM<0S!JKAZ3D6?@(MV=P8P,RV(?& C@K"U:\+Y0]+9I0CJ X MUG$=>C_I^I%BP28R7ZE?JP?IP298LN1F(U8XAKB0;:&@I:JR#B=!V-3*&8YV MQ_YAH!W ,"5>%WIC4*]]STT9\ M7J7E 65]V G_]L5^9.F3\$B8.!J5P*@6Q6'H*EB>D/TH^A6L>L9-7/NO'/Y)KE1]>#FHNRA=@*KL M]C6*4Q<=#L)NS7I&98.UN*A*P&'IZ0\X^$3C /J9\PXG;[$YO-\+CF#J=:8, M0"1$@Z/5:IPQLLB2Y@4,,]GIZ$%SY\]R$3%3&'PES?3=;G.]Q URTX@\1Y)S MO-O],L[<, B"C">+RKF%HKS>"0EZH0H!^-=Z89_1[;.V4H_0.DN$[KSI.4-' M^.I!VA9"\JD;(Z!Z09;V'16YI 4A7)TJ#\L;C'H4^[A!?%25%!\-!,3SI)S2 M'X5"N=D:#*BM#.S!24/Y*",^/E6!K$8 MKQ!_X.-*GZU1"2S?">=2G_V(5RR,IU,"$VT &1 AC:JECLPURKM.-M25>Z3[ M7*.FH2*.*9DNLKE!Y-/5.-!3O7)U=6VLJIR0.UW%=FWA%93]2CR$6-+2=\61 MPI[D#17J$*O1K"Z*)%J*AJ'=J&]6*9NT!FPJD[E-&@ZN%Q0EQO)RTF^)V:AP ML00VO?HN6NQ2+JM>!(-0;GH-I!"W-K*3@W;3P:[IA3#8B&8#7+6%V-GH1]4*R2%.;)+4%302O@&P]4)Z%7B56QWB# MU+S\FVHZL5/VN)DX%K#>/T"\BXHZD]#L'L7::8= W M6B5F-U*N8&S,^4Y5\G,*\WCP+-<__G6$0(4TAR75&8W&_$3W ME_X56YC2;&!X[FS4EXS\EI?GXBL@(0CK!F@N--<%0Z5HUZ^U4J'69=NW\8J* M3N4GU@\]?P%!?5/@"\ M<;VG8D+,8;TYJ&N)0/7H:F\V^'R=G!X^ #R)]3J\/+U\IN&13B_?X5].\AIO M%)0NJTNZ_T3U]C>P@.H/YZK ZPF8EZ:DVM&EL 4V=\OKI*RSDRH[_L'4/S&\ MV;^D@% CO#?$I3S#6[5SC5F&X2:>(_PH:O7]'X:D?O5K>"#&!R4/'P*JMX\+R@#/0%U 5('LC MCI\@IK]N5@M$ '*C/0G]9UF&(H#SN5C*'.<:CYO]NV (,W&2)@"J;)(7K"M/ MUYNWU9!I/PN-_ZJE:Y@]'19I5LV-HT$/SLJ^-I^5Q\MQ7P"XFMX\BLI)NBVG65**=D:_(S*J$G0D#X?'H8+3$3 [2/H^ MK*3[S7%>^RU_*PWGM]-T_%Z.A$U_6"P%]SPVR%]$6@E!2*67)BPJOM(RXYH M_<.%EAU)L(9:'$V?2,W?JS3+Q\'?VS97QGVK^8.6B][:^;?:[LRTG^]E/(7&943@;O<*.F3% M0EUE2*A(Q49Q8T"\N(25?LQH7?\^F^^$A6?71K G2HA'XGN#3S%G,>R!]F^@8P8_:02J^Y/!1NXV0;M0K$>_WVQAMAB2=JW>_%3(4\F.: M1!=JN%&%75%5I)Q-R>\<=(P9'*_FP;JFE$)@YB3.R=2>@[P4.G51FNHGL<4G MLF4BI).CJ%>SM,J+Y-+&>;+;=&+"B0&M^02$]? E>,T2%EF3(IW,9N2!YJ;R M W<=<^S14W 0^EX3]J)^IS,9%\)V^"#_IMUZ> E% $'74?P,)\Y!!PU];8%@ MUBCZX%3Y"H%7OJ(N0'CP3'WE?,_$O9 =&]-?!5B+@N.3E]TPFE!1#(W80AR/ M/)LE9S)6BO0^=4[>+"TGX=O_3MJ3NS;NKU-E6ODA,N^;#\OU6I6;4M'&(:4: M(B6K5PB!2<]6G:>UT*3U0$&<0(26;<:EK)UTCS'#.J?+;&RP0&66^R0?L>(UKL09&ELZ(D3ZI)E4ZS*?H!3)D4F?\C M\U%UTW&6YL0;5V5I.9Y9M[-^7H_%2"B)P' MI=#!9X!7WS6IS9V/(+ 24/1;3 MC!Z2>AQV5J?U-.2F=9H)X:<*2TK*6D!P ^0KX46OZ71LOZ&H&)=Q$7Y5G>FS MVDZ_4;JE.S%.IQ.Z\$)%H'."@R4.(V6!0OY/[4*$KN=>WK0^0J3?E>COV]31 MRW'=)2_$RD_3,6%@MIMT5F:V(^VGX]R)1BI,Q?FB=T-":A3YS'@-I*$=:'MI M,>4N+6IQLBZ%PK+54:N?,!W>: Z"?=NQJK0J:C-;-Y%,V%D9O3F95'67>]PV M!B\Y_U0/IJ!A#!A,L"II43)77&E1V'V"FCT2 @0@BAMF;6=5J"?G:278&;EU ML7[(]L^"?ZECRW8XJPOE0S:25VQ$1CQF'!%3_U8:)^U.>2, M/8<78F 8_KS9-\Z=4O#'MB/=U?B)IS>04L[!O)A[D2;A=Q$!E$%N0Y:\6RN> MBAK-^SVI<&$4EDI(KSP[#MM"Q )JZ#+SUKX@+*A*>L'"*-"V6>5"7\S+<=L2 M8ZHC1()I]<7#@?S*6_ H[:3O2U)9Z=1> G)@##C=YHP@5P1+9Q>^SJ@(%/M- MKG=//:';MO5%G@?3K,ATV+X,VCWA>U4H*2KQU"HHDC40@DZI-0_^^HI<@+\P MN;-F$3!'29T4:[G:I"7#B49Y\KW[JU6J?*W^?H M^W8NLCX M7@HK"H2U1'1G$+%N#WFD!TN)L[0FSOJ9$.=N#T6D!TN#0J,O*F*6"H;H=U)& M.BG)A^13\EE92.)B@9#7NBMH??2!Y)+%>%[.KR7U]O-=Z%!M@SP <702BN<* M_*2O-O-^$0^]">["C'FAQQQ(2.5T-IAP)I/I8%()W^DFCO"=;EHHIZ&M);XR MS?/ 3]6?N[3RDL'N*(=7OU!C#=RVHAB^;54]&;QMX3O=VQ:^T[UM>1%JZ2 O M)_9Y!'NHS]%4H$%6H7'Q7U<4223%(.65!GC!ZYL;P%4FF?PZ+)<\\H?7X!.1 M462&.Q\6_P45)*+R\#H1_XM7A/BG'G83HP--9[F[IY.Q"XNDWPD7X7F7HT+= M%/6$5*)JC!/R*(2#D$+G6H6!0@HXL9BQ3&VO6IM3-]PWM0U))/AE)\U1\M7@ M+_-89D6_?SNIH]TNLL%KF 05N=F@J1CF%)!UM=.VE&060&4J>_!?U+(Y$B;O M='+<\K*'=J5?/E0*J\)#72M'A34UV@1%.]"85.4P-H^ (\LQ@HS)1_?$ M Q7L-!@8#ZT#4$E38=M]-;%B%UJOK=_"PP)4/ZE>(UEG_F-P]4PUF]QQ"\+O MV#X!BLTJ;C8MS1 M2Q7II:*]E+.@ERN Y)S?[(F_L$X++W3?!GVTGP^SW+6PK2:DP[(NU47?.5Y0 M+JRWP/#5,IU-IN0V+R^K8\\94>1I3J\0T3=]-@PDD=($N:0ITTKT_&HP=B*A M4XBC\Q2=F27()_.#,%RC'T\0',0[F5^.%9S-[Y9T@SI8 :78GMQ G* )]:!5 M:2E^#^<&5>UR [^//MR@G#Z5&U3>7>/CN$$U8XYG>(ZGZ90YQZ_;CZZP+,=I M7MN# 9$_F3J\.J;$U+"0Z'7&[[?^8&"J\E'Y/6@BD]'D^TZ".BK*\7'7S&+_ M3C"+@.$"UXHX5_VHOTH%Z?$<8&!/0+4DS=@AV3-"ZI01$'Z4Z=,JHI !&$2&D-ML/Y!J@@$ M2M<\33G[159K/(T2SDL>0:$7!5FP13Z5W*1:6SC'O9-CO49 2%T*#(%*?E]A M+*=^4*+"%=!Y^SI-76VHC)+\^MF8[2'$W_E!Q%S^0_A$O=0>P3L&P]B*C3J= M>F8D[5.%Z*I[83=+"I-@9A/J//=ZX^8XKH68+6@$ZM=?[,YLN'[+"SES[B^Y M+ORE^.-Z_%;'@AR/4(/\]S@B.K!^V)*[X?@!23^MTS^HFNVQ300!XM$:KM,< M,&8;]RR+R2TL.L?.CT!P(3]B:&,6$4>B3BF:_C+"2D? I\QADNNA[N%:9^@S M8142+TPX\HE^(SLT[Y5WMB/8"$B"LBCOR9WHJ]_5210U3?FW_TAW;(DU%8*R MHLD-=4XC*:9.UGZ>9G79)[JT)!&P-'AU7!*7RZQ(+@V0FD[VHA7@:C*QDF R MB&F09.CIN%0.6\T=/0$\:IKM1 G++@FHSV/G]ZRBORM,[K6_QV+N M11L8"IX"63_ ( W]W@A8>\!/OEB/,9B#H3,R#]X:QW_?+GXV99ABDPK3F#2\ M3-#9FSOWE+W0Y2'T T1>T#_.1;_+-4WC/,HR:7].?MP=0PC%M<5ID! .;PY[ MQ(+#X\,I3FX^\F14S9)R1$]ZB0JSGMDB.S M?2.SL1/TPY+H)40Y6_+Z":K0GSP'2D0+G"053 ^=O:AR#GB.*ISVJP06Y5[,W.W=^I< MN(A1LVD"L\'B,I?O=LD'.4-58UH#L*_GMQ@\+$S/O2P;!TE#6\2E$_U.Y&44 MQ>'U:NP!W.T2<\X4SH,2!U[.I1$2:UE585P@5 V MZI):6((E? 4:0BW,Y&7S?HM>+5G( 9;RC K ,RSJNV](,2U3^LR9O>P>ESI< M+IR7!9N'^P%;E<+950BCL$!PJP 1?6)6?[]T8*<0S'M,[,=@496\OW[:)'Y?SK#?7BOV M>SG""VH"UOME_??'X4+D7*4 AAD;FKEN8Y9:!'53HK)Y0%'^6B M207H/^L-%L+Z%M\=A%+0S]3?IQM7%49 F9]YRCFIJC*=,*D^HO6XJE4LN*P7 MM)(B@6K<3+K1C!F"265JTVW@.3,P,KA@/"91KF"_J&O$CK7U*8:L;7IS\&.R5S?SJ')AOECMH"F"EE!%LEC!5M[\VJ;-BG^LF%;+X_ M[(2XW0F9\ARQ L6R0E5J$)^OE\*>%F3LOR;8X-DK9:==EY/DW>7SY.B[8['>8GFN-',/UF-B'!7#Q,;YIL). \41X)4A9'JQE/"Z%_/K?\'Y^\=^>P -9;5K_NEWX$>H M,L5#@VGQ4QFT?BHV?R5+&%@(86<5@\0#L='S#QLPAT6?6S%!ZA'Z:;LYW+'@ MBQ>"?AJ$A4?M_-.ZD<7IEVYU&/^U"1RF(.WF&90ZV&"*)7S3A4:&O]Z(;WFU M7\P##6Y2<_T,6B[^,FLXN75AYP1%8];;9KY";S&6\:$5A/H6[HF70U3%!:DK M^^ -^-A!!JWN96.KGGQH-D*KOQ.4YL2/VJ7N.,^4WZD]:6LS[=%&][.3TPP1 M19;XJ1HT<2>.QG7@>K8,51:841LO/_S7)-+W\]/+D&&'R+=^&P-6>X)<.42M MAK4,N1T#$/ND?=69V:KP(F[D">&5C>:5<9;#-;8A XB#KM(8>KY)Z^-"PLQ7 M^, KK#M+4)YV+=^G;F2P5JW_QS(#Z1D\?BTM>?_Q.-):T8NJ'L?M_!DMX*[P M?9!0U\TG*.YQIXN00\4X!& QZ*<&!DB^YO=<\U.*4ZX])A$LH):^Q#&*:#/G MJF2PKD&+:/H6O3Q8=QGOW3$4OPLU_R[@7@NRP:0+4J@W.N-X>W[8(N/']3A! M?, UHEOJ\B1_M.I!WDFBP%BW+=L3"GAP]&N=6" MCK,!4 G6P7$1@?B\N39M8D+3P9&6>3<$/<(F1+UO8'FB5]"!Z<. X'+H?.QU MMO4+LLB6D"$4\&07;A=AAP'-HV\[525YN5V< 'K' \Z(V^SS]:*YE6<%Y_I1 MPX8@FP;'*O1D"F;W?IWGQ=%^M RBB5+#/^:9-D[/-K?OP8V$J8AD7QSJ2$V4 MRD.*UQ/R$Z[@1GGYBQ"I_W@!!=IEW9Q7R]T^,)P^B0__ 7R#S=E\N]J\;O8? M-XO7>*41Z#O+W;].;L#)"'DZO4G'%FZ398=^3;C#HW6 ^PV<;DS(YD9YVZR6 MS8V,/]YN'N8KT>X6YRSZ?:L><"^>4Y#SH,I=STF2Z$PLN2[Q&WXU"?^R.NS3 MAHYX%L0H+SXC=):MCKP-%R,U%4#!^-6ZM%RA[IE&]U 5[](QMHFI"Z(H/:); M?9-).[P>]&);D^ B5I/@,4:G(P9"NOQBR/I^U[T*,PBYLI4)B+8Z9:M<"8;A MP9;Z4@@O;%J;Q)#[N]O%$;[^T@F7WVMU!' MFP]1X&ZN92 PN/C@"%.)#3342\@A;/-#=N%@,UQ"9IG(RQN.B?;#P.[IKO,Z M1+,LI)@X*G1+V]=0W]%8-:$K&XS_Z'2G8CCSB;T]^S'!@(J;MWW1?"]_*I]>RD)*+P@[[\Q[Z=XYX.% M&J] ?\,=N"311&ERN1=R)\$HK7^=RI8DS#[;L-3]ML.Q',>,A3+)MH18B)!ZD]"P0V_F$,#YQ1L M#L@U$$P*Z3M\WX?V#@S0GEC>H)<36S-=KQJG/77S+X7;H'8$-;OF[]#[8T)U?D_B76;#-:Z^#%'H@ MDQ>,[79YN,6@6^SV>K79R=JYC&>W9*, , Q:S:]M5NZR"3.ZN36W6>%8><8. M=F7";=T/D0%DNM,XR$ MON..[W.AI-W+VY+K^9V:/01 +C:K%: T^5BO;2?MT7L;YW5]@87]'B:C/.0*SAS8'5!@ M'T!3?7;VE%$WTWZ8Q$_:;&YD$[P0A"'YV'F!"_XV;X=J]5.M@$6<$_'RT6(!RR(-P8$W(,RU;\A67H3 M;(G1\%0:)33\=M6H8'2:[*Q&59^W7YT_>_,V/M=+(<7F"Y!A-ZO-W$<: M$M,_ G!#_1&!#S0?3>HADXB$?/3K!<+3FN0MS"KZ/=ECNHKY+.XWJWM8D5?+ MM91)V$_0N[H2 ?(64N#]9KO=?))0EW=BQ##U5;JHD@U)#93@0L!QMV;4E1KU MFATU-KOXTKQL$%_FL#Y WA+!R(EVU;[WV:@(E[IM6OPR9Z.:T2ICQU>C$3\A MB+(E=ISDFWDA8_QE-'AA&B&';.BSBJ)^\7FYVS?HG;M1B;2@'F DP*(UBEIW MJ>$?OUB'?>=XA:EPZ 3[8M/LUZ<+5GS"8+\.?R-U?&2M7BR6U-C(R@@6<_OL M-/CR,,_:8.SEJ##BP)9YWP<+L#RHWU;M[LO &Z[#3F ME2Y+C7DEL-4\8&/FE2KTX>TXC@: /0Y#2($!0R1K[\_K%D] 0(X+YJ95ZT M>N%]!-X>E,6CLH:R4R*DQE;C">BQ,:LFBL\:C-X-Z=IN*'=9F@SK%1,/'WK MKX^\AHT@F[8X+1VP4#+J6Q?.L_^]GL0%#-:Y10E20(/\8R;CDX-LBWW2B8$M M?.M"S-%OU4W:O^QM?XPZ%>7Q2) Z?V 2[.)$F>PES@D3:MX#9RXX.0',7* \ MDWFH+*3X#&QRQJ-$H'7P0GI'CX-V5%=PJAAS?QR>M8([E7D1N:T#O)5;$_5F MUE/ETKQJ]GN &3$N#X^RS%^51Z']NX/> MV N%\BL41=,\;[XUUR.Y=#.9L# M8@:MG*U3U-7((9G#)FG:<.?ASHSKU7P9*%TR7%=-*V"/-A\>WH6,OT:0!P3O MLYV=82MYU)C;7![R\"2YD-"'9$GX:\U+"ET1GZO&MB!.L]:>Q%3%*N4XC8#] M &A%U]\[!PH_^8S!;7S$B25Q[$-1(=LA_]CO:.F]S8J/K<&E@_WW:;Y=N$3@ M;E)'L*Y]8!:K*SP"4+Q49!W#2RO>&K%D]H:G0P^HCHM0!!-5SC>,*[?P=/%& M',!8O'4'K)P2*MU3"P/F-9W7,=POOW]B7I;A]9G>X7!R]4=Y<&.5*O MF0T]-$&R;6D&0Z84N >4EZ747I9\RKI9=+M91SN+_FCQ&__.I1CJY,:K8/$K]'O8*QCD>H!$5MI ;+1DP624Q;C06]&CH-^]9J'"ZA,* \.. MXN$V+YOWHZ28\M::@BY4F#(:\D?? %DT.+2R[N7G<5(FSH@NV4FYZ((#V9#" M/VQKHC$0XRW<&3R>S^!D$HOVR!)=O\_M/K'TR[M;DT7H;MRU'MT]7#J8C-LV MRH54/ATW=2J&^AD+F^HG,F.T);%]R$#P7)72W5> M<"L]\O% 7/?1,\-> ,L2S&&W 'B_%4\ M?< ^2\ZNN0C ']L^[FEOQZ]Q+S@\3H*CV>'!9H/XAL^-)[&<[_[)P).L#CTX M=/9OA]4HZH [O=N:U-+ )6)A%+L_[7&HAWZ_%,(PRDS;$ ?[,.-V5+V6'J3< MW38$R0"PCEK2/A#Y]-ZDYN+=EGV?R1MC!6SS6=T2HF#=J]J_!&^401FUI(;% M=V3E1L$ 3C2((?-Q48,TA$ ,Z$@%=W@S-]___@'G#0K+_D%>@:HF;6QECSDCTQ58!(E%P%<-J:@(U_%#$. MX.O5^Y^E4 _O@%T''P8#]_7ZH6^_JAS7$%B,+W$ OC)#NAZNT9J(GN!T_V!ML3=)=T="M^([@7?'\R]E7X+9.H:$*=N MCM!/!.]Z9 2M06=!#(,%H@%\1)3,)3%1"6*$KJQY: R1H$("I9M3L_",I7BS M;L]JIF]K'$:XD%5NF\'^S^OM/4>C&8*$TI;@$%I#Z.=(*2SYDU:JS95QRP5J M>;;*-<-4HI4W',,NH%ITDKF0,99M&@\VIM"G.#%T)$DSLRJ1.\:IE&!:B E* M!4<5AR:B%C1LA"E],3?UCV0#>YD N\<A[T] M"A?D9"'4YU*7PRO=W#7X6>*$+"M]F;0$-#K*<[KZ1$G*&;;%'$SH'9DP]%&3 M!V1"DC>-9UHET@8L(5A@J4BT;ODE43[#2]6TTS(YEO/P CF?^CJGF&.)Z#II MW?OG?)7_,^/1]-\I5T^5/N$3H(G^UZ23CT)K8U;&\-6:P7SDE!%>$TW(W&,+1\S[0;PNQFIZ<;(T\U< M&EZAN?X\V\#7L3%.4$G5LRFQ<@:PD[\:XMZDW35K(0+8R=]P3$I63?=.]PT8 M_@902P,$% @ W'$%3Y8&01Y1!0 RBX \ !X;"]W;W)K8F]O:RYX M;6S%FEM/ZS@0@/^*E2?. ]OF6D 4B85E%XEET2DZKT=NXE*+Q.[:#K=?O^.4 M@M.3CO9EZ%,;Y_;%;OW-C'/ZK,WC7.M']M+4RDZCI7.KD]'(EDO1Q;:--S!IGD8V941O+)+(5Q3CY+QN!@U7*KH['1SK3LS"C>T$Z636D&C;_@A MQ;/]W.\W&8<#GL0]GT^C<<1XZ_25K)TPE]R)/XUN5U(]3*,X8@MIK)OY>W=' M-E+)1KZ)JMNR2_W\ES;R32O'ZUEI=%UW9_D=W4EP!_O1\D,8)\O>@8[/OW-@ MG4;%&"[X)*V/6BG>XEJ:%R42\K/P4L^Y%[9;" M0!?R>8B)N22FE\F3#\7@KNP6@L7>?P7S1TPM$",JZ=@5+[L8,,3"C!$3*^-& M<-OO)$P-,;$;NA%C*_[*N_M^0F%VB(GU<,6E83"QM8(UT%NM$=O_2TP+,;$7 MKE6I&P')QDMO&!/,"PFU%W332-=\F,!/MI!T"57*/B1FA838"C.GRTW!H8(A)B180A'CNX]W.@_1;"8:)(J',++-;K#S5FD(38(&BL MU\?$G)(0.V4XUAL<=$PN"7G2@01]_2('YIN4W#=;0=]01Z:8;%+J%*0?_0WR M8;Y)B7VS#@,'L=#R%;%?>O'@(!VFE918*\.!X2 FII646"N#@:7E-@O M:,33GVHPOZ1?6+UB!Y?"<5GW.Q'32KK/2E:O )AB6DF)M8)CYF%9&M-*1JP5 M'+,(,3&W9-2)#(HY"3$QQ63$BL$QCT),3#G97E.:XQ 373/98TKSLRL*?V!B M[LF^-*49F"XSS#D9L7-Z=(?L#@Z2C52^7^]:4X:8F',R8N=L89Z7KN5U%XJO MC&:+$!.33T8L'SQ##+/L#)-/1BP?/$,,,7-,/CFQ?'9EB.__H1 3DT].+!\\ M0^SU)B:?G'ZU?CM#')B,H$%,"_% M'()W:]L^)KI<3[]>_POF>:.AYK6AAEB(3^YJXUX,G>(D..R28GELT@YE4+F,*_;Q:^-H+) MIB"6S5:=96"P"TPR!;%D=A5:?G5A@4FF();,#LQ#=B.>1!V^MU9@HBF(11.N M& Z/->:7@MPOR-HA.PPQ,;\4Y'Y!,'OEJ@)](8S8+\.U/TAUUC7 $!.S3$%L MF5V8T,L^K PQ,>D4U.6U'9CK]C"H*##I%-3EM1V8WX5U1H9I[023SH1:.FC% M-TP=)IA\)IU\1MW!]NRT$@NI1'4+M[#07O*ZO#/,?ZQ?\,IR_[K&HJWK"VC[ M1]UH[MN[:VQ>(S_[#U!+ P04 " #<<05/G)1>_U$" "J*@ &@ 'AL M+U]R96QS+W=O?5^.;=Y4QU+Z;\YE[?'=&GR7=>G=OQFWPV7IHP?AX/KF^UK%.>#(CW(YH.,'E3/ M!]7TH/OYH'MZT,-\T ,]R*^!C&M^$L*:K[4'7'N^UQZ [?EB>T"VYYOM =J> MK[8';'N^VQ[ [?ER>T"WY]OM =Z>K[< O86OMP"]98%K;72QS==;@-["UUN MWL+76X#>PM=;@-["UUN WL+76X#>PM=;@-["UUN!WLK76X'>RM=;@=ZZP%D) M.BSAZZU ;^7KK4!OY>NM0&_EZZU ;^7KK4!OY>NM0&_EZQV WH&O=P!Z![[> M >@=^'H'H'=8X*P;'7;S]0Y [\#7.P"] U_O /0.?+T#T#OP]0Y [\#7.P*] M(U_O"/2.?+TCT#OR]8Y [\C7.P*]XP+W*M'-2K[>$>@=^7I'H'?DZQV!WI&O M=P1Z1[[>!O0VOMX&]#:^W@;T-K[>!O0VOMX&]#:^W@;TM@6>-4$/F_#U-J"W M\?4VH+?Q]3:@M_'UKH'>-5_O&NA=\_6N)WKG8S.DW8\RG-I#OG7)/\._K)G MG7!E&ULS=K+3N,P% ;@ M5ZFR18WK:QE$V0!;!@E>P"2G3=0DMFP#Y>W'"1<)5"1&M-*_:9HG[_XBG.=GTWQ%71I.3/&(M50[V-I?,TY,K:A=ZF?!HVS-MJ:S?$Q&)A6.6& M1$.:I[%'<7%^16O[V*79Y>OUL?6JL-YW;653ZP;V--1?FL[?&I:!NFE-;%H? M3_*"8G:]RUUBOK8JD !D;V-0&UL M4$L! A0#% @ VW$%3^9S[W;P *P( !$ ( !F0$ M &1O8U!R;W!S+V-O&UL4$L! A0#% @ VW$%3YE&PO=V]R M:W-H965T&UL4$L! A0#% @ VW$%3RHH]MK0! 6A@ M !@ ( !8@P 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ W'$%3PDR<:;$ @ \0D !@ ( ! MH1@ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ MW'$%3\IZ*9VR 0 T@, !@ ( !L"< 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ MW'$%3X021^*R 0 T@, !D ( !%S4 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ W'$%3]) TTZT 0 T@, !D M ( !E4 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ W'$%3X='4KU$ @ TP< !D ( !548 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ W'$% M3Q*[6'*W 0 T@, !D ( !QTP 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ W'$%3V9QFB"V 0 T0, M !D ( !G%( 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ W'$%3W E$@O# 0 -P0 !D M ( !CU@ 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ W'$%3_>$Z7G1 0 G 0 !D ( !<%X 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ W'$%3^!T MMXH. @ /P8 !D ( !7V0 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ W'$%3W3'G:HJ P Y@P !D M ( !G6H 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ W'$%3SZ*O(#& 0 600 !D ( ! M]7( 'AL+W=O#@ &0 @ 'R= >&PO=V]R:W-H965T(4 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ W'$%3W-N=A7F 0 _ 0 !D M ( !9H\ 'AL+W=O&PO=V]R M:W-H965T0( (L( M 9 " ?Z3 !X;"]W;W)K&UL M4$L! A0#% @ W'$%3ZENAF0=! *18 !D ( !KI8 M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ MW'$%3ZV?]>(' P V P !D ( !9:( 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ W'$%3P.6K1G. 0 . 0 !D M ( !8;$ 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ W'$%3^MHAMSV @ ,PP !D ( !Q[@ 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ W'$% M3URA!'DVF@ 59<" !0 ( !:L, 'AL+W-H87)E9%-T&UL4$L! A0#% @ W'$%3_(66QE&PO=V]R:V)O;VLN>&UL4$L! A0#% M @ W'$%3YR47O]1 @ JBH !H ( !\64! 'AL+U]R96QS M+W=OF@! %M#;VYT96YT7U1Y<&5S72YX;6Q02P4& / % 4 #B%0 LVH! end XML 83 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 84 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 85 FilingSummary.xml IDEA: XBRL DOCUMENT 3.19.2 html 222 490 1 false 68 0 false 9 false false R1.htm 00090 - Document - Document and Entity Information Sheet http://www.boingo.com/role/DocumentDocumentAndEntityInformation Document and Entity Information Cover 1 false false R2.htm 00100 - Statement - Condensed Consolidated Balance Sheets Sheet http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets Condensed Consolidated Balance Sheets Statements 2 false false R3.htm 00105 - Statement - Condensed Consolidated Balance Sheets (Parenthetical) Sheet http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical Condensed Consolidated Balance Sheets (Parenthetical) Statements 3 false false R4.htm 00200 - Statement - Condensed Consolidated Statements of Operations Sheet http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfOperations Condensed Consolidated Statements of Operations Statements 4 false false R5.htm 00300 - Statement - Condensed Consolidated Statements of Comprehensive Income (Loss) Sheet http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncomeLoss Condensed Consolidated Statements of Comprehensive Income (Loss) Statements 5 false false R6.htm 00400 - Statement - Condensed Consolidated Statement of Stockholders' Equity Sheet http://www.boingo.com/role/StatementCondensedConsolidatedStatementOfStockholdersEquity Condensed Consolidated Statement of Stockholders' Equity Statements 6 false false R7.htm 00500 - Statement - Condensed Consolidated Statements of Cash Flows Sheet http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows Condensed Consolidated Statements of Cash Flows Statements 7 false false R8.htm 10101 - Disclosure - The business Sheet http://www.boingo.com/role/DisclosureBusiness The business Notes 8 false false R9.htm 10201 - Disclosure - Summary of significant accounting policies Sheet http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPolicies Summary of significant accounting policies Notes 9 false false R10.htm 10301 - Disclosure - Acquisitions Sheet http://www.boingo.com/role/DisclosureAcquisitions Acquisitions Notes 10 false false R11.htm 10401 - Disclosure - Cash and cash equivalents and marketable securities Sheet http://www.boingo.com/role/DisclosureCashAndCashEquivalentsAndMarketableSecurities Cash and cash equivalents and marketable securities Notes 11 false false R12.htm 10501 - Disclosure - Contract assets and contract liabilities Sheet http://www.boingo.com/role/DisclosureContractAssetsAndContractLiabilities Contract assets and contract liabilities Notes 12 false false R13.htm 10601 - Disclosure - Property and equipment Sheet http://www.boingo.com/role/DisclosurePropertyAndEquipment Property and equipment Notes 13 false false R14.htm 10701 - Disclosure - Accrued expenses and other liabilities Sheet http://www.boingo.com/role/DisclosureAccruedExpensesAndOtherLiabilities Accrued expenses and other liabilities Notes 14 false false R15.htm 10801 - Disclosure - Convertible Notes Notes http://www.boingo.com/role/DisclosureConvertibleNotes Convertible Notes Notes 15 false false R16.htm 10901 - Disclosure - Credit Facility Sheet http://www.boingo.com/role/DisclosureCreditFacility Credit Facility Notes 16 false false R17.htm 11001 - Disclosure - Leases Sheet http://www.boingo.com/role/DisclosureLeases Leases Notes 17 false false R18.htm 11101 - Disclosure - Notes payable Notes http://www.boingo.com/role/DisclosureNotesPayable Notes payable Notes 18 false false R19.htm 11201 - Disclosure - Fair value measurement Sheet http://www.boingo.com/role/DisclosureFairValueMeasurement Fair value measurement Notes 19 false false R20.htm 11301 - Disclosure - Income taxes Sheet http://www.boingo.com/role/DisclosureIncomeTaxes Income taxes Notes 20 false false R21.htm 11401 - Disclosure - Commitments and contingencies Sheet http://www.boingo.com/role/DisclosureCommitmentsAndContingencies Commitments and contingencies Notes 21 false false R22.htm 11501 - Disclosure - Stock incentive plans Sheet http://www.boingo.com/role/DisclosureStockIncentivePlans Stock incentive plans Notes 22 false false R23.htm 11601 - Disclosure - Net income (loss) per share attributable to common stockholders Sheet http://www.boingo.com/role/DisclosureNetIncomeLossPerShareAttributableToCommonStockholders Net income (loss) per share attributable to common stockholders Notes 23 false false R24.htm 20202 - Disclosure - Summary of significant accounting policies (Policies) Sheet http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies Summary of significant accounting policies (Policies) Policies 24 false false R25.htm 30203 - Disclosure - Summary of significant accounting policies (Tables) Sheet http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables Summary of significant accounting policies (Tables) Tables http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPolicies 25 false false R26.htm 30303 - Disclosure - Acquisitions (Tables) Sheet http://www.boingo.com/role/DisclosureAcquisitionsTables Acquisitions (Tables) Tables http://www.boingo.com/role/DisclosureAcquisitions 26 false false R27.htm 30403 - Disclosure - Cash and cash equivalents and marketable securities (Tables) Sheet http://www.boingo.com/role/DisclosureCashAndCashEquivalentsAndMarketableSecuritiesTables Cash and cash equivalents and marketable securities (Tables) Tables http://www.boingo.com/role/DisclosureCashAndCashEquivalentsAndMarketableSecurities 27 false false R28.htm 30503 - Disclosure - Contract assets and contract liabilities (Tables) Sheet http://www.boingo.com/role/DisclosureContractAssetsAndContractLiabilitiesTables Contract assets and contract liabilities (Tables) Tables http://www.boingo.com/role/DisclosureContractAssetsAndContractLiabilities 28 false false R29.htm 30603 - Disclosure - Property and equipment (Tables) Sheet http://www.boingo.com/role/DisclosurePropertyAndEquipmentTables Property and equipment (Tables) Tables http://www.boingo.com/role/DisclosurePropertyAndEquipment 29 false false R30.htm 30703 - Disclosure - Accrued expenses and other liabilities (Tables) Sheet http://www.boingo.com/role/DisclosureAccruedExpensesAndOtherLiabilitiesTables Accrued expenses and other liabilities (Tables) Tables http://www.boingo.com/role/DisclosureAccruedExpensesAndOtherLiabilities 30 false false R31.htm 30803 - Disclosure - Convertible Notes (Tables) Notes http://www.boingo.com/role/DisclosureConvertibleNotesTables Convertible Notes (Tables) Tables http://www.boingo.com/role/DisclosureConvertibleNotes 31 false false R32.htm 30903 - Disclosure - Credit Facility (Tables) Sheet http://www.boingo.com/role/DisclosureCreditFacilityTables Credit Facility (Tables) Tables http://www.boingo.com/role/DisclosureCreditFacility 32 false false R33.htm 31003 - Disclosure - Leases (Tables) Sheet http://www.boingo.com/role/DisclosureLeasesTables Leases (Tables) Tables http://www.boingo.com/role/DisclosureLeases 33 false false R34.htm 31101 - Disclosure - Notes payable (Tables) Notes http://www.boingo.com/role/DisclosureNotesPayableTables Notes payable (Tables) Tables http://www.boingo.com/role/DisclosureNotesPayable 34 false false R35.htm 31203 - Disclosure - Fair value measurement (Tables) Sheet http://www.boingo.com/role/DisclosureFairValueMeasurementTables Fair value measurement (Tables) Tables http://www.boingo.com/role/DisclosureFairValueMeasurement 35 false false R36.htm 31503 - Disclosure - Stock incentive plans (Tables) Sheet http://www.boingo.com/role/DisclosureStockIncentivePlansTables Stock incentive plans (Tables) Tables http://www.boingo.com/role/DisclosureStockIncentivePlans 36 false false R37.htm 31603 - Disclosure - Net income (loss) per share attributable to common stockholders (Tables) Sheet http://www.boingo.com/role/DisclosureNetIncomeLossPerShareAttributableToCommonStockholdersTables Net income (loss) per share attributable to common stockholders (Tables) Tables http://www.boingo.com/role/DisclosureNetIncomeLossPerShareAttributableToCommonStockholders 37 false false R38.htm 40101 - Disclosure - The business (Details) Sheet http://www.boingo.com/role/DisclosureBusinessDetails The business (Details) Details http://www.boingo.com/role/DisclosureBusiness 38 false false R39.htm 40201 - Disclosure - Summary of significant accounting policies - Basis of presentation (Details) Sheet http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesBasisOfPresentationDetails Summary of significant accounting policies - Basis of presentation (Details) Details 39 false false R40.htm 40202 - Disclosure - Summary of significant accounting policies - Principles of consolidation (Details) Sheet http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPrinciplesOfConsolidationDetails Summary of significant accounting policies - Principles of consolidation (Details) Details 40 false false R41.htm 40203 - Disclosure - Summary of significant accounting policies - Marketable securities (Details) Sheet http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesMarketableSecuritiesDetails Summary of significant accounting policies - Marketable securities (Details) Details 41 false false R42.htm 40204 - Disclosure - Summary of significant accounting policies - Segment and geographic information (Details) Sheet http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesSegmentAndGeographicInformationDetails Summary of significant accounting policies - Segment and geographic information (Details) Details 42 false false R43.htm 40205 - Disclosure - Summary of significant accounting policies - Revenue recognition - Practical expedient (Details) Sheet http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRevenueRecognitionPracticalExpedientDetails Summary of significant accounting policies - Revenue recognition - Practical expedient (Details) Details 43 false false R44.htm 40206 - Disclosure - Summary of significant accounting policies - Revenue recognition - Terms of contracts (Details) Sheet http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRevenueRecognitionTermsOfContractsDetails Summary of significant accounting policies - Revenue recognition - Terms of contracts (Details) Details 44 false false R45.htm 40207 - Disclosure - Summary of significant accounting policies - Foreign currency translation (Details) Sheet http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesForeignCurrencyTranslationDetails Summary of significant accounting policies - Foreign currency translation (Details) Details 45 false false R46.htm 40301 - Disclosure - Acquisitions (Details) Sheet http://www.boingo.com/role/DisclosureAcquisitionsDetails Acquisitions (Details) Details http://www.boingo.com/role/DisclosureAcquisitionsTables 46 false false R47.htm 40302 - Disclosure - Acquisitions - Preliminary Purchase price allocations (Details) Sheet http://www.boingo.com/role/DisclosureAcquisitionsPreliminaryPurchasePriceAllocationsDetails Acquisitions - Preliminary Purchase price allocations (Details) Details 47 false false R48.htm 40303 - Disclosure - Acquisitions - Actual and pro forma results (unaudited) (Details) Sheet http://www.boingo.com/role/DisclosureAcquisitionsActualAndProFormaResultsUnauditedDetails Acquisitions - Actual and pro forma results (unaudited) (Details) Details 48 false false R49.htm 40401 - Disclosure - Cash and cash equivalents and marketable securities (Details) Sheet http://www.boingo.com/role/DisclosureCashAndCashEquivalentsAndMarketableSecuritiesDetails Cash and cash equivalents and marketable securities (Details) Details http://www.boingo.com/role/DisclosureCashAndCashEquivalentsAndMarketableSecuritiesTables 49 false false R50.htm 40501 - Disclosure - Contract assets and contract liabilities (Details) Sheet http://www.boingo.com/role/DisclosureContractAssetsAndContractLiabilitiesDetails Contract assets and contract liabilities (Details) Details http://www.boingo.com/role/DisclosureContractAssetsAndContractLiabilitiesTables 50 false false R51.htm 40601 - Disclosure - Property and equipment (Details) Sheet http://www.boingo.com/role/DisclosurePropertyAndEquipmentDetails Property and equipment (Details) Details http://www.boingo.com/role/DisclosurePropertyAndEquipmentTables 51 false false R52.htm 40701 - Disclosure - Accrued expenses and other liabilities (Details) Sheet http://www.boingo.com/role/DisclosureAccruedExpensesAndOtherLiabilitiesDetails Accrued expenses and other liabilities (Details) Details http://www.boingo.com/role/DisclosureAccruedExpensesAndOtherLiabilitiesTables 52 false false R53.htm 40801 - Disclosure - Convertible Notes (Details) Notes http://www.boingo.com/role/DisclosureConvertibleNotesDetails Convertible Notes (Details) Details http://www.boingo.com/role/DisclosureConvertibleNotesTables 53 false false R54.htm 40802 - Disclosure - Convertible Notes - Carrying and fair value (Details) Notes http://www.boingo.com/role/DisclosureConvertibleNotesCarryingAndFairValueDetails Convertible Notes - Carrying and fair value (Details) Details 54 false false R55.htm 40803 - Disclosure - Convertible Notes - Debt issuance costs and interest expense (Details) Notes http://www.boingo.com/role/DisclosureConvertibleNotesDebtIssuanceCostsAndInterestExpenseDetails Convertible Notes - Debt issuance costs and interest expense (Details) Details 55 false false R56.htm 40804 - Disclosure - Convertible Notes - Amortization expense, debt discount and debt issuance costs (Details) Notes http://www.boingo.com/role/DisclosureConvertibleNotesAmortizationExpenseDebtDiscountAndDebtIssuanceCostsDetails Convertible Notes - Amortization expense, debt discount and debt issuance costs (Details) Details 56 false false R57.htm 40901 - Disclosure - Credit Facility (Details) Sheet http://www.boingo.com/role/DisclosureCreditFacilityDetails Credit Facility (Details) Details http://www.boingo.com/role/DisclosureCreditFacilityTables 57 false false R58.htm 41001 - Disclosure - Leases (Details) Sheet http://www.boingo.com/role/DisclosureLeasesDetails Leases (Details) Details http://www.boingo.com/role/DisclosureLeasesTables 58 false false R59.htm 41002 - Disclosure - Leases - Schedule of Maturities of Lease Liabilities (Details) Sheet http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetails Leases - Schedule of Maturities of Lease Liabilities (Details) Details 59 false false R60.htm 41003 - Disclosure - Leases - Schedule of Future minimum lease payments under non-cancellable leases (Details) Sheet http://www.boingo.com/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNonCancellableLeasesDetails Leases - Schedule of Future minimum lease payments under non-cancellable leases (Details) Details 60 false false R61.htm 41101 - Disclosure - Notes payable (Details) Notes http://www.boingo.com/role/DisclosureNotesPayableDetails Notes payable (Details) Details http://www.boingo.com/role/DisclosureNotesPayableTables 61 false false R62.htm 41201 - Disclosure - Fair value measurement (Details) Sheet http://www.boingo.com/role/DisclosureFairValueMeasurementDetails Fair value measurement (Details) Details http://www.boingo.com/role/DisclosureFairValueMeasurementTables 62 false false R63.htm 41202 - Disclosure - Fair value measurement - Level 3 Reconciliation (Details) Sheet http://www.boingo.com/role/DisclosureFairValueMeasurementLevel3ReconciliationDetails Fair value measurement - Level 3 Reconciliation (Details) Details 63 false false R64.htm 41301 - Disclosure - Income taxes (Details) Sheet http://www.boingo.com/role/DisclosureIncomeTaxesDetails Income taxes (Details) Details http://www.boingo.com/role/DisclosureIncomeTaxes 64 false false R65.htm 41401 - Disclosure - Commitments and contingencies - Letters of credit (Details) Sheet http://www.boingo.com/role/DisclosureCommitmentsAndContingenciesLettersOfCreditDetails Commitments and contingencies - Letters of credit (Details) Details 65 false false R66.htm 41402 - Disclosure - Commitments and contingencies - Others matters (Details) Sheet http://www.boingo.com/role/DisclosureCommitmentsAndContingenciesOthersMattersDetails Commitments and contingencies - Others matters (Details) Details 66 false false R67.htm 41501 - Disclosure - Stock incentive plans - Plans (Details) Sheet http://www.boingo.com/role/DisclosureStockIncentivePlansPlansDetails Stock incentive plans - Plans (Details) Details 67 false false R68.htm 41502 - Disclosure - Stock incentive plans - Compensation expense (Details) Sheet http://www.boingo.com/role/DisclosureStockIncentivePlansCompensationExpenseDetails Stock incentive plans - Compensation expense (Details) Details 68 false false R69.htm 41503 - Disclosure - Stock incentive plans - Stock option awards (Details) Sheet http://www.boingo.com/role/DisclosureStockIncentivePlansStockOptionAwardsDetails Stock incentive plans - Stock option awards (Details) Details 69 false false R70.htm 41504 - Disclosure - Stock incentive plans - Restricted stock unit awards (Details) Sheet http://www.boingo.com/role/DisclosureStockIncentivePlansRestrictedStockUnitAwardsDetails Stock incentive plans - Restricted stock unit awards (Details) Details 70 false false R71.htm 41601 - Disclosure - Net income (loss) per share attributable to common stockholders (Details) Sheet http://www.boingo.com/role/DisclosureNetIncomeLossPerShareAttributableToCommonStockholdersDetails Net income (loss) per share attributable to common stockholders (Details) Details http://www.boingo.com/role/DisclosureNetIncomeLossPerShareAttributableToCommonStockholdersTables 71 false false All Reports Book All Reports wifi-20190630x10q.htm wifi-20190630.xsd wifi-20190630_cal.xml wifi-20190630_def.xml wifi-20190630_lab.xml wifi-20190630_pre.xml wifi-20190630ex31148e0f8.htm wifi-20190630ex3123175d8.htm wifi-20190630ex321db7d84.htm http://fasb.org/us-gaap/2019-01-31 http://xbrl.sec.gov/dei/2019-01-31 http://fasb.org/srt/2019-01-31 true true JSON 88 MetaLinks.json IDEA: XBRL DOCUMENT { "instance": { "wifi-20190630x10q.htm": { "axisCustom": 0, "axisStandard": 25, "contextCount": 222, "dts": { "calculationLink": { "local": [ "wifi-20190630_cal.xml" ] }, "definitionLink": { "local": [ "wifi-20190630_def.xml" ], "remote": [ "http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-eedm-def-2019-01-31.xml", "http://xbrl.fasb.org/srt/2019/elts/srt-eedm1-def-2019-01-31.xml" ] }, "inline": { "local": [ "wifi-20190630x10q.htm" ] }, "labelLink": { "local": [ "wifi-20190630_lab.xml" ], "remote": [ "http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-doc-2019-01-31.xml", "https://xbrl.sec.gov/dei/2019/dei-doc-2019-01-31.xml" ] }, "presentationLink": { "local": [ "wifi-20190630_pre.xml" ] }, "referenceLink": { "remote": [ "https://xbrl.sec.gov/dei/2019/dei-ref-2019-01-31.xml", "http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-ref-2019-01-31.xml" ] }, "schema": { "local": [ "wifi-20190630.xsd" ], "remote": [ "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd", "http://www.xbrl.org/2003/xl-2003-12-31.xsd", "http://www.xbrl.org/2003/xlink-2003-12-31.xsd", "https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd", "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd", "http://www.xbrl.org/2005/xbrldt-2005.xsd", "http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd", "http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd", "http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd", "http://xbrl.fasb.org/us-gaap/2019/elts/us-roles-2019-01-31.xsd", "http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd", "http://www.xbrl.org/2006/ref-2006-02-27.xsd", "http://xbrl.fasb.org/srt/2019/elts/srt-types-2019-01-31.xsd", "http://xbrl.fasb.org/srt/2019/elts/srt-roles-2019-01-31.xsd", "https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd", "http://xbrl.fasb.org/us-gaap/2019/elts/us-types-2019-01-31.xsd", "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/deprecated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd", "http://xbrl.fasb.org/us-gaap/2019/elts/us-parts-codification-2019-01-31.xsd" ] } }, "elementCount": 644, "entityCount": 1, "hidden": { "http://fasb.org/us-gaap/2019-01-31": 13, "http://www.boingo.com/20190630": 4, "http://xbrl.sec.gov/dei/2019-01-31": 5, "total": 22 }, "keyCustom": 85, "keyStandard": 405, "memberCustom": 30, "memberStandard": 37, "nsprefix": "wifi", "nsuri": "http://www.boingo.com/20190630", "report": { "R1": { "firstAnchor": { "ancestors": [ "p", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "document", "isDefault": "true", "longName": "00090 - Document - Document and Entity Information", "role": "http://www.boingo.com/role/DocumentDocumentAndEntityInformation", "shortName": "Document and Entity Information", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R10": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10301 - Disclosure - Acquisitions", "role": "http://www.boingo.com/role/DisclosureAcquisitions", "shortName": "Acquisitions", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R11": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CashCashEquivalentsAndMarketableSecuritiesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10401 - Disclosure - Cash and cash equivalents and marketable securities", "role": "http://www.boingo.com/role/DisclosureCashAndCashEquivalentsAndMarketableSecurities", "shortName": "Cash and cash equivalents and marketable securities", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CashCashEquivalentsAndMarketableSecuritiesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R12": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10501 - Disclosure - Contract assets and contract liabilities", "role": "http://www.boingo.com/role/DisclosureContractAssetsAndContractLiabilities", "shortName": "Contract assets and contract liabilities", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R13": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10601 - Disclosure - Property and equipment", "role": "http://www.boingo.com/role/DisclosurePropertyAndEquipment", "shortName": "Property and equipment", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R14": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10701 - Disclosure - Accrued expenses and other liabilities", "role": "http://www.boingo.com/role/DisclosureAccruedExpensesAndOtherLiabilities", "shortName": "Accrued expenses and other liabilities", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R15": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "wifi:ConvertibleNotesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10801 - Disclosure - Convertible Notes", "role": "http://www.boingo.com/role/DisclosureConvertibleNotes", "shortName": "Convertible Notes", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "wifi:ConvertibleNotesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R16": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DebtDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10901 - Disclosure - Credit Facility", "role": "http://www.boingo.com/role/DisclosureCreditFacility", "shortName": "Credit Facility", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DebtDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R17": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "wifi:LeaseDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11001 - Disclosure - Leases", "role": "http://www.boingo.com/role/DisclosureLeases", "shortName": "Leases", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "wifi:LeaseDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R18": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "wifi:NotesPayableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11101 - Disclosure - Notes payable", "role": "http://www.boingo.com/role/DisclosureNotesPayable", "shortName": "Notes payable", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "wifi:NotesPayableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R19": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11201 - Disclosure - Fair value measurement", "role": "http://www.boingo.com/role/DisclosureFairValueMeasurement", "shortName": "Fair value measurement", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R2": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "As_Of_6_30_2019_Bl3kLZ7k20WX-V8XjrDHIw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00100 - Statement - Condensed Consolidated Balance Sheets", "role": "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets", "shortName": "Condensed Consolidated Balance Sheets", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "As_Of_6_30_2019_Bl3kLZ7k20WX-V8XjrDHIw", "decimals": "-3", "lang": null, "name": "us-gaap:AccountsReceivableNetCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" } }, "R20": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11301 - Disclosure - Income taxes", "role": "http://www.boingo.com/role/DisclosureIncomeTaxes", "shortName": "Income taxes", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R21": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11401 - Disclosure - Commitments and contingencies", "role": "http://www.boingo.com/role/DisclosureCommitmentsAndContingencies", "shortName": "Commitments and contingencies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R22": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11501 - Disclosure - Stock incentive plans", "role": "http://www.boingo.com/role/DisclosureStockIncentivePlans", "shortName": "Stock incentive plans", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R23": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11601 - Disclosure - Net income (loss) per share attributable to common stockholders", "role": "http://www.boingo.com/role/DisclosureNetIncomeLossPerShareAttributableToCommonStockholders", "shortName": "Net income (loss) per share attributable to common stockholders", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R24": { "firstAnchor": { "ancestors": [ "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "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.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies", "shortName": "Summary of significant accounting policies (Policies)", "subGroupType": "policies", "uniqueAnchor": { "ancestors": [ "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R25": { "firstAnchor": { "ancestors": [ "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30203 - Disclosure - Summary of significant accounting policies (Tables)", "role": "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables", "shortName": "Summary of significant accounting policies (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R26": { "firstAnchor": { "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_us-gaap_BusinessAcquisitionAxis_wifi_ElauwitNetworksLlcMember_c8dPFoUhUUaFky4vnx5DCQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30303 - Disclosure - Acquisitions (Tables)", "role": "http://www.boingo.com/role/DisclosureAcquisitionsTables", "shortName": "Acquisitions (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_us-gaap_BusinessAcquisitionAxis_wifi_ElauwitNetworksLlcMember_c8dPFoUhUUaFky4vnx5DCQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R27": { "firstAnchor": { "ancestors": [ "us-gaap:CashCashEquivalentsAndMarketableSecuritiesTextBlock", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30403 - Disclosure - Cash and cash equivalents and marketable securities (Tables)", "role": "http://www.boingo.com/role/DisclosureCashAndCashEquivalentsAndMarketableSecuritiesTables", "shortName": "Cash and cash equivalents and marketable securities (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:CashCashEquivalentsAndMarketableSecuritiesTextBlock", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R28": { "firstAnchor": { "ancestors": [ "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30503 - Disclosure - Contract assets and contract liabilities (Tables)", "role": "http://www.boingo.com/role/DisclosureContractAssetsAndContractLiabilitiesTables", "shortName": "Contract assets and contract liabilities (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R29": { "firstAnchor": { "ancestors": [ "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30603 - Disclosure - Property and equipment (Tables)", "role": "http://www.boingo.com/role/DisclosurePropertyAndEquipmentTables", "shortName": "Property and equipment (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "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": "wifi-20190630x10q.htm", "contextRef": "As_Of_6_30_2019_Bl3kLZ7k20WX-V8XjrDHIw", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:PreferredStockParOrStatedValuePerShare", "reportCount": 1, "unique": true, "unitRef": "Unit_Divide_USD_shares_KNDPOXO8nUaWZIoR-F6iuw", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00105 - Statement - Condensed Consolidated Balance Sheets (Parenthetical)", "role": "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical", "shortName": "Condensed Consolidated Balance Sheets (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "As_Of_6_30_2019_Bl3kLZ7k20WX-V8XjrDHIw", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:PreferredStockParOrStatedValuePerShare", "reportCount": 1, "unique": true, "unitRef": "Unit_Divide_USD_shares_KNDPOXO8nUaWZIoR-F6iuw", "xsiNil": "false" } }, "R30": { "firstAnchor": { "ancestors": [ "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30703 - Disclosure - Accrued expenses and other liabilities (Tables)", "role": "http://www.boingo.com/role/DisclosureAccruedExpensesAndOtherLiabilitiesTables", "shortName": "Accrued expenses and other liabilities (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R31": { "firstAnchor": { "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_us-gaap_DebtInstrumentAxis_wifi_ConvertibleUnsecuredSeniorNotesMaturingIn1stOctober2023Member_VBPyvp1y2kyuPjZlwTMISw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ConvertibleDebtTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30803 - Disclosure - Convertible Notes (Tables)", "role": "http://www.boingo.com/role/DisclosureConvertibleNotesTables", "shortName": "Convertible Notes (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_us-gaap_DebtInstrumentAxis_wifi_ConvertibleUnsecuredSeniorNotesMaturingIn1stOctober2023Member_VBPyvp1y2kyuPjZlwTMISw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ConvertibleDebtTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R32": { "firstAnchor": { "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfDebtTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30903 - Disclosure - Credit Facility (Tables)", "role": "http://www.boingo.com/role/DisclosureCreditFacilityTables", "shortName": "Credit Facility (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfDebtTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R33": { "firstAnchor": { "ancestors": [ "wifi:LeaseDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LeaseCostTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "31003 - Disclosure - Leases (Tables)", "role": "http://www.boingo.com/role/DisclosureLeasesTables", "shortName": "Leases (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "wifi:LeaseDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LeaseCostTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R34": { "firstAnchor": { "ancestors": [ "wifi:NotesPayableTextBlock", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "wifi:ScheduleOfFutureMinimumLeasePaymentsUnderNotesPayableTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "31101 - Disclosure - Notes payable (Tables)", "role": "http://www.boingo.com/role/DisclosureNotesPayableTables", "shortName": "Notes payable (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "wifi:NotesPayableTextBlock", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "wifi:ScheduleOfFutureMinimumLeasePaymentsUnderNotesPayableTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R35": { "firstAnchor": { "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "31203 - Disclosure - Fair value measurement (Tables)", "role": "http://www.boingo.com/role/DisclosureFairValueMeasurementTables", "shortName": "Fair value measurement (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R36": { "firstAnchor": { "ancestors": [ "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "31503 - Disclosure - Stock incentive plans (Tables)", "role": "http://www.boingo.com/role/DisclosureStockIncentivePlansTables", "shortName": "Stock incentive plans (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R37": { "firstAnchor": { "ancestors": [ "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "31603 - Disclosure - Net income (loss) per share attributable to common stockholders (Tables)", "role": "http://www.boingo.com/role/DisclosureNetIncomeLossPerShareAttributableToCommonStockholdersTables", "shortName": "Net income (loss) per share attributable to common stockholders (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R38": { "firstAnchor": { "ancestors": [ "p", "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_srt_RangeAxis_srt_MinimumMember_YMylC3EuE0K9v3xfP0NxKA", "decimals": "-5", "first": true, "lang": null, "name": "wifi:NumberOfCommercialHotspotsForWhichAccessIsProvided", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_item_4az5rQoS1UmWtqOA4cyMSw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40101 - Disclosure - The business (Details)", "role": "http://www.boingo.com/role/DisclosureBusinessDetails", "shortName": "The business (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_srt_RangeAxis_srt_MinimumMember_YMylC3EuE0K9v3xfP0NxKA", "decimals": "-5", "first": true, "lang": null, "name": "wifi:NumberOfCommercialHotspotsForWhichAccessIsProvided", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_item_4az5rQoS1UmWtqOA4cyMSw", "xsiNil": "false" } }, "R39": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "As_Of_6_30_2019_Bl3kLZ7k20WX-V8XjrDHIw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:OperatingLeaseRightOfUseAsset", "reportCount": 1, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40201 - Disclosure - Summary of significant accounting policies - Basis of presentation (Details)", "role": "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesBasisOfPresentationDetails", "shortName": "Summary of significant accounting policies - Basis of presentation (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "As_Of_1_1_2019_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate201409Member_si232Y8J6kCrr5EeUx2Amg", "decimals": "-3", "lang": null, "name": "us-gaap:OperatingLeaseRightOfUseAsset", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" } }, "R4": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_4_1_2019_To_6_30_2019_Mh3TZyedEkm_32dT4Oi5aw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00200 - Statement - Condensed Consolidated Statements of Operations", "role": "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfOperations", "shortName": "Condensed Consolidated Statements of Operations", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_4_1_2019_To_6_30_2019_Mh3TZyedEkm_32dT4Oi5aw", "decimals": "-3", "lang": null, "name": "us-gaap:DirectOperatingCommunicationsCosts", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" } }, "R40": { "firstAnchor": { "ancestors": [ "p", "us-gaap:ConsolidationPolicyTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "As_Of_6_30_2019_srt_OwnershipAxis_wifi_ChicagoConcourseDevelopmentGroupLLCMember_jYisRPO1nEazZkW-NhBFbg", "decimals": "2", "first": true, "lang": null, "name": "us-gaap:MinorityInterestOwnershipPercentageByParent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_gessPQeA_0GEU2iz1ODgVg", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40202 - Disclosure - Summary of significant accounting policies - Principles of consolidation (Details)", "role": "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPrinciplesOfConsolidationDetails", "shortName": "Summary of significant accounting policies - Principles of consolidation (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:ConsolidationPolicyTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "As_Of_6_30_2019_srt_OwnershipAxis_wifi_ChicagoConcourseDevelopmentGroupLLCMember_jYisRPO1nEazZkW-NhBFbg", "decimals": "2", "first": true, "lang": null, "name": "us-gaap:MinorityInterestOwnershipPercentageByParent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_gessPQeA_0GEU2iz1ODgVg", "xsiNil": "false" } }, "R41": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "As_Of_6_30_2019_Bl3kLZ7k20WX-V8XjrDHIw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent", "reportCount": 1, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40203 - Disclosure - Summary of significant accounting policies - Marketable securities (Details)", "role": "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesMarketableSecuritiesDetails", "shortName": "Summary of significant accounting policies - Marketable securities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:MarketableSecuritiesPolicy", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "As_Of_6_30_2019_Bl3kLZ7k20WX-V8XjrDHIw", "decimals": "-3", "lang": null, "name": "us-gaap:AccumulatedOtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" } }, "R42": { "firstAnchor": { "ancestors": [ "p", "us-gaap:SegmentReportingPolicyPolicyTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:NumberOfReportableSegments", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_segment_iSOjbCwpXkC_u2SLDy8-HA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40204 - Disclosure - Summary of significant accounting policies - Segment and geographic information (Details)", "role": "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesSegmentAndGeographicInformationDetails", "shortName": "Summary of significant accounting policies - Segment and geographic information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:SegmentReportingPolicyPolicyTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:NumberOfReportableSegments", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_segment_iSOjbCwpXkC_u2SLDy8-HA", "xsiNil": "false" } }, "R43": { "firstAnchor": null, "groupType": "disclosure", "isDefault": "false", "longName": "40205 - Disclosure - Summary of significant accounting policies - Revenue recognition - Practical expedient (Details)", "role": "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRevenueRecognitionPracticalExpedientDetails", "shortName": "Summary of significant accounting policies - Revenue recognition - Practical expedient (Details)", "subGroupType": "details", "uniqueAnchor": null }, "R44": { "firstAnchor": { "ancestors": [ "p", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_srt_RangeAxis_srt_MaximumMember_RjV1GnRsEEqFBlsXRYtJ2g", "decimals": null, "first": true, "lang": "en-US", "name": "wifi:RevenuePerformanceObligationPaymentTerms", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40206 - Disclosure - Summary of significant accounting policies - Revenue recognition - Terms of contracts (Details)", "role": "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRevenueRecognitionTermsOfContractsDetails", "shortName": "Summary of significant accounting policies - Revenue recognition - Terms of contracts (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_srt_RangeAxis_srt_MaximumMember_RjV1GnRsEEqFBlsXRYtJ2g", "decimals": null, "first": true, "lang": "en-US", "name": "wifi:RevenuePerformanceObligationPaymentTerms", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R45": { "firstAnchor": { "ancestors": [ "p", "us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "As_Of_6_30_2019_Bl3kLZ7k20WX-V8XjrDHIw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40207 - Disclosure - Summary of significant accounting policies - Foreign currency translation (Details)", "role": "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesForeignCurrencyTranslationDetails", "shortName": "Summary of significant accounting policies - Foreign currency translation (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "As_Of_6_30_2019_Bl3kLZ7k20WX-V8XjrDHIw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" } }, "R46": { "firstAnchor": { "ancestors": [ "p", "us-gaap:BusinessCombinationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_8_1_2018_To_8_1_2018_us-gaap_BusinessAcquisitionAxis_wifi_ElauwitNetworksLlcMember_mAcijJnCXkOX34rwx1w_Ug", "decimals": "-3", "first": true, "lang": null, "name": "wifi:BusinessCombinationConsiderationTransferredBeforeContingentConsideration", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40301 - Disclosure - Acquisitions (Details)", "role": "http://www.boingo.com/role/DisclosureAcquisitionsDetails", "shortName": "Acquisitions (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:BusinessCombinationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_8_1_2018_To_8_1_2018_us-gaap_BusinessAcquisitionAxis_wifi_ElauwitNetworksLlcMember_mAcijJnCXkOX34rwx1w_Ug", "decimals": "-3", "first": true, "lang": null, "name": "wifi:BusinessCombinationConsiderationTransferredBeforeContingentConsideration", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" } }, "R47": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "As_Of_6_30_2019_Bl3kLZ7k20WX-V8XjrDHIw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Goodwill", "reportCount": 1, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40302 - Disclosure - Acquisitions - Preliminary Purchase price allocations (Details)", "role": "http://www.boingo.com/role/DisclosureAcquisitionsPreliminaryPurchasePriceAllocationsDetails", "shortName": "Acquisitions - Preliminary Purchase price allocations (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_us-gaap_BusinessAcquisitionAxis_wifi_ElauwitNetworksLlcMember_c8dPFoUhUUaFky4vnx5DCQ", "decimals": "-3", "lang": null, "name": "us-gaap:GoodwillPurchaseAccountingAdjustments", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" } }, "R48": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "wifi:BusinessAcquisitionActualResultsOfAcquireeTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_4_1_2019_To_6_30_2019_us-gaap_BusinessAcquisitionAxis_wifi_ElauwitNetworksLlcMember_BGz4cdU5I0O24ccERa0pVA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40303 - Disclosure - Acquisitions - Actual and pro forma results (unaudited) (Details)", "role": "http://www.boingo.com/role/DisclosureAcquisitionsActualAndProFormaResultsUnauditedDetails", "shortName": "Acquisitions - Actual and pro forma results (unaudited) (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "wifi:BusinessAcquisitionActualResultsOfAcquireeTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_4_1_2019_To_6_30_2019_us-gaap_BusinessAcquisitionAxis_wifi_ElauwitNetworksLlcMember_BGz4cdU5I0O24ccERa0pVA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" } }, "R49": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock", "us-gaap:CashCashEquivalentsAndMarketableSecuritiesTextBlock", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "As_Of_6_30_2019_Bl3kLZ7k20WX-V8XjrDHIw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Cash", "reportCount": 1, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40401 - Disclosure - Cash and cash equivalents and marketable securities (Details)", "role": "http://www.boingo.com/role/DisclosureCashAndCashEquivalentsAndMarketableSecuritiesDetails", "shortName": "Cash and cash equivalents and marketable securities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock", "us-gaap:CashCashEquivalentsAndMarketableSecuritiesTextBlock", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "As_Of_12_31_2018_XuWIqjO5AUetkfRrfFu45Q", "decimals": "-3", "lang": null, "name": "us-gaap:Cash", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" } }, "R5": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_4_1_2019_To_6_30_2019_Mh3TZyedEkm_32dT4Oi5aw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ProfitLoss", "reportCount": 1, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00300 - Statement - Condensed Consolidated Statements of Comprehensive Income (Loss)", "role": "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncomeLoss", "shortName": "Condensed Consolidated Statements of Comprehensive Income (Loss)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_4_1_2019_To_6_30_2019_Mh3TZyedEkm_32dT4Oi5aw", "decimals": "-3", "lang": null, "name": "us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" } }, "R50": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "As_Of_12_31_2018_XuWIqjO5AUetkfRrfFu45Q", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ContractWithCustomerAssetNet", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40501 - Disclosure - Contract assets and contract liabilities (Details)", "role": "http://www.boingo.com/role/DisclosureContractAssetsAndContractLiabilitiesDetails", "shortName": "Contract assets and contract liabilities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "As_Of_12_31_2018_XuWIqjO5AUetkfRrfFu45Q", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ContractWithCustomerAssetNet", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" } }, "R51": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "As_Of_6_30_2019_Bl3kLZ7k20WX-V8XjrDHIw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:PropertyPlantAndEquipmentGross", "reportCount": 1, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40601 - Disclosure - Property and equipment (Details)", "role": "http://www.boingo.com/role/DisclosurePropertyAndEquipmentDetails", "shortName": "Property and equipment (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "As_Of_12_31_2018_XuWIqjO5AUetkfRrfFu45Q", "decimals": "-3", "lang": null, "name": "us-gaap:PropertyPlantAndEquipmentGross", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" } }, "R52": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "As_Of_6_30_2019_Bl3kLZ7k20WX-V8XjrDHIw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ConstructionPayableCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40701 - Disclosure - Accrued expenses and other liabilities (Details)", "role": "http://www.boingo.com/role/DisclosureAccruedExpensesAndOtherLiabilitiesDetails", "shortName": "Accrued expenses and other liabilities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "As_Of_6_30_2019_Bl3kLZ7k20WX-V8XjrDHIw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ConstructionPayableCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" } }, "R53": { "firstAnchor": { "ancestors": [ "p", "wifi:ConvertibleNotesDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_10_1_2018_To_10_31_2018_us-gaap_DebtInstrumentAxis_wifi_ConvertibleUnsecuredSeniorNotesMaturingIn1stOctober2023Member_q-oDSTSwhkmscRu_Utg71g", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ProceedsFromConvertibleDebt", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40801 - Disclosure - Convertible Notes (Details)", "role": "http://www.boingo.com/role/DisclosureConvertibleNotesDetails", "shortName": "Convertible Notes (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "wifi:ConvertibleNotesDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_10_1_2018_To_10_31_2018_us-gaap_DebtInstrumentAxis_wifi_ConvertibleUnsecuredSeniorNotesMaturingIn1stOctober2023Member_q-oDSTSwhkmscRu_Utg71g", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ProceedsFromConvertibleDebt", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" } }, "R54": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ConvertibleDebtTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "As_Of_6_30_2019_us-gaap_DebtInstrumentAxis_wifi_ConvertibleUnsecuredSeniorNotesMaturingIn1stOctober2023Member_mNVkscBf1EiXXj-WLW33pA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:DebtInstrumentFaceAmount", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40802 - Disclosure - Convertible Notes - Carrying and fair value (Details)", "role": "http://www.boingo.com/role/DisclosureConvertibleNotesCarryingAndFairValueDetails", "shortName": "Convertible Notes - Carrying and fair value (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ConvertibleDebtTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "As_Of_6_30_2019_us-gaap_DebtInstrumentAxis_wifi_ConvertibleUnsecuredSeniorNotesMaturingIn1stOctober2023Member_mNVkscBf1EiXXj-WLW33pA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:DebtInstrumentFaceAmount", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" } }, "R55": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "wifi:ScheduleOfInterestExpenseConvertibleNotesTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_4_1_2019_To_6_30_2019_us-gaap_DebtInstrumentAxis_wifi_ConvertibleUnsecuredSeniorNotesMaturingIn1stOctober2023Member_12twhl2b2kW5EzjvwYUvLw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:InterestExpenseDebtExcludingAmortization", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40803 - Disclosure - Convertible Notes - Debt issuance costs and interest expense (Details)", "role": "http://www.boingo.com/role/DisclosureConvertibleNotesDebtIssuanceCostsAndInterestExpenseDetails", "shortName": "Convertible Notes - Debt issuance costs and interest expense (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "wifi:ScheduleOfInterestExpenseConvertibleNotesTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_4_1_2019_To_6_30_2019_us-gaap_DebtInstrumentAxis_wifi_ConvertibleUnsecuredSeniorNotesMaturingIn1stOctober2023Member_12twhl2b2kW5EzjvwYUvLw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:InterestExpenseDebtExcludingAmortization", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" } }, "R56": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "wifi:ScheduleOfDebtDiscountAndDebtIssuanceCostsFutureAmortizationExpenseTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_us-gaap_DebtInstrumentAxis_wifi_ConvertibleUnsecuredSeniorNotesMaturingIn1stOctober2023Member_VBPyvp1y2kyuPjZlwTMISw", "decimals": "-3", "first": true, "lang": null, "name": "wifi:DebtDiscountCostsAmortizationExpenseRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40804 - Disclosure - Convertible Notes - Amortization expense, debt discount and debt issuance costs (Details)", "role": "http://www.boingo.com/role/DisclosureConvertibleNotesAmortizationExpenseDebtDiscountAndDebtIssuanceCostsDetails", "shortName": "Convertible Notes - Amortization expense, debt discount and debt issuance costs (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "wifi:ScheduleOfDebtDiscountAndDebtIssuanceCostsFutureAmortizationExpenseTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_us-gaap_DebtInstrumentAxis_wifi_ConvertibleUnsecuredSeniorNotesMaturingIn1stOctober2023Member_VBPyvp1y2kyuPjZlwTMISw", "decimals": "-3", "first": true, "lang": null, "name": "wifi:DebtDiscountCostsAmortizationExpenseRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" } }, "R57": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfDebtTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "As_Of_6_30_2019_Bl3kLZ7k20WX-V8XjrDHIw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear", "reportCount": 1, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40901 - Disclosure - Credit Facility (Details)", "role": "http://www.boingo.com/role/DisclosureCreditFacilityDetails", "shortName": "Credit Facility (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "wifi:ScheduleOfFutureAmortizationExpenseForDebtIssuanceCostsTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": "-3", "lang": null, "name": "wifi:AmortizationOfDebtIssuanceCostsRemainderOfCurrentYear", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" } }, "R58": { "firstAnchor": { "ancestors": [ "p", "wifi:LeaseDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "As_Of_6_30_2019_Bl3kLZ7k20WX-V8XjrDHIw", "decimals": "0", "first": true, "lang": null, "name": "wifi:LeaseMinimumNumberRenewalOptions", "reportCount": 1, "unitRef": "Unit_Standard_item_4az5rQoS1UmWtqOA4cyMSw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41001 - Disclosure - Leases (Details)", "role": "http://www.boingo.com/role/DisclosureLeasesDetails", "shortName": "Leases (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "wifi:LeaseDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseExistenceOfOptionToExtend", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R59": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "wifi:ScheduleOfFutureMinimumLeasePaymentsUnderNonCancellableLeasesTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "As_Of_6_30_2019_Bl3kLZ7k20WX-V8XjrDHIw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41002 - Disclosure - Leases - Schedule of Maturities of Lease Liabilities (Details)", "role": "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetails", "shortName": "Leases - Schedule of Maturities of Lease Liabilities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "wifi:ScheduleOfFutureMinimumLeasePaymentsUnderNonCancellableLeasesTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "As_Of_6_30_2019_Bl3kLZ7k20WX-V8XjrDHIw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" } }, "R6": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_5WjPc0NewEuV8G_bfM_aug", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest", "reportCount": 1, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00400 - Statement - Condensed Consolidated Statement of Stockholders' Equity", "role": "http://www.boingo.com/role/StatementCondensedConsolidatedStatementOfStockholdersEquity", "shortName": "Condensed Consolidated Statement of Stockholders' Equity", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2018_To_3_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_maaeXdlJxU2DiA4yjC4Uug", "decimals": "-3", "lang": null, "name": "us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" } }, "R60": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "As_Of_12_31_2018_XuWIqjO5AUetkfRrfFu45Q", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:OperatingLeasesFutureMinimumPaymentsDueCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41003 - Disclosure - Leases - Schedule of Future minimum lease payments under non-cancellable leases (Details)", "role": "http://www.boingo.com/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNonCancellableLeasesDetails", "shortName": "Leases - Schedule of Future minimum lease payments under non-cancellable leases (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "As_Of_12_31_2018_XuWIqjO5AUetkfRrfFu45Q", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:OperatingLeasesFutureMinimumPaymentsDueCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" } }, "R61": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "wifi:ScheduleOfFutureMinimumLeasePaymentsUnderNotesPayableTableTextBlock", "wifi:NotesPayableTextBlock", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "As_Of_6_30_2019_Bl3kLZ7k20WX-V8XjrDHIw", "decimals": "-3", "first": true, "lang": null, "name": "wifi:PrepaidMaintenanceServicesFinancingPaymentRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41101 - Disclosure - Notes payable (Details)", "role": "http://www.boingo.com/role/DisclosureNotesPayableDetails", "shortName": "Notes payable (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "wifi:ScheduleOfFutureMinimumLeasePaymentsUnderNotesPayableTableTextBlock", "wifi:NotesPayableTextBlock", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "As_Of_6_30_2019_Bl3kLZ7k20WX-V8XjrDHIw", "decimals": "-3", "first": true, "lang": null, "name": "wifi:PrepaidMaintenanceServicesFinancingPaymentRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" } }, "R62": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "As_Of_6_30_2019_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_99BSKQKXqU6Wqf4pm6Bgeg", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CashAndCashEquivalentsFairValueDisclosure", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41201 - Disclosure - Fair value measurement (Details)", "role": "http://www.boingo.com/role/DisclosureFairValueMeasurementDetails", "shortName": "Fair value measurement (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "As_Of_6_30_2019_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_99BSKQKXqU6Wqf4pm6Bgeg", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CashAndCashEquivalentsFairValueDisclosure", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" } }, "R63": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "As_Of_12_31_2018_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_G9m8L2ZP6UuxiMqEo_lF_Q", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41202 - Disclosure - Fair value measurement - Level 3 Reconciliation (Details)", "role": "http://www.boingo.com/role/DisclosureFairValueMeasurementLevel3ReconciliationDetails", "shortName": "Fair value measurement - Level 3 Reconciliation (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "As_Of_12_31_2018_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_G9m8L2ZP6UuxiMqEo_lF_Q", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" } }, "R64": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_4_1_2019_To_6_30_2019_Mh3TZyedEkm_32dT4Oi5aw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:IncomeTaxExpenseBenefit", "reportCount": 1, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41301 - Disclosure - Income taxes (Details)", "role": "http://www.boingo.com/role/DisclosureIncomeTaxesDetails", "shortName": "Income taxes (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_4_1_2019_To_6_30_2019_Mh3TZyedEkm_32dT4Oi5aw", "decimals": "3", "lang": null, "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_gessPQeA_0GEU2iz1ODgVg", "xsiNil": "false" } }, "R65": { "firstAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "As_Of_6_30_2019_us-gaap_ShortTermDebtTypeAxis_us-gaap_LetterOfCreditMember_e2D5_wdPZEm607wGj1aXYg", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41401 - Disclosure - Commitments and contingencies - Letters of credit (Details)", "role": "http://www.boingo.com/role/DisclosureCommitmentsAndContingenciesLettersOfCreditDetails", "shortName": "Commitments and contingencies - Letters of credit (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "As_Of_6_30_2019_us-gaap_ShortTermDebtTypeAxis_us-gaap_LetterOfCreditMember_e2D5_wdPZEm607wGj1aXYg", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" } }, "R66": { "firstAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_us-gaap_LossContingenciesByNatureOfContingencyAxis_wifi_ObligationOfUnderpaidRevenueSharePaymentsMember_A6lXZKkJxE-xXAyytB05AA", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:LossContingencyNewClaimsFiledNumber", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_claim_m3QS2lFQxEGBMgJ-c-bCfg", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41402 - Disclosure - Commitments and contingencies - Others matters (Details)", "role": "http://www.boingo.com/role/DisclosureCommitmentsAndContingenciesOthersMattersDetails", "shortName": "Commitments and contingencies - Others matters (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_us-gaap_LossContingenciesByNatureOfContingencyAxis_wifi_ObligationOfUnderpaidRevenueSharePaymentsMember_A6lXZKkJxE-xXAyytB05AA", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:LossContingencyNewClaimsFiledNumber", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_claim_m3QS2lFQxEGBMgJ-c-bCfg", "xsiNil": "false" } }, "R67": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "As_Of_6_30_2019_us-gaap_AwardTypeAxis_wifi_EmployeeAndNonemployeeStockOptionMember_tc98ZInKN0Syxl6PJQAj9w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "reportCount": 1, "unitRef": "Unit_Standard_shares_sCOVd8VgrUqlcyBXGnyxwg", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41501 - Disclosure - Stock incentive plans - Plans (Details)", "role": "http://www.boingo.com/role/DisclosureStockIncentivePlansPlansDetails", "shortName": "Stock incentive plans - Plans (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "As_Of_6_30_2019_us-gaap_AwardTypeAxis_wifi_EmployeeAndNonemployeeStockOptionMember_us-gaap_PlanNameAxis_wifi_Plan2011Member_lV-44ex600SrkooP_1Gf0w", "decimals": "INF", "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_sCOVd8VgrUqlcyBXGnyxwg", "xsiNil": "false" } }, "R68": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_4_1_2019_To_6_30_2019_Mh3TZyedEkm_32dT4Oi5aw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41502 - Disclosure - Stock incentive plans - Compensation expense (Details)", "role": "http://www.boingo.com/role/DisclosureStockIncentivePlansCompensationExpenseDetails", "shortName": "Stock incentive plans - Compensation expense (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_4_1_2019_To_6_30_2019_Mh3TZyedEkm_32dT4Oi5aw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" } }, "R69": { "firstAnchor": { "ancestors": [ "p", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_us-gaap_AwardTypeAxis_wifi_EmployeeAndNonemployeeStockOptionMember_TasbjUGSkkGv4B8wKdn5XA", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41503 - Disclosure - Stock incentive plans - Stock option awards (Details)", "role": "http://www.boingo.com/role/DisclosureStockIncentivePlansStockOptionAwardsDetails", "shortName": "Stock incentive plans - Stock option awards (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_us-gaap_AwardTypeAxis_wifi_EmployeeAndNonemployeeStockOptionMember_TasbjUGSkkGv4B8wKdn5XA", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R7": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ProfitLoss", "reportCount": 1, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00500 - Statement - Condensed Consolidated Statements of Cash Flows", "role": "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows", "shortName": "Condensed Consolidated Statements of Cash Flows", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": "-3", "lang": null, "name": "us-gaap:Depreciation", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" } }, "R70": { "firstAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_sCOVd8VgrUqlcyBXGnyxwg", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41504 - Disclosure - Stock incentive plans - Restricted stock unit awards (Details)", "role": "http://www.boingo.com/role/DisclosureStockIncentivePlansRestrictedStockUnitAwardsDetails", "shortName": "Stock incentive plans - Restricted stock unit awards (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_sCOVd8VgrUqlcyBXGnyxwg", "xsiNil": "false" } }, "R71": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_4_1_2019_To_6_30_2019_Mh3TZyedEkm_32dT4Oi5aw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "Unit_Standard_USD_YcpWVBGWskOHoaDdqzLn6A", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41601 - Disclosure - Net income (loss) per share attributable to common stockholders (Details)", "role": "http://www.boingo.com/role/DisclosureNetIncomeLossPerShareAttributableToCommonStockholdersDetails", "shortName": "Net income (loss) per share attributable to common stockholders (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_4_1_2019_To_6_30_2019_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_RestrictedStockUnitsRSUMember_LAeLmrV12EGVb0mLNRqWRQ", "decimals": "0", "lang": null, "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_sCOVd8VgrUqlcyBXGnyxwg", "xsiNil": "false" } }, "R8": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "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 - The business", "role": "http://www.boingo.com/role/DisclosureBusiness", "shortName": "The business", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R9": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10201 - Disclosure - Summary of significant accounting policies", "role": "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPolicies", "shortName": "Summary of significant accounting policies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wifi-20190630x10q.htm", "contextRef": "Duration_1_1_2019_To_6_30_2019_4cqehmlf5U6Os1_c2f2YeQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } } }, "segmentCount": 68, "tag": { "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "gMonthDayItemType" }, "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "fiscalPeriodItemType" }, "dei_DocumentFiscalYearFocus": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "This is focus fiscal year of the document report in CCYY 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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "gYearItemType" }, "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 CCYY-MM-DD.", "label": "Document Period End Date" } } }, "localname": "DocumentPeriodEndDate", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.boingo.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "dateItemType" }, "dei_DocumentQuarterlyReport": { "auth_ref": [ "r376" ], "lang": { "en-US": { "role": { "documentation": "Boolean flag that is true only for a form used as an quarterly report.", "label": "Document Quarterly Report" } } }, "localname": "DocumentQuarterlyReport", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.boingo.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_DocumentTransitionReport": { "auth_ref": [ "r377" ], "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/2019-01-31", "presentation": [ "http://www.boingo.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/2019-01-31", "presentation": [ "http://www.boingo.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/2019-01-31", "presentation": [ "http://www.boingo.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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "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/2019-01-31", "presentation": [ "http://www.boingo.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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "stateOrProvinceItemType" }, "dei_EntityCentralIndexKey": { "auth_ref": [ "r378" ], "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/2019-01-31", "presentation": [ "http://www.boingo.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/2019-01-31", "presentation": [ "http://www.boingo.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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "yesNoItemType" }, "dei_EntityEmergingGrowthCompany": { "auth_ref": [ "r378" ], "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/2019-01-31", "presentation": [ "http://www.boingo.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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "fileNumberItemType" }, "dei_EntityFilerCategory": { "auth_ref": [ "r378" ], "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/2019-01-31", "presentation": [ "http://www.boingo.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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "edgarStateCountryItemType" }, "dei_EntityInteractiveDataCurrent": { "auth_ref": [ "r379" ], "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "yesNoItemType" }, "dei_EntityRegistrantName": { "auth_ref": [ "r378" ], "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityShellCompany": { "auth_ref": [ "r378" ], "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_EntitySmallBusiness": { "auth_ref": [ "r378" ], "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_EntityTaxIdentificationNumber": { "auth_ref": [ "r378" ], "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "employerIdItemType" }, "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_Security12bTitle": { "auth_ref": [ "r374" ], "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "securityTitleItemType" }, "dei_SecurityExchangeName": { "auth_ref": [ "r375" ], "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/2019-01-31", "presentation": [ "http://www.boingo.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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "tradingSymbolItemType" }, "srt_MaximumMember": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Maximum [Member]", "terseLabel": "Maximum" } } }, "localname": "MaximumMember", "nsuri": "http://fasb.org/srt/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsDetails", "http://www.boingo.com/role/DisclosureContractAssetsAndContractLiabilitiesDetails", "http://www.boingo.com/role/DisclosureCreditFacilityDetails", "http://www.boingo.com/role/DisclosureLeasesDetails", "http://www.boingo.com/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNonCancellableLeasesDetails", "http://www.boingo.com/role/DisclosureNetIncomeLossPerShareAttributableToCommonStockholdersDetails", "http://www.boingo.com/role/DisclosureStockIncentivePlansRestrictedStockUnitAwardsDetails", "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRevenueRecognitionTermsOfContractsDetails" ], "xbrltype": "domainItemType" }, "srt_MinimumMember": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Minimum [Member]", "terseLabel": "Minimum" } } }, "localname": "MinimumMember", "nsuri": "http://fasb.org/srt/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsDetails", "http://www.boingo.com/role/DisclosureBusinessDetails", "http://www.boingo.com/role/DisclosureCreditFacilityDetails", "http://www.boingo.com/role/DisclosureLeasesDetails", "http://www.boingo.com/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNonCancellableLeasesDetails", "http://www.boingo.com/role/DisclosureStockIncentivePlansRestrictedStockUnitAwardsDetails", "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRevenueRecognitionTermsOfContractsDetails" ], "xbrltype": "domainItemType" }, "srt_OwnershipAxis": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Ownership [Axis]" } } }, "localname": "OwnershipAxis", "nsuri": "http://fasb.org/srt/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPrinciplesOfConsolidationDetails" ], "xbrltype": "stringItemType" }, "srt_OwnershipDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Ownership [Domain]", "terseLabel": "Ownership [Domain]" } } }, "localname": "OwnershipDomain", "nsuri": "http://fasb.org/srt/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPrinciplesOfConsolidationDetails" ], "xbrltype": "domainItemType" }, "srt_ProductOrServiceAxis": { "auth_ref": [ "r126", "r192", "r195", "r368", "r369" ], "lang": { "en-US": { "role": { "label": "Products and Services [Axis]" } } }, "localname": "ProductOrServiceAxis", "nsuri": "http://fasb.org/srt/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureContractAssetsAndContractLiabilitiesDetails", "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRevenueRecognitionTermsOfContractsDetails", "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesSegmentAndGeographicInformationDetails" ], "xbrltype": "stringItemType" }, "srt_ProductsAndServicesDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Products And Services [Domain]", "terseLabel": "Products and Services [Domain]" } } }, "localname": "ProductsAndServicesDomain", "nsuri": "http://fasb.org/srt/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureContractAssetsAndContractLiabilitiesDetails", "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRevenueRecognitionTermsOfContractsDetails", "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesSegmentAndGeographicInformationDetails" ], "xbrltype": "domainItemType" }, "srt_RangeAxis": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Range [Axis]" } } }, "localname": "RangeAxis", "nsuri": "http://fasb.org/srt/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsDetails", "http://www.boingo.com/role/DisclosureBusinessDetails", "http://www.boingo.com/role/DisclosureContractAssetsAndContractLiabilitiesDetails", "http://www.boingo.com/role/DisclosureCreditFacilityDetails", "http://www.boingo.com/role/DisclosureLeasesDetails", "http://www.boingo.com/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNonCancellableLeasesDetails", "http://www.boingo.com/role/DisclosureNetIncomeLossPerShareAttributableToCommonStockholdersDetails", "http://www.boingo.com/role/DisclosureStockIncentivePlansRestrictedStockUnitAwardsDetails", "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRevenueRecognitionTermsOfContractsDetails" ], "xbrltype": "stringItemType" }, "srt_RangeMember": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Range [Member]", "terseLabel": "Range [Domain]" } } }, "localname": "RangeMember", "nsuri": "http://fasb.org/srt/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsDetails", "http://www.boingo.com/role/DisclosureBusinessDetails", "http://www.boingo.com/role/DisclosureContractAssetsAndContractLiabilitiesDetails", "http://www.boingo.com/role/DisclosureCreditFacilityDetails", "http://www.boingo.com/role/DisclosureLeasesDetails", "http://www.boingo.com/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNonCancellableLeasesDetails", "http://www.boingo.com/role/DisclosureNetIncomeLossPerShareAttributableToCommonStockholdersDetails", "http://www.boingo.com/role/DisclosureStockIncentivePlansRestrictedStockUnitAwardsDetails", "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRevenueRecognitionTermsOfContractsDetails" ], "xbrltype": "domainItemType" }, "srt_TitleOfIndividualAxis": { "auth_ref": [ "r127", "r339" ], "lang": { "en-US": { "role": { "label": "Title of Individual [Axis]" } } }, "localname": "TitleOfIndividualAxis", "nsuri": "http://fasb.org/srt/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansRestrictedStockUnitAwardsDetails" ], "xbrltype": "stringItemType" }, "srt_TitleOfIndividualWithRelationshipToEntityDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Title Of Individual With Relationship To Entity [Domain]", "terseLabel": "Relationship to Entity [Domain]" } } }, "localname": "TitleOfIndividualWithRelationshipToEntityDomain", "nsuri": "http://fasb.org/srt/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansRestrictedStockUnitAwardsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AccountingPoliciesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Summary of significant accounting policies" } } }, "localname": "AccountingPoliciesAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_AccountingStandardsUpdate201409Member": { "auth_ref": [ "r196" ], "lang": { "en-US": { "role": { "documentation": "Accounting Standards Update 2014-09 Revenue from Contracts with Customers (Topic 606).", "label": "Accounting Standards Update201409 [Member]", "terseLabel": "ASC 842" } } }, "localname": "AccountingStandardsUpdate201409Member", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesBasisOfPresentationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock": { "auth_ref": [ "r30" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for accounts payable and accrued liabilities at the end of the reporting period.", "label": "Accounts Payable and Accrued Liabilities Disclosure [Text Block]", "terseLabel": "Accrued expenses and other liabilities" } } }, "localname": "AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAccruedExpensesAndOtherLiabilities" ], "xbrltype": "textBlockItemType" }, "us-gaap_AccountsPayableCurrent": { "auth_ref": [ "r29" ], "calculation": { "http://www.boingo.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" } } }, "localname": "AccountsPayableCurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableNetCurrent": { "auth_ref": [ "r2", "r17", "r128", "r129", "r193" ], "calculation": { "http://www.boingo.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" } } }, "localname": "AccountsReceivableNetCurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedIncomeTaxesCurrent": { "auth_ref": [ "r13", "r347", "r359" ], "calculation": { "http://www.boingo.com/role/DisclosureAccruedExpensesAndOtherLiabilitiesDetails": { "order": 5.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all currently due domestic and foreign income tax obligations.", "label": "Accrued Income Taxes, Current", "terseLabel": "Accrued taxes" } } }, "localname": "AccruedIncomeTaxesCurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAccruedExpensesAndOtherLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedLiabilitiesCurrent": { "auth_ref": [ "r36" ], "calculation": { "http://www.boingo.com/role/DisclosureAccruedExpensesAndOtherLiabilitiesDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred and 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 and other liabilities", "totalLabel": "Total accrued expenses and other liabilities" } } }, "localname": "AccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAccruedExpensesAndOtherLiabilitiesDetails", "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedProfessionalFeesCurrent": { "auth_ref": [ "r6", "r7", "r36" ], "calculation": { "http://www.boingo.com/role/DisclosureAccruedExpensesAndOtherLiabilitiesDetails": { "order": 7.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for professional fees, such as for legal and accounting services received. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued Professional Fees, Current", "terseLabel": "Accrued professional fees" } } }, "localname": "AccruedProfessionalFeesCurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAccruedExpensesAndOtherLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedSalariesCurrent": { "auth_ref": [ "r6", "r7", "r36" ], "calculation": { "http://www.boingo.com/role/DisclosureAccruedExpensesAndOtherLiabilitiesDetails": { "order": 4.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Carrying value as of the balance sheet date of the obligations incurred through that date and payable for employees' services provided. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued Salaries, Current", "terseLabel": "Salaries and wages" } } }, "localname": "AccruedSalariesCurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAccruedExpensesAndOtherLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": { "auth_ref": [ "r27", "r151" ], "calculation": { "http://www.boingo.com/role/DisclosurePropertyAndEquipmentDetails": { "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 and amortization" } } }, "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosurePropertyAndEquipmentDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax": { "auth_ref": [ "r49" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount, after tax, of accumulated unrealized gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Accumulated Other Comprehensive Income (Loss), Available-for-sale Securities Adjustment, Net of Tax", "terseLabel": "Unrealized gains, net of tax in accumulated other comprehensive loss" } } }, "localname": "AccumulatedOtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesMarketableSecuritiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax": { "auth_ref": [ "r46", "r48", "r49", "r50", "r302", "r306", "r308" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Accumulated adjustment, net of tax, that results from the process of translating subsidiary financial statements and foreign equity investments into the reporting currency from the functional currency of the reporting entity, net of reclassification of realized foreign currency translation gains or losses.", "label": "Accumulated Other Comprehensive Income (Loss), Foreign Currency Translation Adjustment, Net of Tax", "terseLabel": "Cumulative foreign currency translation adjustments, net of tax in accumulated other comprehensive loss" } } }, "localname": "AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesForeignCurrencyTranslationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "auth_ref": [ "r48", "r49", "r50" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.", "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax", "terseLabel": "Accumulated other comprehensive loss" } } }, "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "auth_ref": [ "r47", "r50", "r51", "r277" ], "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" } } }, "localname": "AccumulatedOtherComprehensiveIncomeMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife": { "auth_ref": [ "r143" ], "lang": { "en-US": { "role": { "documentation": "Weighted average amortization period of finite-lived intangible assets acquired either individually or as part of a group of assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Acquired Finite-lived Intangible Assets, Weighted Average Useful Life", "terseLabel": "Weighted Average Estimated Useful Life (years)" } } }, "localname": "AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsPreliminaryPurchasePriceAllocationsDetails" ], "xbrltype": "durationItemType" }, "us-gaap_AdditionalPaidInCapitalCommonStock": { "auth_ref": [ "r18" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.", "label": "Additional Paid in Capital, Common Stock", "terseLabel": "Additional paid-in capital" } } }, "localname": "AdditionalPaidInCapitalCommonStock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdditionalPaidInCapitalMember": { "auth_ref": [], "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_AdjustmentsForNewAccountingPronouncementsAxis": { "auth_ref": [ "r99" ], "lang": { "en-US": { "role": { "documentation": "Information by new accounting pronouncement.", "label": "Adjustments for New Accounting Pronouncements [Axis]" } } }, "localname": "AdjustmentsForNewAccountingPronouncementsAxis", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesBasisOfPresentationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "auth_ref": [ "r201", "r203", "r230", "r231" ], "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": "Stock-based compensation expense" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementOfStockholdersEquity" ], "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 including non-controlling interests to net cash provided by operating activities:" } } }, "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_AllocatedShareBasedCompensationExpense": { "auth_ref": [ "r203", "r225", "r229" ], "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": "Total stock-based compensation" } } }, "localname": "AllocatedShareBasedCompensationExpense", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansCompensationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AmortizationOfDebtDiscountPremium": { "auth_ref": [ "r70", "r84", "r310" ], "calculation": { "http://www.boingo.com/role/DisclosureConvertibleNotesDebtIssuanceCostsAndInterestExpenseDetails": { "order": 1.0, "parentTag": "us-gaap_InterestExpenseDebt", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of noncash expense included in interest expense to amortize debt discount and premium associated with the related debt instruments. Excludes amortization of financing costs. Alternate captions include noncash interest expense.", "label": "Amortization of Debt Discount (Premium)", "terseLabel": "Amortization of debt discount" } } }, "localname": "AmortizationOfDebtDiscountPremium", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureConvertibleNotesDebtIssuanceCostsAndInterestExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AmortizationOfFinancingCosts": { "auth_ref": [ "r64", "r84", "r312" ], "calculation": { "http://www.boingo.com/role/DisclosureConvertibleNotesDebtIssuanceCostsAndInterestExpenseDetails": { "order": 2.0, "parentTag": "us-gaap_InterestExpenseDebt", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization expense attributable to debt issuance costs.", "label": "Amortization of Financing Costs", "terseLabel": "Amortization of debt issuance costs" } } }, "localname": "AmortizationOfFinancingCosts", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureConvertibleNotesDebtIssuanceCostsAndInterestExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AmortizationOfFinancingCostsAndDiscounts": { "auth_ref": [ "r84", "r312" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization expense attributable to debt discount (premium) and debt issuance costs.", "label": "Amortization of Debt Issuance Costs and Discounts", "terseLabel": "Amortization of deferred financing costs and debt discount, net of amounts capitalized" } } }, "localname": "AmortizationOfFinancingCostsAndDiscounts", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_AmortizationOfIntangibleAssets": { "auth_ref": [ "r84", "r141", "r147" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 }, "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfOperations": { "order": 6.0, "parentTag": "us-gaap_CostsAndExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.", "label": "Amortization of Intangible Assets", "terseLabel": "Amortization of intangible assets" } } }, "localname": "AmortizationOfIntangibleAssets", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows", "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "auth_ref": [ "r109" ], "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", "verboseLabel": "Shares of common stock excluded from the computation of diluted net income per share that were anti-dilutive" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureNetIncomeLossPerShareAttributableToCommonStockholdersDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": { "auth_ref": [ "r109" ], "lang": { "en-US": { "role": { "documentation": "Information by type of antidilutive security.", "label": "Antidilutive Securities [Axis]" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureNetIncomeLossPerShareAttributableToCommonStockholdersDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AntidilutiveSecuritiesNameDomain": { "auth_ref": [ "r109" ], "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureNetIncomeLossPerShareAttributableToCommonStockholdersDetails" ], "xbrltype": "domainItemType" }, "us-gaap_Assets": { "auth_ref": [ "r124", "r345", "r358" ], "calculation": { "http://www.boingo.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", "totalLabel": "Total assets" } } }, "localname": "Assets", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.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/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsCurrent": { "auth_ref": [ "r4", "r5", "r45" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "Assets, Current", "totalLabel": "Total current assets" } } }, "localname": "AssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.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/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsFairValueDisclosure": { "auth_ref": [ "r290" ], "calculation": { "http://www.boingo.com/role/DisclosureFairValueMeasurementDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Fair value portion of probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "Assets, Fair Value Disclosure", "totalLabel": "Total assets" } } }, "localname": "AssetsFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureFairValueMeasurementDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsFairValueDisclosureAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Assets, Fair Value Disclosure [Abstract]", "terseLabel": "Assets:" } } }, "localname": "AssetsFairValueDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureFairValueMeasurementDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AvailableForSaleSecuritiesDebtSecurities": { "auth_ref": [ "r131", "r134", "r136" ], "calculation": { "http://www.boingo.com/role/DisclosureFairValueMeasurementDetails": { "order": 2.0, "parentTag": "us-gaap_AssetsFairValueDisclosure", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Debt Securities, Available-for-sale", "terseLabel": "Marketable securities" } } }, "localname": "AvailableForSaleSecuritiesDebtSecurities", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureFairValueMeasurementDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent": { "auth_ref": [ "r133", "r136" ], "calculation": { "http://www.boingo.com/role/DisclosureCashAndCashEquivalentsAndMarketableSecuritiesDetails": { "order": 1.0, "parentTag": "us-gaap_MarketableSecuritiesCurrent", "weight": 1.0 }, "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as current.", "label": "Debt Securities, Available-for-sale, Current", "terseLabel": "Marketable securities", "verboseLabel": "Short-term marketable securities" } } }, "localname": "AvailableForSaleSecuritiesDebtSecuritiesCurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureCashAndCashEquivalentsAndMarketableSecuritiesDetails", "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesMarketableSecuritiesDetails", "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AwardTypeAxis": { "auth_ref": [ "r205", "r227" ], "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureNetIncomeLossPerShareAttributableToCommonStockholdersDetails", "http://www.boingo.com/role/DisclosureStockIncentivePlansPlansDetails", "http://www.boingo.com/role/DisclosureStockIncentivePlansRestrictedStockUnitAwardsDetails", "http://www.boingo.com/role/DisclosureStockIncentivePlansStockOptionAwardsDetails" ], "xbrltype": "stringItemType" }, "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_BusinessAcquisitionAcquireeDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Identification of the acquiree in a material business combination (or series of individually immaterial business combinations), which may include the name or other type of identification of the acquiree.", "label": "Business Acquisition Acquiree [Domain]", "terseLabel": "Business Acquisition, Acquiree [Domain]" } } }, "localname": "BusinessAcquisitionAcquireeDomain", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsActualAndProFormaResultsUnauditedDetails", "http://www.boingo.com/role/DisclosureAcquisitionsDetails", "http://www.boingo.com/role/DisclosureAcquisitionsPreliminaryPurchasePriceAllocationsDetails", "http://www.boingo.com/role/DisclosureAcquisitionsTables" ], "xbrltype": "domainItemType" }, "us-gaap_BusinessAcquisitionAxis": { "auth_ref": [ "r250", "r251" ], "lang": { "en-US": { "role": { "documentation": "Information by business combination or series of individually immaterial business combinations.", "label": "Business Acquisition [Axis]" } } }, "localname": "BusinessAcquisitionAxis", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsActualAndProFormaResultsUnauditedDetails", "http://www.boingo.com/role/DisclosureAcquisitionsDetails", "http://www.boingo.com/role/DisclosureAcquisitionsPreliminaryPurchasePriceAllocationsDetails", "http://www.boingo.com/role/DisclosureAcquisitionsTables" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessAcquisitionLineItems": { "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": "Business Acquisition [Line Items]", "verboseLabel": "Acquisitions" } } }, "localname": "BusinessAcquisitionLineItems", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsActualAndProFormaResultsUnauditedDetails", "http://www.boingo.com/role/DisclosureAcquisitionsDetails", "http://www.boingo.com/role/DisclosureAcquisitionsPreliminaryPurchasePriceAllocationsDetails", "http://www.boingo.com/role/DisclosureAcquisitionsTables" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic": { "auth_ref": [ "r248", "r249" ], "lang": { "en-US": { "role": { "documentation": "The pro forma basic net income per share for a period as if the business combination or combinations had been completed at the beginning of a period.", "label": "Business Acquisition, Pro Forma Earnings Per Share, Basic", "terseLabel": "Basic" } } }, "localname": "BusinessAcquisitionProFormaEarningsPerShareBasic", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsActualAndProFormaResultsUnauditedDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted": { "auth_ref": [ "r248", "r249" ], "lang": { "en-US": { "role": { "documentation": "The pro forma diluted net income per share for a period as if the business combination or combinations had been completed at the beginning of a period.", "label": "Business Acquisition, Pro Forma Earnings Per Share, Diluted", "terseLabel": "Diluted" } } }, "localname": "BusinessAcquisitionProFormaEarningsPerShareDiluted", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsActualAndProFormaResultsUnauditedDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_BusinessAcquisitionProFormaInformationAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Business Acquisition, Pro Forma Information [Abstract]", "terseLabel": "Pro forma results (unaudited)" } } }, "localname": "BusinessAcquisitionProFormaInformationAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsActualAndProFormaResultsUnauditedDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessAcquisitionProFormaInformationTextBlock": { "auth_ref": [ "r248", "r249" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of pro forma results of operations for a material business acquisition or series of individually immaterial business acquisitions that are material in the aggregate.", "label": "Business Acquisition, Pro Forma Information [Table Text Block]", "terseLabel": "Schedule of the unaudited pro forma results" } } }, "localname": "BusinessAcquisitionProFormaInformationTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss": { "auth_ref": [ "r248", "r249" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The pro forma net Income or Loss for the period as if the business combination or combinations had been completed at the beginning of a period.", "label": "Business Acquisition, Pro Forma Net Income (Loss)", "verboseLabel": "Net income (loss)" } } }, "localname": "BusinessAcquisitionsProFormaNetIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsActualAndProFormaResultsUnauditedDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessAcquisitionsProFormaRevenue": { "auth_ref": [ "r248", "r249" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The pro forma revenue for a period as if the business combination or combinations had been completed at the beginning of the period.", "label": "Business Acquisition, Pro Forma Revenue", "terseLabel": "Revenue" } } }, "localname": "BusinessAcquisitionsProFormaRevenue", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsActualAndProFormaResultsUnauditedDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationConsiderationTransferred1": { "auth_ref": [ "r259", "r260", "r263" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.", "label": "Business Combination, Consideration Transferred", "terseLabel": "Total purchase price", "verboseLabel": "Total consideration" } } }, "localname": "BusinessCombinationConsiderationTransferred1", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsDetails", "http://www.boingo.com/role/DisclosureAcquisitionsPreliminaryPurchasePriceAllocationsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationConsiderationTransferredAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Business Combination, Consideration Transferred [Abstract]", "terseLabel": "Consideration:" } } }, "localname": "BusinessCombinationConsiderationTransferredAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsPreliminaryPurchasePriceAllocationsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred": { "auth_ref": [ "r257", "r259", "r260", "r265" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of liabilities incurred by the acquirer as part of consideration transferred in a business combination.", "label": "Business Combination, Consideration Transferred, Liabilities Incurred", "terseLabel": "Contingent consideration require payment aggregate amount" } } }, "localname": "BusinessCombinationConsiderationTransferredLiabilitiesIncurred", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationContingentConsiderationLiability": { "auth_ref": [ "r258", "r261", "r266" ], "calculation": { "http://www.boingo.com/role/DisclosureFairValueMeasurementDetails": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesFairValueDisclosure", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of liability recognized arising from contingent consideration in a business combination.", "label": "Business Combination, Contingent Consideration, Liability", "terseLabel": "Contingent consideration", "verboseLabel": "Contingent consideration fair value" } } }, "localname": "BusinessCombinationContingentConsiderationLiability", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsDetails", "http://www.boingo.com/role/DisclosureAcquisitionsPreliminaryPurchasePriceAllocationsDetails", "http://www.boingo.com/role/DisclosureFairValueMeasurementDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent": { "auth_ref": [ "r258", "r262" ], "calculation": { "http://www.boingo.com/role/DisclosureAccruedExpensesAndOtherLiabilitiesDetails": { "order": 9.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of liability recognized arising from contingent consideration in a business combination, expected to be settled within one year or the normal operating cycle, if longer.", "label": "Business Combination, Contingent Consideration, Liability, Current", "terseLabel": "Acquisition purchase consideration" } } }, "localname": "BusinessCombinationContingentConsiderationLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAccruedExpensesAndOtherLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationContingentConsiderationLiabilityMeasurementInput": { "auth_ref": [ "r295" ], "lang": { "en-US": { "role": { "documentation": "Value of input used to measure contingent consideration liability from business combination.", "label": "Business Combination, Contingent Consideration, Liability, Measurement Input", "terseLabel": "Contingent consideration valuation input" } } }, "localname": "BusinessCombinationContingentConsiderationLiabilityMeasurementInput", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsDetails" ], "xbrltype": "decimalItemType" }, "us-gaap_BusinessCombinationContingentConsiderationLiabilityValuationTechniqueExtensibleList": { "auth_ref": [ "r294" ], "lang": { "en-US": { "role": { "documentation": "Indicates valuation technique for measuring business combination contingent consideration liability.", "label": "Business Combination, Contingent Consideration, Liability, Valuation Technique [Extensible List]" } } }, "localname": "BusinessCombinationContingentConsiderationLiabilityValuationTechniqueExtensibleList", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsDetails" ], "xbrltype": "extensibleListItemType" }, "us-gaap_BusinessCombinationDisclosureTextBlock": { "auth_ref": [ "r267" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for a business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities. The disclosure may include leverage buyout transactions (as applicable).", "label": "Business Combination Disclosure [Text Block]", "terseLabel": "Acquisitions" } } }, "localname": "BusinessCombinationDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitions" ], "xbrltype": "textBlockItemType" }, "us-gaap_BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual": { "auth_ref": [ "r247" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "This element represents the amount of earnings or loss of the acquiree since the acquisition date included in the consolidated income statement for the reporting period.", "label": "Business Combination, Pro Forma Information, Earnings or Loss of Acquiree since Acquisition Date, Actual", "terseLabel": "Net loss" } } }, "localname": "BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsActualAndProFormaResultsUnauditedDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual": { "auth_ref": [ "r247" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "This element represents the amount of revenue of the acquiree since the acquisition date included in the consolidated income statement for the reporting period.", "label": "Business Combination, Pro Forma Information, Revenue of Acquiree since Acquisition Date, Actual", "terseLabel": "Revenue" } } }, "localname": "BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsActualAndProFormaResultsUnauditedDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets": { "auth_ref": [ "r253" ], "calculation": { "http://www.boingo.com/role/DisclosureAcquisitionsPreliminaryPurchasePriceAllocationsDetails": { "order": 2.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "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, acquired at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Prepaid Expense and Other Assets", "terseLabel": "Prepaid expenses and other current assets" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsPreliminaryPurchasePriceAllocationsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables": { "auth_ref": [ "r253" ], "calculation": { "http://www.boingo.com/role/DisclosureAcquisitionsPreliminaryPurchasePriceAllocationsDetails": { "order": 1.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount due from customers or clients for goods or services, including trade receivables, that have been delivered or sold in the normal course of business, and amounts due from others, including related parties expected to be converted to cash, sold or exchanged within one year or the normal operating cycle, if longer, acquired at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Receivables", "terseLabel": "Accounts receivable" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsPreliminaryPurchasePriceAllocationsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable": { "auth_ref": [ "r253" ], "calculation": { "http://www.boingo.com/role/DisclosureAcquisitionsPreliminaryPurchasePriceAllocationsDetails": { "order": 5.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of liabilities incurred for goods and services received that are used in an entity's business and related party payables, assumed at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Accounts Payable", "negatedLabel": "Accounts payable" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsPreliminaryPurchasePriceAllocationsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue": { "auth_ref": [ "r253" ], "calculation": { "http://www.boingo.com/role/DisclosureAcquisitionsPreliminaryPurchasePriceAllocationsDetails": { "order": 7.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of deferred revenue expected to be recognized as such within one year or the normal operating cycle, if longer, assumed at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Deferred Revenue", "negatedLabel": "Deferred revenue" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsPreliminaryPurchasePriceAllocationsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles": { "auth_ref": [ "r252", "r253" ], "calculation": { "http://www.boingo.com/role/DisclosureAcquisitionsPreliminaryPurchasePriceAllocationsDetails": { "order": 2.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The amount of identifiable intangible assets recognized as of the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Finite-Lived Intangibles", "terseLabel": "Intangibles" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsPreliminaryPurchasePriceAllocationsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet": { "auth_ref": [ "r252", "r253" ], "calculation": { "http://www.boingo.com/role/DisclosureAcquisitionsPreliminaryPurchasePriceAllocationsDetails": { "order": 1.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount recognized as of the acquisition date for the identifiable assets acquired in excess of (less than) the aggregate liabilities assumed.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Net", "totalLabel": "Net tangible liabilities acquired" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsPreliminaryPurchasePriceAllocationsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther": { "auth_ref": [ "r253" ], "calculation": { "http://www.boingo.com/role/DisclosureAcquisitionsPreliminaryPurchasePriceAllocationsDetails": { "order": 8.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of other liabilities due after one year or the normal operating cycle, if longer, assumed at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Noncurrent Liabilities, Other", "negatedLabel": "Other non-current liabilities" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsPreliminaryPurchasePriceAllocationsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets": { "auth_ref": [ "r253" ], "calculation": { "http://www.boingo.com/role/DisclosureAcquisitionsPreliminaryPurchasePriceAllocationsDetails": { "order": 4.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of other assets expected to be realized or consumed after one year or the normal operating cycle, if longer, acquired at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Other Noncurrent Assets", "verboseLabel": "Other non-current assets" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsPreliminaryPurchasePriceAllocationsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment": { "auth_ref": [ "r252", "r253" ], "calculation": { "http://www.boingo.com/role/DisclosureAcquisitionsPreliminaryPurchasePriceAllocationsDetails": { "order": 3.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The amount of property, plant, and equipment recognized as of the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment", "terseLabel": "Property and equipment" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsPreliminaryPurchasePriceAllocationsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet": { "auth_ref": [ "r253" ], "calculation": { "http://www.boingo.com/role/DisclosureAcquisitionsPreliminaryPurchasePriceAllocationsDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount recognized for assets, including goodwill, in excess of (less than) the aggregate liabilities assumed.", "label": "Business Combination, Recognized Identifiable Assets Acquired, Goodwill, and Liabilities Assumed, Net", "totalLabel": "Total purchase price" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsPreliminaryPurchasePriceAllocationsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired, Goodwill, and Liabilities Assumed, Net [Abstract]", "terseLabel": "Recognized amounts of identifiable assets acquired and liabilities assumed:" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsPreliminaryPurchasePriceAllocationsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessCombinationsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Acquisitions" } } }, "localname": "BusinessCombinationsAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_CallOptionMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Financial contract between two parties, the buyer and the seller of the option, where the buyer has the right but not the obligation to buy an agreed quantity of a particular commodity or financial instrument (the underlying instrument) from the seller of the option for a certain price (the strike price). Seller is obligated to sell the asset to the buyer, if the buyer exercises the option.", "label": "Call Option [Member]", "terseLabel": "Call option" } } }, "localname": "CallOptionMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureConvertibleNotesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CapitalExpendituresIncurredButNotYetPaid": { "auth_ref": [ "r87", "r88", "r89" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Future cash outflow to pay for purchases of fixed assets that have occurred.", "label": "Capital Expenditures Incurred but Not yet Paid", "terseLabel": "Property and equipment costs in accounts payable, accrued expenses and other liabilities" } } }, "localname": "CapitalExpendituresIncurredButNotYetPaid", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalLeaseObligationsCurrent": { "auth_ref": [ "r12", "r316", "r318" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of capital lease obligation due within one year or the normal operating cycle, if longer.", "label": "Capital Lease Obligations, Current", "terseLabel": "Current portion of capital leases" } } }, "localname": "CapitalLeaseObligationsCurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNonCancellableLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalLeaseObligationsNoncurrent": { "auth_ref": [ "r40", "r316", "r318" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount equal to the present value (the principal) at the beginning of the lease term of minimum lease payments during the lease term (excluding that portion of the payments representing executory costs such as insurance, maintenance, and taxes to be paid by the lessor, together with any profit thereon) net of payments or other amounts applied to the principal, through the balance sheet date and due to be paid more than one year (or one operating cycle, if longer) after the balance sheet date.", "label": "Capital Lease Obligations, Noncurrent", "terseLabel": "Long-term portion of capital leases" } } }, "localname": "CapitalLeaseObligationsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNonCancellableLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalLeasedAssetsLineItems": { "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": "Capital Leased Assets [Line Items]", "terseLabel": "Leases" } } }, "localname": "CapitalLeasedAssetsLineItems", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNonCancellableLeasesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CapitalLeasesFutureMinimumPaymentsDue": { "auth_ref": [ "r318" ], "calculation": { "http://www.boingo.com/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNonCancellableLeasesDetails": { "order": 1.0, "parentTag": "us-gaap_CapitalLeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of minimum lease payments for capital leases.", "label": "Capital Leases, Future Minimum Payments Due", "totalLabel": "Minimum lease payments" } } }, "localname": "CapitalLeasesFutureMinimumPaymentsDue", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNonCancellableLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalLeasesFutureMinimumPaymentsDueAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Capital Leases, Future Minimum Payments Due, Fiscal Year Maturity [Abstract]", "terseLabel": "Capital Leases" } } }, "localname": "CapitalLeasesFutureMinimumPaymentsDueAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNonCancellableLeasesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CapitalLeasesFutureMinimumPaymentsDueCurrent": { "auth_ref": [ "r318" ], "calculation": { "http://www.boingo.com/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNonCancellableLeasesDetails": { "order": 1.0, "parentTag": "us-gaap_CapitalLeasesFutureMinimumPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of minimum lease payments for capital leases 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": "Capital Leases, Future Minimum Payments Due, Next Twelve Months", "terseLabel": "January 1, 2019 - December 31, 2019" } } }, "localname": "CapitalLeasesFutureMinimumPaymentsDueCurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNonCancellableLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalLeasesFutureMinimumPaymentsDueInFiveYears": { "auth_ref": [ "r318" ], "calculation": { "http://www.boingo.com/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNonCancellableLeasesDetails": { "order": 5.0, "parentTag": "us-gaap_CapitalLeasesFutureMinimumPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of minimum lease payments for capital leases due in the fifth 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": "Capital Leases, Future Minimum Payments Due in Five Years", "terseLabel": "January 1, 2023 - December 31, 2023" } } }, "localname": "CapitalLeasesFutureMinimumPaymentsDueInFiveYears", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNonCancellableLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalLeasesFutureMinimumPaymentsDueInFourYears": { "auth_ref": [ "r318" ], "calculation": { "http://www.boingo.com/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNonCancellableLeasesDetails": { "order": 4.0, "parentTag": "us-gaap_CapitalLeasesFutureMinimumPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of minimum lease payments for capital leases 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": "Capital Leases, Future Minimum Payments Due in Four Years", "terseLabel": "January 1, 2022 - December 31, 2022" } } }, "localname": "CapitalLeasesFutureMinimumPaymentsDueInFourYears", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNonCancellableLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalLeasesFutureMinimumPaymentsDueInThreeYears": { "auth_ref": [ "r318" ], "calculation": { "http://www.boingo.com/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNonCancellableLeasesDetails": { "order": 3.0, "parentTag": "us-gaap_CapitalLeasesFutureMinimumPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of minimum lease payments for capital leases 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": "Capital Leases, Future Minimum Payments Due in Three Years", "terseLabel": "January 1, 2021 - December 31, 2021" } } }, "localname": "CapitalLeasesFutureMinimumPaymentsDueInThreeYears", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNonCancellableLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalLeasesFutureMinimumPaymentsDueInTwoYears": { "auth_ref": [ "r318" ], "calculation": { "http://www.boingo.com/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNonCancellableLeasesDetails": { "order": 2.0, "parentTag": "us-gaap_CapitalLeasesFutureMinimumPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of minimum lease payments for capital leases 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": "Capital Leases, Future Minimum Payments Due in Two Years", "terseLabel": "January 1, 2020 - December 31, 2020" } } }, "localname": "CapitalLeasesFutureMinimumPaymentsDueInTwoYears", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNonCancellableLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalLeasesFutureMinimumPaymentsDueThereafter": { "auth_ref": [ "r318" ], "calculation": { "http://www.boingo.com/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNonCancellableLeasesDetails": { "order": 6.0, "parentTag": "us-gaap_CapitalLeasesFutureMinimumPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of minimum lease payments for capital leases due after the fifth 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": "Capital Leases, Future Minimum Payments Due Thereafter", "terseLabel": "Thereafter" } } }, "localname": "CapitalLeasesFutureMinimumPaymentsDueThereafter", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNonCancellableLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalLeasesFutureMinimumPaymentsInterestIncludedInPayments": { "auth_ref": [ "r318" ], "calculation": { "http://www.boingo.com/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNonCancellableLeasesDetails": { "order": 2.0, "parentTag": "us-gaap_CapitalLeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount necessary to reduce net minimum lease payments to present value for capital leases.", "label": "Capital Leases, Future Minimum Payments, Interest Included in Payments", "negatedLabel": "Less: Amounts representing interest ranging from 1.3% to 7.7%" } } }, "localname": "CapitalLeasesFutureMinimumPaymentsInterestIncludedInPayments", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNonCancellableLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalLeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments": { "auth_ref": [ "r318" ], "calculation": { "http://www.boingo.com/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNonCancellableLeasesDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Present value of minimum lease payments for capital leases net of executory costs, including amounts paid by the lessee to the lessor for insurance, maintenance and taxes.", "label": "Capital Leases, Future Minimum Payments, Present Value of Net Minimum Payments", "totalLabel": "Minimum lease payments" } } }, "localname": "CapitalLeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNonCancellableLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_Cash": { "auth_ref": [ "r25", "r370", "r371" ], "calculation": { "http://www.boingo.com/role/DisclosureCashAndCashEquivalentsAndMarketableSecuritiesDetails": { "order": 1.0, "parentTag": "us-gaap_CashAndCashEquivalentsAtCarryingValue", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Excludes cash and cash equivalents within disposal group and discontinued operation.", "label": "Cash", "terseLabel": "Cash" } } }, "localname": "Cash", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureCashAndCashEquivalentsAndMarketableSecuritiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "auth_ref": [ "r1", "r25", "r86" ], "calculation": { "http://www.boingo.com/role/DisclosureCashAndCashEquivalentsAndMarketableSecuritiesDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_AssetsCurrent", "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", "totalLabel": "Total cash and cash equivalents" } } }, "localname": "CashAndCashEquivalentsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureCashAndCashEquivalentsAndMarketableSecuritiesDetails", "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Cash and Cash Equivalents, at Carrying Value [Abstract]", "terseLabel": "Cash and cash equivalents:" } } }, "localname": "CashAndCashEquivalentsAtCarryingValueAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureCashAndCashEquivalentsAndMarketableSecuritiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CashAndCashEquivalentsFairValueDisclosure": { "auth_ref": [], "calculation": { "http://www.boingo.com/role/DisclosureFairValueMeasurementDetails": { "order": 1.0, "parentTag": "us-gaap_AssetsFairValueDisclosure", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Fair value portion 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.", "label": "Cash and Cash Equivalents, Fair Value Disclosure", "verboseLabel": "Money market accounts" } } }, "localname": "CashAndCashEquivalentsFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureFairValueMeasurementDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsAndMarketableSecuritiesTextBlock": { "auth_ref": [ "r9", "r135" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure of cash, cash equivalents, and debt and equity securities, including any unrealized or realized gain (loss).", "label": "Cash, Cash Equivalents, and Marketable Securities [Text Block]", "terseLabel": "Cash and cash equivalents and marketable securities" } } }, "localname": "CashCashEquivalentsAndMarketableSecuritiesTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureCashAndCashEquivalentsAndMarketableSecurities" ], "xbrltype": "textBlockItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "auth_ref": [ "r81", "r86", "r90" ], "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 and cash equivalents at beginning of period" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "auth_ref": [ "r81", "r305" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect", "totalLabel": "Net decrease in cash, cash equivalents, and restricted cash" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Cash Flow, Noncash Investing and Financing Activities Disclosure [Abstract]", "terseLabel": "Supplemental disclosure of non-cash investing and financing activities" } } }, "localname": "CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_CommitmentsAndContingencies": { "auth_ref": [ "r42", "r156", "r351", "r365" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.", "label": "Commitments and Contingencies.", "terseLabel": "Commitments and contingencies (Note 14)" } } }, "localname": "CommitmentsAndContingencies", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.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/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "auth_ref": [ "r155", "r165" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for commitments and contingencies.", "label": "Commitments and Contingencies Disclosure [Text Block]", "terseLabel": "Commitments and contingencies" } } }, "localname": "CommitmentsAndContingenciesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureCommitmentsAndContingencies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CommonStockMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Stock that is subordinate to all other stock of the issuer.", "label": "Common Stock [Member]", "terseLabel": "Common Stock" } } }, "localname": "CommonStockMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_CommonStockParOrStatedValuePerShare": { "auth_ref": [ "r16" ], "lang": { "en-US": { "role": { "documentation": "Face amount or stated value per share of common stock.", "label": "Common Stock, Par or Stated Value Per Share", "terseLabel": "Common stock, par value (in dollars per share)" } } }, "localname": "CommonStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockSharesAuthorized": { "auth_ref": [ "r16" ], "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": "Common stock, shares authorized" } } }, "localname": "CommonStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesIssued": { "auth_ref": [ "r16" ], "lang": { "en-US": { "role": { "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.", "label": "Common Stock, Shares, Issued", "periodEndLabel": "Balance (in shares)", "periodStartLabel": "Balance (in shares)", "terseLabel": "Common stock, shares issued" } } }, "localname": "CommonStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical", "http://www.boingo.com/role/StatementCondensedConsolidatedStatementOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesOutstanding": { "auth_ref": [ "r16", "r175" ], "lang": { "en-US": { "role": { "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.", "label": "Common Stock, Shares, Outstanding", "terseLabel": "Common stock, shares outstanding" } } }, "localname": "CommonStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockValue": { "auth_ref": [ "r16" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 2.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", "verboseLabel": "Common stock, $0.0001 par value; 100,000 shares authorized; 44,107 and 42,669 shares issued and outstanding at June 30, 2019 and December 31, 2018, respectively" } } }, "localname": "CommonStockValue", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComprehensiveIncomeNetOfTax": { "auth_ref": [ "r54", "r56", "r57" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncomeLoss": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.", "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent", "totalLabel": "Comprehensive income (loss) attributable to common stockholders" } } }, "localname": "ComprehensiveIncomeNetOfTax", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncomeLoss" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest": { "auth_ref": [ "r54", "r56", "r271", "r272", "r281" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncomeLoss": { "order": 1.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income (loss) and other comprehensive income (loss), attributable to noncontrolling interests. Excludes changes in equity resulting from investments by owners and distributions to owners.", "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Noncontrolling Interest", "terseLabel": "Comprehensive income (loss) attributable to non-controlling interest" } } }, "localname": "ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncomeLoss" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest": { "auth_ref": [ "r54", "r56", "r270", "r281" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncomeLoss": { "order": 2.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income. Excludes changes in equity resulting from investments by owners and distributions to owners.", "label": "Comprehensive Income (Loss), Net of Tax, Including Portion Attributable to Noncontrolling Interest", "totalLabel": "Comprehensive income (loss)" } } }, "localname": "ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncomeLoss" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComputerEquipmentMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Long lived, depreciable assets that are used in the creation, maintenance and utilization of information systems.", "label": "Computer Equipment [Member]", "terseLabel": "Computer equipment" } } }, "localname": "ComputerEquipmentMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosurePropertyAndEquipmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems": { "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": "Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [Line Items]", "verboseLabel": "Principles of consolidation" } } }, "localname": "ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPrinciplesOfConsolidationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable": { "auth_ref": [ "r278", "r282" ], "lang": { "en-US": { "role": { "documentation": "Summarization of information required and determined to be disclosed concerning the effects of any changes in a parent's ownership interest in a subsidiary on the equity attributable to the parent which may have occurred during the period. The changes represented by this element did not result in the deconsolidation of the subsidiary.", "label": "Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [Table]" } } }, "localname": "ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPrinciplesOfConsolidationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConsolidationPolicyTextBlock": { "auth_ref": [ "r91", "r273", "r283", "r284" ], "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/2019-01-31", "presentation": [ "http://www.boingo.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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosurePropertyAndEquipmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ConstructionPayableCurrent": { "auth_ref": [ "r29" ], "calculation": { "http://www.boingo.com/role/DisclosureAccruedExpensesAndOtherLiabilitiesDetails": { "order": 2.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for the acquisition of merchandise, materials, supplies and services pertaining to construction projects such as a housing development or factory expansion not classified as trade payables. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Construction Payable, Current", "terseLabel": "Accrued construction in progress" } } }, "localname": "ConstructionPayableCurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAccruedExpensesAndOtherLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": { "auth_ref": [ "r185" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of contract balances and changes in contract balances.", "label": "Contract with Customer, Asset and Liability [Table Text Block]", "terseLabel": "Schedule of contract asset, net and contract liability, net balance from customers and performance obligations included in revenues" } } }, "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureContractAssetsAndContractLiabilitiesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ContractWithCustomerAssetNet": { "auth_ref": [ "r182", "r184", "r193" ], "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.", "label": "Contract with Customer, Asset, Net", "periodEndLabel": "Balance at March 31, 2019", "periodStartLabel": "Balance at December 31, 2018" } } }, "localname": "ContractWithCustomerAssetNet", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureContractAssetsAndContractLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerAssetNetAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Contract with Customer, Asset, Net [Abstract]", "terseLabel": "Contract assets, net" } } }, "localname": "ContractWithCustomerAssetNetAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureContractAssetsAndContractLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ContractWithCustomerLiability": { "auth_ref": [ "r182", "r183", "r193" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable.", "label": "Contract with Customer, Liability", "periodEndLabel": "Balance at June 30, 2019", "periodStartLabel": "Balance at December 31, 2018" } } }, "localname": "ContractWithCustomerLiability", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureContractAssetsAndContractLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Contract with Customer, Liability [Abstract]", "terseLabel": "Contract liabilities, net" } } }, "localname": "ContractWithCustomerLiabilityAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureContractAssetsAndContractLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "auth_ref": [ "r182", "r183", "r193" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.", "label": "Contract with Customer, Liability, Current", "terseLabel": "Deferred revenue" } } }, "localname": "ContractWithCustomerLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityNoncurrent": { "auth_ref": [ "r182", "r183", "r193" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as noncurrent.", "label": "Contract with Customer, Liability, Noncurrent", "terseLabel": "Deferred revenue, net of current portion" } } }, "localname": "ContractWithCustomerLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": { "auth_ref": [ "r194" ], "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", "verboseLabel": "Amounts included in the beginning of period contract liability balance" } } }, "localname": "ContractWithCustomerLiabilityRevenueRecognized", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureContractAssetsAndContractLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod": { "auth_ref": [ "r186" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of revenue recognized from performance obligation satisfied or partially satisfied in previous reporting periods. Includes, but is not limited to, change in transaction price.", "label": "Contract with Customer, Performance Obligation Satisfied in Previous Period", "verboseLabel": "Amounts associated with performance obligations satisfied in previous periods" } } }, "localname": "ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureContractAssetsAndContractLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ConvertibleDebt": { "auth_ref": [ "r14", "r348", "r360" ], "calculation": { "http://www.boingo.com/role/DisclosureConvertibleNotesCarryingAndFairValueDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Including the current and noncurrent portions, carrying amount of debt identified as being convertible into another form of financial instrument (typically the entity's common stock) as of the balance sheet date, which originally required full repayment more than twelve months after issuance or greater than the normal operating cycle of the company.", "label": "Convertible Debt", "totalLabel": "Net carrying value of Convertible Notes" } } }, "localname": "ConvertibleDebt", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureConvertibleNotesCarryingAndFairValueDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ConvertibleDebtFairValueDisclosures": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Fair value portion of borrowing which can be exchanged for a specified number of another security at the option of the issuer or the holder, for example, but not limited to, the entity's common stock.", "label": "Convertible Debt, Fair Value Disclosures", "terseLabel": "Fair value of Convertible Notes" } } }, "localname": "ConvertibleDebtFairValueDisclosures", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureConvertibleNotesCarryingAndFairValueDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ConvertibleDebtTableTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of borrowings which can be exchanged for a specified number of another security at the option of the issuer or the holder. Disclosures include, but are not limited to, principal amount, amortized premium or discount, and amount of liability and equity components.", "label": "Convertible Debt [Table Text Block]", "terseLabel": "Schedule of Convertible Notes" } } }, "localname": "ConvertibleDebtTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureConvertibleNotesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_CostsAndExpenses": { "auth_ref": [ "r65" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfOperations": { "order": 1.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Total costs of sales and operating expenses for the period.", "label": "Costs and Expenses", "totalLabel": "Total costs and operating expenses" } } }, "localname": "CostsAndExpenses", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostsAndExpensesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Costs and Expenses [Abstract]", "terseLabel": "Costs and operating expenses:" } } }, "localname": "CostsAndExpensesAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "stringItemType" }, "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureCreditFacilityDetails" ], "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureCreditFacilityDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CustomerRelationshipsMember": { "auth_ref": [ "r256" ], "lang": { "en-US": { "role": { "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships.", "label": "Customer Relationships [Member]", "terseLabel": "Customer relationships" } } }, "localname": "CustomerRelationshipsMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsPreliminaryPurchasePriceAllocationsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DebtDisclosureAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Credit Facility" } } }, "localname": "DebtDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_DebtDisclosureTextBlock": { "auth_ref": [ "r173" ], "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": "Credit Facility" } } }, "localname": "DebtDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureCreditFacility" ], "xbrltype": "textBlockItemType" }, "us-gaap_DebtInstrumentAxis": { "auth_ref": [ "r12", "r13", "r14", "r346", "r348", "r357" ], "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureConvertibleNotesAmortizationExpenseDebtDiscountAndDebtIssuanceCostsDetails", "http://www.boingo.com/role/DisclosureConvertibleNotesCarryingAndFairValueDetails", "http://www.boingo.com/role/DisclosureConvertibleNotesDebtIssuanceCostsAndInterestExpenseDetails", "http://www.boingo.com/role/DisclosureConvertibleNotesDetails", "http://www.boingo.com/role/DisclosureConvertibleNotesTables" ], "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", "terseLabel": "Spread on floating interest rate (as a percent)" } } }, "localname": "DebtInstrumentBasisSpreadOnVariableRate1", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureCreditFacilityDetails" ], "xbrltype": "percentItemType" }, "us-gaap_DebtInstrumentConvertibleConversionPrice1": { "auth_ref": [ "r170" ], "lang": { "en-US": { "role": { "documentation": "The price per share of the conversion feature embedded in the debt instrument.", "label": "Debt Instrument, Convertible, Conversion Price", "terseLabel": "Conversion price per share" } } }, "localname": "DebtInstrumentConvertibleConversionPrice1", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureConvertibleNotesDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_DebtInstrumentConvertibleConversionRatio1": { "auth_ref": [ "r39", "r176", "r177", "r179" ], "lang": { "en-US": { "role": { "documentation": "Ratio applied to the conversion of debt instrument into equity with equity shares divided by debt principal amount.", "label": "Debt Instrument, Convertible, Conversion Ratio", "terseLabel": "Conversion ratio" } } }, "localname": "DebtInstrumentConvertibleConversionRatio1", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureConvertibleNotesDetails" ], "xbrltype": "pureItemType" }, "us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Threshold period of specified consecutive trading days within which common stock price to conversion price of convertible debt instrument must exceed threshold percentage for specified number of trading days to trigger conversion feature.", "label": "Debt Instrument, Convertible, Threshold Consecutive Trading Days", "terseLabel": "Threshold consecutive trading days" } } }, "localname": "DebtInstrumentConvertibleThresholdConsecutiveTradingDays1", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureConvertibleNotesDetails" ], "xbrltype": "integerItemType" }, "us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Minimum percentage of common stock price to conversion price of convertible debt instruments to determine eligibility of conversion.", "label": "Debt Instrument, Convertible, Threshold Percentage of Stock Price Trigger", "terseLabel": "Threshold percentage of stock price trigger" } } }, "localname": "DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureConvertibleNotesDetails" ], "xbrltype": "percentItemType" }, "us-gaap_DebtInstrumentConvertibleThresholdTradingDays": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Threshold number of specified trading days that common stock price to conversion price of convertible debt instruments must exceed threshold percentage within a specified consecutive trading period to trigger conversion feature.", "label": "Debt Instrument, Convertible, Threshold Trading Days", "terseLabel": "Threshold trading days" } } }, "localname": "DebtInstrumentConvertibleThresholdTradingDays", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureConvertibleNotesDetails" ], "xbrltype": "integerItemType" }, "us-gaap_DebtInstrumentFaceAmount": { "auth_ref": [ "r311", "r313" ], "calculation": { "http://www.boingo.com/role/DisclosureConvertibleNotesCarryingAndFairValueDetails": { "order": 1.0, "parentTag": "us-gaap_ConvertibleDebt", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Face (par) amount of debt instrument at time of issuance.", "label": "Debt Instrument, Face Amount", "terseLabel": "Par value of the Convertible Notes" } } }, "localname": "DebtInstrumentFaceAmount", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureConvertibleNotesCarryingAndFairValueDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtInstrumentInterestRateDuringPeriod": { "auth_ref": [ "r38", "r311" ], "lang": { "en-US": { "role": { "documentation": "The average effective interest rate during the reporting period.", "label": "Debt Instrument, Interest Rate During Period", "terseLabel": "Interest rate percentage" } } }, "localname": "DebtInstrumentInterestRateDuringPeriod", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureCreditFacilityDetails" ], "xbrltype": "percentItemType" }, "us-gaap_DebtInstrumentInterestRateEffectivePercentage": { "auth_ref": [ "r38", "r171", "r311" ], "lang": { "en-US": { "role": { "documentation": "Effective interest rate for the funds borrowed under the debt agreement considering interest compounding and original issue discount or premium.", "label": "Debt Instrument, Interest Rate, Effective Percentage", "verboseLabel": "Effective interest rate of the liability component" } } }, "localname": "DebtInstrumentInterestRateEffectivePercentage", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureConvertibleNotesDebtIssuanceCostsAndInterestExpenseDetails" ], "xbrltype": "percentItemType" }, "us-gaap_DebtInstrumentInterestRateStatedPercentage": { "auth_ref": [ "r38" ], "lang": { "en-US": { "role": { "documentation": "Contractual interest rate for funds borrowed, under the debt agreement.", "label": "Debt Instrument, Interest Rate, Stated Percentage", "verboseLabel": "Percentage of interest rate per annum" } } }, "localname": "DebtInstrumentInterestRateStatedPercentage", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureConvertibleNotesDetails" ], "xbrltype": "percentItemType" }, "us-gaap_DebtInstrumentLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Debt Instrument [Line Items]", "terseLabel": "Convertible Notes" } } }, "localname": "DebtInstrumentLineItems", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureConvertibleNotesAmortizationExpenseDebtDiscountAndDebtIssuanceCostsDetails", "http://www.boingo.com/role/DisclosureConvertibleNotesCarryingAndFairValueDetails", "http://www.boingo.com/role/DisclosureConvertibleNotesDebtIssuanceCostsAndInterestExpenseDetails", "http://www.boingo.com/role/DisclosureConvertibleNotesDetails", "http://www.boingo.com/role/DisclosureConvertibleNotesTables" ], "xbrltype": "stringItemType" }, "us-gaap_DebtInstrumentNameDomain": { "auth_ref": [ "r40" ], "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureConvertibleNotesAmortizationExpenseDebtDiscountAndDebtIssuanceCostsDetails", "http://www.boingo.com/role/DisclosureConvertibleNotesCarryingAndFairValueDetails", "http://www.boingo.com/role/DisclosureConvertibleNotesDebtIssuanceCostsAndInterestExpenseDetails", "http://www.boingo.com/role/DisclosureConvertibleNotesDetails", "http://www.boingo.com/role/DisclosureConvertibleNotesTables" ], "xbrltype": "domainItemType" }, "us-gaap_DebtInstrumentRedemptionPricePercentage": { "auth_ref": [ "r355" ], "lang": { "en-US": { "role": { "documentation": "Percentage price of original principal amount of debt at which debt can be redeemed by the issuer.", "label": "Debt Instrument, Redemption Price, Percentage", "terseLabel": "Percentage of redemption price" } } }, "localname": "DebtInstrumentRedemptionPricePercentage", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureConvertibleNotesDetails" ], "xbrltype": "percentItemType" }, "us-gaap_DebtInstrumentTable": { "auth_ref": [ "r40", "r94", "r176", "r178", "r179", "r180", "r310", "r311", "r313", "r356" ], "lang": { "en-US": { "role": { "documentation": "A table or schedule providing information pertaining to long-term debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer.", "label": "Schedule of Long-term Debt Instruments [Table]" } } }, "localname": "DebtInstrumentTable", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureConvertibleNotesAmortizationExpenseDebtDiscountAndDebtIssuanceCostsDetails", "http://www.boingo.com/role/DisclosureConvertibleNotesCarryingAndFairValueDetails", "http://www.boingo.com/role/DisclosureConvertibleNotesDebtIssuanceCostsAndInterestExpenseDetails", "http://www.boingo.com/role/DisclosureConvertibleNotesDetails", "http://www.boingo.com/role/DisclosureConvertibleNotesTables" ], "xbrltype": "stringItemType" }, "us-gaap_DebtInstrumentUnamortizedDiscount": { "auth_ref": [ "r310", "r313" ], "calculation": { "http://www.boingo.com/role/DisclosureConvertibleNotesCarryingAndFairValueDetails": { "order": 2.0, "parentTag": "us-gaap_ConvertibleDebt", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount, after accumulated amortization, of debt discount.", "label": "Debt Instrument, Unamortized Discount", "negatedLabel": "Unamortized debt discounts" } } }, "localname": "DebtInstrumentUnamortizedDiscount", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureConvertibleNotesCarryingAndFairValueDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredFinanceCostsNet": { "auth_ref": [ "r28", "r312" ], "calculation": { "http://www.boingo.com/role/DisclosureConvertibleNotesCarryingAndFairValueDetails": { "order": 3.0, "parentTag": "us-gaap_ConvertibleDebt", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount, after accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs.", "label": "Deferred Finance Costs, Net", "negatedLabel": "Unamortized debt issuance costs" } } }, "localname": "DeferredFinanceCostsNet", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureConvertibleNotesCarryingAndFairValueDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxLiabilitiesNet": { "auth_ref": [ "r236", "r241" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 7.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.", "label": "Deferred Income Tax Liabilities, Net", "terseLabel": "Deferred tax liabilities" } } }, "localname": "DeferredIncomeTaxLiabilitiesNet", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_Depreciation": { "auth_ref": [ "r84", "r149" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "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 and amortization of property and equipment" } } }, "localname": "Depreciation", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_DepreciationAndAmortizationAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Depreciation, Depletion and Amortization [Abstract]", "terseLabel": "Depreciation and amortization expense" } } }, "localname": "DepreciationAndAmortizationAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosurePropertyAndEquipmentDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DepreciationDepletionAndAmortization": { "auth_ref": [ "r84", "r122" ], "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": "Total depreciation and amortization of property and equipment" } } }, "localname": "DepreciationDepletionAndAmortization", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosurePropertyAndEquipmentDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeCapPrice": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "The cap rate on a price risk derivative such as a cap or collar. A payment or receipt is triggered if the market rate exceeds the cap rate on the contract.", "label": "Derivative, Cap Price", "terseLabel": "Derivative cap price (in dollars per share)" } } }, "localname": "DerivativeCapPrice", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureConvertibleNotesDetails" ], "xbrltype": "perUnitItemType" }, "us-gaap_DirectOperatingCommunicationsCosts": { "auth_ref": [ "r66" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfOperations": { "order": 1.0, "parentTag": "us-gaap_CostsAndExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Communications costs incurred and are directly related to goods produced and sold and services rendered during the reporting period.", "label": "Direct Operating Communications Costs", "terseLabel": "Network access" } } }, "localname": "DirectOperatingCommunicationsCosts", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_DisaggregationOfRevenueLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Disaggregation of Revenue [Line Items]", "terseLabel": "Revenue by primary revenue sources", "verboseLabel": "Revenue recognition" } } }, "localname": "DisaggregationOfRevenueLineItems", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRevenueRecognitionTermsOfContractsDetails", "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesSegmentAndGeographicInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTable": { "auth_ref": [], "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRevenueRecognitionTermsOfContractsDetails", "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesSegmentAndGeographicInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": { "auth_ref": [ "r232" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for share-based payment arrangement.", "label": "Disclosure of Compensation Related Costs, Share-based Payments [Text Block]", "terseLabel": "Stock incentive plans" } } }, "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlans" ], "xbrltype": "textBlockItemType" }, "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Stock incentive plans" } } }, "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_DisclosureOfRepurchaseAgreementsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Disclosure of Repurchase Agreements [Abstract]", "terseLabel": "Stock repurchase program" } } }, "localname": "DisclosureOfRepurchaseAgreementsAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureNetIncomeLossPerShareAttributableToCommonStockholdersDetails" ], "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Net income (loss) per share attributable to common stockholders", "verboseLabel": "Net income (loss) per share attributable to common stockholders:" } } }, "localname": "EarningsPerShareAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareBasic": { "auth_ref": [ "r61", "r100", "r104", "r106", "r107", "r108", "r111", "r353", "r367" ], "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureNetIncomeLossPerShareAttributableToCommonStockholdersDetails", "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareBasicAndDilutedAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Earnings Per Share, Basic and Diluted [Abstract]", "verboseLabel": "Net income (loss) per share attributable to common stockholders:" } } }, "localname": "EarningsPerShareBasicAndDilutedAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureNetIncomeLossPerShareAttributableToCommonStockholdersDetails" ], "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Earnings Per Share, Basic and Diluted, Other Disclosures [Abstract]", "terseLabel": "Denominator:" } } }, "localname": "EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureNetIncomeLossPerShareAttributableToCommonStockholdersDetails" ], "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareDiluted": { "auth_ref": [ "r61", "r100", "r104", "r106", "r107", "r108", "r111", "r353", "r367" ], "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureNetIncomeLossPerShareAttributableToCommonStockholdersDetails", "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareTextBlock": { "auth_ref": [ "r112" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for earnings per share.", "label": "Earnings Per Share [Text Block]", "terseLabel": "Net income (loss) per share attributable to common stockholders" } } }, "localname": "EarningsPerShareTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureNetIncomeLossPerShareAttributableToCommonStockholders" ], "xbrltype": "textBlockItemType" }, "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": { "auth_ref": [ "r305" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 4.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies; including, but not limited to, disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations", "terseLabel": "Effect of exchange rates on cash" } } }, "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "auth_ref": [ "r96", "r237", "r238" ], "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureIncomeTaxesDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount": { "auth_ref": [ "r226" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of cost capitalized for award under share-based payment arrangement.", "label": "Employee Service Share-based Compensation, Allocation of Recognized Period Costs, Capitalized Amount", "terseLabel": "Stock-based compensation expense capitalized" } } }, "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansCompensationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems": { "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": "Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]", "terseLabel": "Recognized stock-based compensation expense" } } }, "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansCompensationExpenseDetails" ], "xbrltype": "stringItemType" }, "us-gaap_EmployeeStockOptionMember": { "auth_ref": [ "r223" ], "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": "Stok options" } } }, "localname": "EmployeeStockOptionMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureNetIncomeLossPerShareAttributableToCommonStockholdersDetails" ], "xbrltype": "domainItemType" }, "us-gaap_EquityComponentDomain": { "auth_ref": [ "r175" ], "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]", "terseLabel": "Financial assets and financial liabilities that are measured at fair value on a recurring basis" } } }, "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureFairValueMeasurementDetails", "http://www.boingo.com/role/DisclosureFairValueMeasurementLevel3ReconciliationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": { "auth_ref": [ "r290", "r291", "r292", "r299" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis.", "label": "Fair Value Measurements, Recurring and Nonrecurring [Table]" } } }, "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureFairValueMeasurementDetails", "http://www.boingo.com/role/DisclosureFairValueMeasurementLevel3ReconciliationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "auth_ref": [ "r198", "r199", "r200", "r291", "r340" ], "lang": { "en-US": { "role": { "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient.", "label": "Fair Value, Hierarchy [Axis]" } } }, "localname": "FairValueByFairValueHierarchyLevelAxis", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureFairValueMeasurementDetails", "http://www.boingo.com/role/DisclosureFairValueMeasurementLevel3ReconciliationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByMeasurementFrequencyAxis": { "auth_ref": [ "r290", "r291", "r294", "r295", "r300" ], "lang": { "en-US": { "role": { "documentation": "Information by measurement frequency.", "label": "Measurement Frequency [Axis]" } } }, "localname": "FairValueByMeasurementFrequencyAxis", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureFairValueMeasurementDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Fair value measurement" } } }, "localname": "FairValueDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresTextBlock": { "auth_ref": [ "r298" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.", "label": "Fair Value Disclosures [Text Block]", "terseLabel": "Fair value measurement" } } }, "localname": "FairValueDisclosuresTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureFairValueMeasurement" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueInputsLevel1Member": { "auth_ref": [ "r198", "r199", "r200", "r291", "r341" ], "lang": { "en-US": { "role": { "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date.", "label": "Fair Value Inputs Level1 [Member]", "terseLabel": "Level 1" } } }, "localname": "FairValueInputsLevel1Member", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureFairValueMeasurementDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel2Member": { "auth_ref": [ "r198", "r199", "r200", "r291", "r342" ], "lang": { "en-US": { "role": { "documentation": "Inputs other than quoted prices included within level 1 that are observable for an asset or liability, either directly or indirectly, including, but not limited to, quoted prices for similar assets or liabilities in active markets, or quoted prices for identical or similar assets or liabilities in inactive markets.", "label": "Fair Value Inputs Level2 [Member]", "terseLabel": "Level 2" } } }, "localname": "FairValueInputsLevel2Member", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureFairValueMeasurementDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel3Member": { "auth_ref": [ "r198", "r199", "r200", "r291", "r343" ], "lang": { "en-US": { "role": { "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.", "label": "Fair Value Inputs Level3 [Member]", "terseLabel": "Level 3" } } }, "localname": "FairValueInputsLevel3Member", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureFairValueMeasurementDetails", "http://www.boingo.com/role/DisclosureFairValueMeasurementLevel3ReconciliationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward": { "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": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]", "terseLabel": "Reconciliation of the beginning and ending balances related to the fair value of contingent consideration" } } }, "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureFairValueMeasurementLevel3ReconciliationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock": { "auth_ref": [ "r296", "r299" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the fair value measurement of liabilities using significant unobservable inputs (Level 3), a reconciliation of the beginning and ending balances, separately presenting changes attributable to the following: (1) total gains or losses for the period (realized and unrealized), segregating those gains or losses included in earnings (or changes in net assets), and gains or losses recognized in other comprehensive income (loss) and a description of where those gains or losses included in earnings (or changes in net assets) are reported in the statement of income (or activities); (2) purchases, sales, issues, and settlements (each type disclosed separately); and (3) transfers in and transfers out of Level 3 (for example, transfers due to changes in the observability of significant inputs) by class of liability.", "label": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table Text Block]", "terseLabel": "Schedule of reconciliation of the beginning and ending amounts related to the fair value of contingent consideration categorized as Level 3" } } }, "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureFairValueMeasurementTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueMeasurementFrequencyDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Measurement frequency.", "label": "Fair Value Measurement Frequency [Domain]", "terseLabel": "Fair Value, Measurement Frequency [Domain]" } } }, "localname": "FairValueMeasurementFrequencyDomain", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureFairValueMeasurementDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPeriodIncreaseDecrease": { "auth_ref": [ "r296" ], "lang": { "en-US": { "role": { "documentation": "Amount of increase (decrease) of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.", "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Period Increase (Decrease)", "terseLabel": "Change in fair vale" } } }, "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPeriodIncreaseDecrease", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureFairValueMeasurementLevel3ReconciliationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements": { "auth_ref": [ "r297" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of settlements of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.", "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Settlements", "terseLabel": "Payment of contingent consideration" } } }, "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureFairValueMeasurementLevel3ReconciliationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue": { "auth_ref": [ "r296" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Fair value of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.", "label": "Fair Value, Measurement with Unobservable Inputs Reconciliations, Recurring Basis, Liability Value", "periodEndLabel": "Balance at end of the period", "periodStartLabel": "Balance at beginning of the period" } } }, "localname": "FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureFairValueMeasurementLevel3ReconciliationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value.", "label": "Fair Value Measurements Fair Value Hierarchy [Domain]", "terseLabel": "Fair Value Hierarchy [Domain]" } } }, "localname": "FairValueMeasurementsFairValueHierarchyDomain", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureFairValueMeasurementDetails", "http://www.boingo.com/role/DisclosureFairValueMeasurementLevel3ReconciliationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementsRecurringMember": { "auth_ref": [ "r298", "r300" ], "lang": { "en-US": { "role": { "documentation": "Frequent fair value measurement. Includes, but is not limited to, fair value adjustment for impairment of asset, liability or equity, frequently measured at fair value.", "label": "Fair Value Measurements Recurring [Member]", "terseLabel": "Recurring basis" } } }, "localname": "FairValueMeasurementsRecurringMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureFairValueMeasurementDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueOfFinancialInstrumentsPolicy": { "auth_ref": [ "r91", "r301", "r303" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of accounting policy for determining the fair value of financial instruments.", "label": "Fair Value of Financial Instruments, Policy [Policy Text Block]", "terseLabel": "Fair value of financial instruments" } } }, "localname": "FairValueOfFinancialInstrumentsPolicy", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_FinanceLeaseInterestExpense": { "auth_ref": [ "r323", "r330", "r338" ], "calculation": { "http://www.boingo.com/role/DisclosureLeasesDetails": { "order": 1.0, "parentTag": "wifi_FinanceLeaseCost", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of interest expense on finance lease liability.", "label": "Finance Lease, Interest Expense", "terseLabel": "Interest on lease liabilities" } } }, "localname": "FinanceLeaseInterestExpense", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseInterestPaymentOnLiability": { "auth_ref": [ "r325", "r332" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of interest paid on finance lease liability.", "label": "Finance Lease, Interest Payment on Liability", "negatedLabel": "Operating cash flows from finance leases" } } }, "localname": "FinanceLeaseInterestPaymentOnLiability", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Finance Lease Liabilities, Payments, Due [Abstract]", "terseLabel": "Finance Leases" } } }, "localname": "FinanceLeaseLiabilitiesPaymentsDueAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FinanceLeaseLiability": { "auth_ref": [ "r322", "r337" ], "calculation": { "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetailsCal2": { "order": 2.0, "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0 }, "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetailsCal3": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease.", "label": "Finance Lease, Liability", "totalLabel": "Total" } } }, "localname": "FinanceLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityCurrent": { "auth_ref": [ "r322" ], "calculation": { "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetailsCal3": { "order": 1.0, "parentTag": "us-gaap_FinanceLeaseLiability", "weight": 1.0 }, "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as current.", "label": "Finance Lease, Liability, Current", "verboseLabel": "Current portion of finance leases" } } }, "localname": "FinanceLeaseLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetails", "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityNoncurrent": { "auth_ref": [ "r322" ], "calculation": { "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetailsCal3": { "order": 2.0, "parentTag": "us-gaap_FinanceLeaseLiability", "weight": 1.0 }, "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as noncurrent.", "label": "Finance Lease, Liability, Noncurrent", "verboseLabel": "Long-term portion of finance leases" } } }, "localname": "FinanceLeaseLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetails", "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityPaymentsDue": { "auth_ref": [ "r337" ], "calculation": { "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetailsCal2": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments for finance lease.", "label": "Finance Lease, Liability, Payments, Due", "totalLabel": "Total future minimum lease payments" } } }, "localname": "FinanceLeaseLiabilityPaymentsDue", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive": { "auth_ref": [ "r337" ], "calculation": { "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetails": { "order": 3.0, "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments for finance lease, due in fifth fiscal year following latest fiscal year.", "label": "Finance Lease, Liability, Payments, Due Year Five", "terseLabel": "January 1, 2023 - December 31, 2023" } } }, "localname": "FinanceLeaseLiabilityPaymentsDueYearFive", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour": { "auth_ref": [ "r337" ], "calculation": { "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetails": { "order": 4.0, "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments for finance lease, due in fourth fiscal year following latest fiscal year.", "label": "Finance Lease, Liability, Payments, Due Year Four", "terseLabel": "January 1, 2022 - December 31, 2022" } } }, "localname": "FinanceLeaseLiabilityPaymentsDueYearFour", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree": { "auth_ref": [ "r337" ], "calculation": { "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetails": { "order": 5.0, "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments for finance lease, due in third fiscal year following latest fiscal year.", "label": "Finance Lease, Liability, Payments, Due Year Three", "terseLabel": "January 1, 2021 - December 31, 2021" } } }, "localname": "FinanceLeaseLiabilityPaymentsDueYearThree", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo": { "auth_ref": [ "r337" ], "calculation": { "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetails": { "order": 6.0, "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments for finance lease, due in second fiscal year following latest fiscal year.", "label": "Finance Lease, Liability, Payments, Due Year Two", "terseLabel": "January 1, 2020 - December 31, 2020" } } }, "localname": "FinanceLeaseLiabilityPaymentsDueYearTwo", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear": { "auth_ref": [ "r337" ], "calculation": { "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetails": { "order": 7.0, "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments for finance lease, due in remainder of fiscal year following latest fiscal year ended.", "label": "Finance Lease, Liability, Payments, Remainder of Fiscal Year", "terseLabel": "July 1, 2019 - December 31, 2019" } } }, "localname": "FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount": { "auth_ref": [ "r337" ], "calculation": { "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetailsCal2": { "order": 1.0, "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for finance lease.", "label": "Finance Lease, Liability, Undiscounted Excess Amount", "negatedLabel": "Less: Imputed interest" } } }, "localname": "FinanceLeaseLiabilityUndiscountedExcessAmount", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeasePrincipalPayments": { "auth_ref": [ "r324", "r332" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of cash outflow for principal payment on finance lease.", "label": "Finance Lease, Principal Payments", "negatedLabel": "Financing cash flows from finance leases" } } }, "localname": "FinanceLeasePrincipalPayments", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseRightOfUseAsset": { "auth_ref": [ "r321" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of lessee's right to use underlying asset under finance lease.", "label": "Finance Lease, Right-of-Use Asset", "terseLabel": "Finance lease - Right-of-use asset" } } }, "localname": "FinanceLeaseRightOfUseAsset", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseRightOfUseAssetAmortization": { "auth_ref": [ "r323", "r330", "r338" ], "calculation": { "http://www.boingo.com/role/DisclosureLeasesDetails": { "order": 2.0, "parentTag": "wifi_FinanceLeaseCost", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization expense attributable to right-of-use asset from finance lease.", "label": "Finance Lease, Right-of-Use Asset, Amortization", "verboseLabel": "Depreciation and amortization of assets included in property and equipment, net" } } }, "localname": "FinanceLeaseRightOfUseAssetAmortization", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent": { "auth_ref": [ "r335", "r338" ], "lang": { "en-US": { "role": { "documentation": "Weighted average discount rate for finance lease calculated at point in time.", "label": "Finance Lease, Weighted Average Discount Rate, Percent", "terseLabel": "Finance leases, weighted average discount rate (as a percent)" } } }, "localname": "FinanceLeaseWeightedAverageDiscountRatePercent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesDetails" ], "xbrltype": "percentItemType" }, "us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1": { "auth_ref": [ "r334", "r338" ], "lang": { "en-US": { "role": { "documentation": "Weighted average remaining lease term for finance lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Finance Lease, Weighted Average Remaining Lease Term", "terseLabel": "Finance leases, weighted average remaining lease term (in years)" } } }, "localname": "FinanceLeaseWeightedAverageRemainingLeaseTerm1", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesDetails" ], "xbrltype": "durationItemType" }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "auth_ref": [ "r142", "r144", "r146", "r148", "r344" ], "lang": { "en-US": { "role": { "documentation": "Information by major type or class of finite-lived intangible assets.", "label": "Finite-Lived Intangible Assets by Major Class [Axis]" } } }, "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsPreliminaryPurchasePriceAllocationsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "auth_ref": [ "r142", "r145" ], "lang": { "en-US": { "role": { "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company.", "label": "Finite Lived Intangible Assets Major Class Name [Domain]", "terseLabel": "Finite-Lived Intangible Assets, Major Class Name [Domain]" } } }, "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsPreliminaryPurchasePriceAllocationsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "auth_ref": [ "r146" ], "calculation": { "http://www.boingo.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/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock": { "auth_ref": [ "r91", "r304", "r308" ], "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ForeignCurrencyTranslationAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Foreign Currency Translation [Abstract]", "terseLabel": "Foreign currency translation" } } }, "localname": "ForeignCurrencyTranslationAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesForeignCurrencyTranslationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_GeneralAndAdministrativeExpense": { "auth_ref": [ "r67" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfOperations": { "order": 5.0, "parentTag": "us-gaap_CostsAndExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.", "label": "General and Administrative Expense", "terseLabel": "General and administrative" } } }, "localname": "GeneralAndAdministrativeExpense", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_GeneralAndAdministrativeExpenseMember": { "auth_ref": [ "r62" ], "lang": { "en-US": { "role": { "documentation": "Primary financial statement caption encompassing general and administrative expense.", "label": "General And Administrative Expense [Member]", "terseLabel": "General and administrative" } } }, "localname": "GeneralAndAdministrativeExpenseMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosurePropertyAndEquipmentDetails", "http://www.boingo.com/role/DisclosureStockIncentivePlansCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "us-gaap_Goodwill": { "auth_ref": [ "r138", "r139" ], "calculation": { "http://www.boingo.com/role/DisclosureAcquisitionsPreliminaryPurchasePriceAllocationsDetails": { "order": 3.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": 1.0 }, "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.", "label": "Goodwill", "terseLabel": "Goodwill" } } }, "localname": "Goodwill", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsPreliminaryPurchasePriceAllocationsDetails", "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillPurchaseAccountingAdjustments": { "auth_ref": [ "r140", "r246" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of increase (decrease) from adjustments after acquisition date under purchase accounting of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.", "label": "Goodwill, Purchase Accounting Adjustments", "terseLabel": "Decrease of goodwill" } } }, "localname": "GoodwillPurchaseAccountingAdjustments", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsPreliminaryPurchasePriceAllocationsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments": { "auth_ref": [ "r95" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfOperations": { "order": 1.0, "parentTag": "us-gaap_ProfitLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of income (loss) from continuing operations before deduction of income tax expense (benefit) and income (loss) attributable to noncontrolling interest, and addition of income (loss) from equity method investments.", "label": "Income (Loss) from Continuing Operations before Equity Method Investments, Income Taxes, Extraordinary Items, Noncontrolling Interest", "totalLabel": "Income (loss) before income taxes" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "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/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationAxis": { "auth_ref": [ "r153" ], "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosurePropertyAndEquipmentDetails", "http://www.boingo.com/role/DisclosureStockIncentivePlansCompensationExpenseDetails" ], "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosurePropertyAndEquipmentDetails", "http://www.boingo.com/role/DisclosureStockIncentivePlansCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeTaxDisclosureAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Income taxes" } } }, "localname": "IncomeTaxDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxDisclosureTextBlock": { "auth_ref": [ "r245" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.", "label": "Income Tax Disclosure [Text Block]", "terseLabel": "Income taxes" } } }, "localname": "IncomeTaxDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureIncomeTaxes" ], "xbrltype": "textBlockItemType" }, "us-gaap_IncomeTaxExpenseBenefit": { "auth_ref": [ "r93", "r123", "r243" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfOperations": { "order": 2.0, "parentTag": "us-gaap_ProfitLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.", "label": "Income Tax Expense (Benefit)", "negatedLabel": "Income tax benefit (expense)" } } }, "localname": "IncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureIncomeTaxesDetails", "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxPolicyTextBlock": { "auth_ref": [ "r58", "r91", "r234", "r235", "r239", "r240", "r242", "r244", "r372" ], "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "auth_ref": [ "r83" ], "calculation": { "http://www.boingo.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 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/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "auth_ref": [ "r83" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 9.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/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities": { "auth_ref": [ "r83" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 13.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of increase (decrease) in accrued expenses, and obligations classified as other.", "label": "Increase (Decrease) in Accrued Liabilities and Other Operating Liabilities", "terseLabel": "Accrued expenses and other liabilities" } } }, "localname": "IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": { "auth_ref": [ "r83" ], "calculation": { "http://www.boingo.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 Contract with Customer, Liability", "terseLabel": "Deferred revenue" } } }, "localname": "IncreaseDecreaseInContractWithCustomerLiability", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Increase (Decrease) in Operating Capital [Abstract]", "terseLabel": "Changes in operating assets and liabilities:" } } }, "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "auth_ref": [ "r83" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 10.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 assets" } } }, "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": { "auth_ref": [ "r105", "r110" ], "lang": { "en-US": { "role": { "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method.", "label": "Incremental Common Shares Attributable to Dilutive Effect of Share-based Payment Arrangements", "terseLabel": "Effect of dilutive" } } }, "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureNetIncomeLossPerShareAttributableToCommonStockholdersDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_InterestCostsCapitalized": { "auth_ref": [ "r309" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of interest capitalized during the period.", "label": "Interest Costs Capitalized", "terseLabel": "Amortization and interest expense capitalized" } } }, "localname": "InterestCostsCapitalized", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureConvertibleNotesDebtIssuanceCostsAndInterestExpenseDetails", "http://www.boingo.com/role/DisclosureCreditFacilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InterestExpenseDebt": { "auth_ref": [ "r70", "r172" ], "calculation": { "http://www.boingo.com/role/DisclosureConvertibleNotesDebtIssuanceCostsAndInterestExpenseDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of the cost of borrowed funds accounted for as interest expense for debt.", "label": "Interest Expense, Debt", "totalLabel": "Total" } } }, "localname": "InterestExpenseDebt", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureConvertibleNotesDebtIssuanceCostsAndInterestExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InterestExpenseDebtAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Interest Expense, Debt [Abstract]", "terseLabel": "Interest expense related to the Convertible Notes" } } }, "localname": "InterestExpenseDebtAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureConvertibleNotesDebtIssuanceCostsAndInterestExpenseDetails" ], "xbrltype": "stringItemType" }, "us-gaap_InterestExpenseDebtExcludingAmortization": { "auth_ref": [ "r71" ], "calculation": { "http://www.boingo.com/role/DisclosureConvertibleNotesDebtIssuanceCostsAndInterestExpenseDetails": { "order": 3.0, "parentTag": "us-gaap_InterestExpenseDebt", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Represents the portion of interest incurred in the period on debt arrangements that was charged against earnings, excluding amortization of debt discount (premium) and financing costs.", "label": "Interest Expense, Debt, Excluding Amortization", "terseLabel": "Contractual interest expense" } } }, "localname": "InterestExpenseDebtExcludingAmortization", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureConvertibleNotesDebtIssuanceCostsAndInterestExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InvestmentIncomeInterest": { "auth_ref": [ "r68", "r121" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount before accretion (amortization) of purchase discount (premium) of interest income on nonoperating securities.", "label": "Investment Income, Interest", "terseLabel": "Interest income" } } }, "localname": "InvestmentIncomeInterest", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureCashAndCashEquivalentsAndMarketableSecuritiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LeaseCostAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Lease cost" } } }, "localname": "LeaseCostAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LeaseCostTableTextBlock": { "auth_ref": [ "r336" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.", "label": "Lease, Cost [Table Text Block]", "terseLabel": "Schedule of lease related to components of lease expense, supplemental cash flow information, other information" } } }, "localname": "LeaseCostTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LeasePracticalExpedientsPackage": { "auth_ref": [ "r319", "r320" ], "lang": { "en-US": { "role": { "documentation": "Indicates (true false) whether practical expedients are elected for not reassessing whether any expired or existing contract is or contains lease, lease classification for expired or existing lease, and initial direct cost for any existing lease.", "label": "Lease, Practical Expedients, Package [true false]" } } }, "localname": "LeasePracticalExpedientsPackage", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesBasisOfPresentationDetails" ], "xbrltype": "booleanItemType" }, "us-gaap_LeaseholdImprovementsMember": { "auth_ref": [ "r150" ], "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosurePropertyAndEquipmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LeasesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Leases" } } }, "localname": "LeasesAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_LesseeFinanceLeaseExistenceOfOptionToExtend": { "auth_ref": [ "r328" ], "lang": { "en-US": { "role": { "documentation": "Indicates (true false) whether lessee has option to extend finance lease.", "label": "Lessee, Finance Lease, Existence of Option to Extend [true false]" } } }, "localname": "LesseeFinanceLeaseExistenceOfOptionToExtend", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesDetails" ], "xbrltype": "booleanItemType" }, "us-gaap_LesseeFinanceLeaseExistenceOfOptionToTerminate": { "auth_ref": [ "r328" ], "lang": { "en-US": { "role": { "documentation": "Indicates (true false) whether lessee has option to terminate finance lease.", "label": "Lessee, Finance Lease, Existence of Option to Terminate [true false]" } } }, "localname": "LesseeFinanceLeaseExistenceOfOptionToTerminate", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesDetails" ], "xbrltype": "booleanItemType" }, "us-gaap_LesseeLeaseDescriptionLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Lessee, Lease, Description [Line Items]", "terseLabel": "Leases" } } }, "localname": "LesseeLeaseDescriptionLineItems", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LesseeLeaseDescriptionTable": { "auth_ref": [ "r329" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of information about lessee's leases.", "label": "Lessee, Lease, Description [Table]" } } }, "localname": "LesseeLeaseDescriptionTable", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LesseeLeasesPolicyTextBlock": { "auth_ref": [ "r327" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of accounting policy for leasing arrangement entered into by lessee.", "label": "Lessee, Leases [Policy Text Block]", "terseLabel": "Leases" } } }, "localname": "LesseeLeasesPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_LesseeOperatingLeaseExistenceOfOptionToExtend": { "auth_ref": [ "r328" ], "lang": { "en-US": { "role": { "documentation": "Indicates (true false) whether lessee has option to extend operating lease.", "label": "Lessee, Operating Lease, Existence of Option to Extend [true false]" } } }, "localname": "LesseeOperatingLeaseExistenceOfOptionToExtend", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesDetails" ], "xbrltype": "booleanItemType" }, "us-gaap_LesseeOperatingLeaseExistenceOfOptionToTerminate": { "auth_ref": [ "r328" ], "lang": { "en-US": { "role": { "documentation": "Indicates (true false) whether lessee has option to terminate operating lease.", "label": "Lessee, Operating Lease, Existence of Option to Terminate [true false]" } } }, "localname": "LesseeOperatingLeaseExistenceOfOptionToTerminate", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesDetails" ], "xbrltype": "booleanItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": { "auth_ref": [ "r337" ], "calculation": { "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetailsCal2": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease.", "label": "Lessee, Operating Lease, Liability, Payments, Due", "totalLabel": "Total future minimum lease payments" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDue", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": { "auth_ref": [ "r337" ], "calculation": { "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetails": { "order": 3.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due in fifth fiscal year following latest fiscal year.", "label": "Lessee, Operating Lease, Liability, Payments, Due Year Five", "terseLabel": "January 1, 2023 - December 31, 2023" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": { "auth_ref": [ "r337" ], "calculation": { "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetails": { "order": 4.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due in fourth fiscal year following latest fiscal year.", "label": "Lessee, Operating Lease, Liability, Payments, Due Year Four", "terseLabel": "January 1, 2022 - December 31, 2022" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": { "auth_ref": [ "r337" ], "calculation": { "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetails": { "order": 5.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due in third fiscal year following latest fiscal year.", "label": "Lessee, Operating Lease, Liability, Payments, Due Year Three", "terseLabel": "January 1, 2021 - December 31, 2021" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": { "auth_ref": [ "r337" ], "calculation": { "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetails": { "order": 6.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due in second fiscal year following latest fiscal year.", "label": "Lessee, Operating Lease, Liability, Payments, Due Year Two", "terseLabel": "January 1, 2020 - December 31, 2020" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": { "auth_ref": [ "r337" ], "calculation": { "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetails": { "order": 7.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease having an initial or remaining lease term in excess of one year due in remainder of fiscal year following latest fiscal year.", "label": "Lessee, Operating Lease, Liability, Payments, Remainder of Fiscal Year", "terseLabel": "July 1, 2019 - December 31, 2019" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": { "auth_ref": [ "r337" ], "calculation": { "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetailsCal2": { "order": 1.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.", "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount", "negatedLabel": "Less: Imputed interest" } } }, "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseRenewalTerm": { "auth_ref": [ "r328" ], "lang": { "en-US": { "role": { "documentation": "Term of lessee's operating lease renewal, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Lessee, Operating Lease, Renewal Term", "terseLabel": "Operating leases, renewal term" } } }, "localname": "LesseeOperatingLeaseRenewalTerm", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesDetails" ], "xbrltype": "durationItemType" }, "us-gaap_LetterOfCreditMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "A document typically issued by a financial institution which acts as a guarantee of payment to a beneficiary, or as the source of payment for a specific transaction (for example, wiring funds to a foreign exporter if and when specified merchandise is accepted pursuant to the terms of the letter of credit).", "label": "Letter Of Credit [Member]", "terseLabel": "Letters of Credit" } } }, "localname": "LetterOfCreditMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureCommitmentsAndContingenciesLettersOfCreditDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LettersOfCreditOutstandingAmount": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The total amount of the contingent obligation under letters of credit outstanding as of the reporting date.", "label": "Letters of Credit Outstanding, Amount", "verboseLabel": "Outstanding balance" } } }, "localname": "LettersOfCreditOutstandingAmount", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureCommitmentsAndContingenciesLettersOfCreditDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_Liabilities": { "auth_ref": [ "r34" ], "calculation": { "http://www.boingo.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/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquity": { "auth_ref": [ "r22", "r350", "r363" ], "calculation": { "http://www.boingo.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 stockholders' equity" } } }, "localname": "LiabilitiesAndStockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Liabilities and Equity [Abstract]", "terseLabel": "Liabilities and stockholders' equity" } } }, "localname": "LiabilitiesAndStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesCurrent": { "auth_ref": [ "r37" ], "calculation": { "http://www.boingo.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/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesCurrentAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Liabilities, Current [Abstract]", "terseLabel": "Current liabilities:" } } }, "localname": "LiabilitiesCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesFairValueDisclosure": { "auth_ref": [ "r290" ], "calculation": { "http://www.boingo.com/role/DisclosureFairValueMeasurementDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Fair value of financial and nonfinancial obligations.", "label": "Financial and Nonfinancial Liabilities, Fair Value Disclosure", "totalLabel": "Total liabilities" } } }, "localname": "LiabilitiesFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureFairValueMeasurementDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesFairValueDisclosureAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Liabilities, Fair Value Disclosure [Abstract]", "terseLabel": "Liabilities:" } } }, "localname": "LiabilitiesFairValueDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureFairValueMeasurementDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LineOfCredit": { "auth_ref": [ "r14", "r348", "r357" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.", "label": "Long-term Line of Credit", "verboseLabel": "Amount outstanding under the revolving line of credit" } } }, "localname": "LineOfCredit", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureCreditFacilityDetails" ], "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureCreditFacilityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": { "auth_ref": [ "r31" ], "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": "Current issued borrowing capacity" } } }, "localname": "LineOfCreditFacilityMaximumBorrowingCapacity", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureCommitmentsAndContingenciesLettersOfCreditDetails", "http://www.boingo.com/role/DisclosureCreditFacilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LineOfCreditFacilityTable": { "auth_ref": [ "r31", "r94" ], "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureCreditFacilityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "The fee, expressed as a percentage of the line of credit facility, for available but unused credit capacity under the credit facility.", "label": "Line of Credit Facility, Unused Capacity, Commitment Fee Percentage", "terseLabel": "Fee on unused portion of Revolving Line of Credit (as a percent)" } } }, "localname": "LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureCreditFacilityDetails" ], "xbrltype": "percentItemType" }, "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureCreditFacilityDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LondonInterbankOfferedRateLIBORMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Interest rate at which a bank borrows funds from other banks in the London interbank market.", "label": "London Interbank Offered Rate L I B O R [Member]", "terseLabel": "LIBOR" } } }, "localname": "LondonInterbankOfferedRateLIBORMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureCreditFacilityDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LongTermDebt": { "auth_ref": [ "r14", "r169", "r348", "r360" ], "calculation": { "http://www.boingo.com/role/DisclosureCreditFacilityDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.", "label": "Long-term Debt", "totalLabel": "Total" } } }, "localname": "LongTermDebt", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureCreditFacilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtByMaturityAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Maturities of current and long-term debt", "terseLabel": "Principal payments of Term Loan" } } }, "localname": "LongTermDebtByMaturityAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureCreditFacilityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LongTermDebtCurrent": { "auth_ref": [ "r33" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt, classified as current. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.", "label": "Long-term Debt, Current Maturities", "terseLabel": "Current portion of long-term debt" } } }, "localname": "LongTermDebtCurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive": { "auth_ref": [ "r97", "r168" ], "calculation": { "http://www.boingo.com/role/DisclosureCreditFacilityDetails": { "order": 1.0, "parentTag": "us-gaap_LongTermDebt", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of long-term debt payable, sinking fund requirements, and other securities issued that are redeemable by holder at fixed or determinable prices and dates maturing in the fifth 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": "Long-term Debt, Maturities, Repayments of Principal in Year Five", "terseLabel": "January 1, 2023-December 31, 2023" } } }, "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureCreditFacilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour": { "auth_ref": [ "r97", "r168" ], "calculation": { "http://www.boingo.com/role/DisclosureCreditFacilityDetails": { "order": 2.0, "parentTag": "us-gaap_LongTermDebt", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of long-term debt payable, sinking fund requirements, and other securities issued that are redeemable by holder at fixed or determinable prices and dates maturing 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": "Long-term Debt, Maturities, Repayments of Principal in Year Four", "terseLabel": "January 1, 2022-December 31, 2022" } } }, "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureCreditFacilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree": { "auth_ref": [ "r97", "r168" ], "calculation": { "http://www.boingo.com/role/DisclosureCreditFacilityDetails": { "order": 5.0, "parentTag": "us-gaap_LongTermDebt", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of long-term debt payable, sinking fund requirements, and other securities issued that are redeemable by holder at fixed or determinable prices and dates maturing 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": "Long-term Debt, Maturities, Repayments of Principal in Year Three", "terseLabel": "January 1, 2021-December 31, 2021" } } }, "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureCreditFacilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo": { "auth_ref": [ "r97", "r168" ], "calculation": { "http://www.boingo.com/role/DisclosureCreditFacilityDetails": { "order": 4.0, "parentTag": "us-gaap_LongTermDebt", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of long-term debt payable, sinking fund requirements, and other securities issued that are redeemable by holder at fixed or determinable prices and dates maturing 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": "Long-term Debt, Maturities, Repayments of Principal in Year Two", "terseLabel": "January 1, 2020-December 31, 2020" } } }, "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureCreditFacilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear": { "auth_ref": [ "r97" ], "calculation": { "http://www.boingo.com/role/DisclosureCreditFacilityDetails": { "order": 3.0, "parentTag": "us-gaap_LongTermDebt", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of long-term debt payable, sinking fund requirements, and other securities issued that are redeemable by holder at fixed or determinable prices and dates maturing 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": "Long-term Debt, Maturities, Repayments of Principal, Remainder of Fiscal Year", "terseLabel": "July 1, 2019-December 31, 2019" } } }, "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureCreditFacilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtNoncurrent": { "auth_ref": [ "r40" ], "calculation": { "http://www.boingo.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 debt" } } }, "localname": "LongTermDebtNoncurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongtermConvertibleDebtCurrentAndNoncurrentAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Convertible Notes" } } }, "localname": "LongtermConvertibleDebtCurrentAndNoncurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_LossContingenciesByNatureOfContingencyAxis": { "auth_ref": [ "r156", "r157", "r158", "r160", "r161", "r162", "r164", "r166", "r167" ], "lang": { "en-US": { "role": { "documentation": "Information by type of existing condition, situation, or set of circumstances involving uncertainty as to possible loss to an enterprise that will ultimately be resolved when one or more future events occur or fail to occur.", "label": "Loss Contingency Nature [Axis]" } } }, "localname": "LossContingenciesByNatureOfContingencyAxis", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureCommitmentsAndContingenciesOthersMattersDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LossContingenciesLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Loss Contingencies [Line Items]", "terseLabel": "Commitments and contingencies" } } }, "localname": "LossContingenciesLineItems", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureCommitmentsAndContingenciesLettersOfCreditDetails", "http://www.boingo.com/role/DisclosureCommitmentsAndContingenciesOthersMattersDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LossContingenciesTable": { "auth_ref": [ "r156", "r157", "r158", "r160", "r161", "r162", "r164", "r166", "r167" ], "lang": { "en-US": { "role": { "documentation": "Discloses the specific components (such as the nature, name, and date) of the loss contingency and gives an estimate of the possible loss or range of loss, or states that a reasonable estimate cannot be made. Excludes environmental contingencies, warranties and unconditional purchase obligations.", "label": "Loss Contingencies [Table]" } } }, "localname": "LossContingenciesTable", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureCommitmentsAndContingenciesLettersOfCreditDetails", "http://www.boingo.com/role/DisclosureCommitmentsAndContingenciesOthersMattersDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LossContingencyDamagesSoughtValue": { "auth_ref": [ "r156", "r159", "r163" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The value (monetary amount) of the award the plaintiff seeks in the legal matter.", "label": "Loss Contingency, Damages Sought, Value", "terseLabel": "Claim value" } } }, "localname": "LossContingencyDamagesSoughtValue", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureCommitmentsAndContingenciesOthersMattersDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LossContingencyNatureDomain": { "auth_ref": [ "r156", "r157", "r158", "r160", "r161", "r162", "r164", "r166", "r167" ], "lang": { "en-US": { "role": { "documentation": "An existing condition, situation, or set of circumstances involving uncertainty as to possible loss to an enterprise that will ultimately be resolved when one or more future events occur or fail to occur. Resolution of the uncertainty may confirm the incurrence of a loss or impairment of an asset or the incurrence of a liability.", "label": "Loss Contingency Nature [Domain]", "terseLabel": "Loss Contingency, Nature [Domain]" } } }, "localname": "LossContingencyNatureDomain", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureCommitmentsAndContingenciesOthersMattersDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LossContingencyNewClaimsFiledNumber": { "auth_ref": [ "r159" ], "lang": { "en-US": { "role": { "documentation": "The total number of new claims filed pertaining to a loss contingency during the period.", "label": "Loss Contingency, New Claims Filed, Number", "terseLabel": "Number of claim received" } } }, "localname": "LossContingencyNewClaimsFiledNumber", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureCommitmentsAndContingenciesOthersMattersDetails" ], "xbrltype": "integerItemType" }, "us-gaap_MarketableSecuritiesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Available-for-sale Securities, Current [Abstract]", "terseLabel": "Short-term marketable securities-available-for-sale:" } } }, "localname": "MarketableSecuritiesAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureCashAndCashEquivalentsAndMarketableSecuritiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_MarketableSecuritiesCurrent": { "auth_ref": [ "r3", "r35" ], "calculation": { "http://www.boingo.com/role/DisclosureCashAndCashEquivalentsAndMarketableSecuritiesDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of investment in marketable security, classified as current.", "label": "Marketable Securities, Current", "totalLabel": "Total short-term marketable securities" } } }, "localname": "MarketableSecuritiesCurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureCashAndCashEquivalentsAndMarketableSecuritiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_MarketableSecuritiesPolicy": { "auth_ref": [ "r354" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of accounting policy for investment classified as marketable security.", "label": "Marketable Securities, Policy [Policy Text Block]", "terseLabel": "Marketable securities" } } }, "localname": "MarketableSecuritiesPolicy", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_MarketableSecuritiesUnrealizedGainLoss": { "auth_ref": [ "r63" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncomeLoss": { "order": 3.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of unrealized gain (loss) on investment in marketable security.", "label": "Marketable Securities, Unrealized Gain (Loss)", "terseLabel": "Unrealized gain on marketable securities" } } }, "localname": "MarketableSecuritiesUnrealizedGainLoss", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncomeLoss" ], "xbrltype": "monetaryItemType" }, "us-gaap_MeasurementInputDiscountRateMember": { "auth_ref": [ "r293" ], "lang": { "en-US": { "role": { "documentation": "Measurement input using interest rate to determine present value of future cash flows.", "label": "Measurement Input Discount Rate [Member]", "terseLabel": "Discount rates" } } }, "localname": "MeasurementInputDiscountRateMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_MeasurementInputRiskFreeInterestRateMember": { "auth_ref": [ "r293" ], "lang": { "en-US": { "role": { "documentation": "Measurement input using interest rate on instrument with zero risk of financial loss.", "label": "Measurement Input Risk Free Interest Rate [Member]", "terseLabel": "Risk-free rate" } } }, "localname": "MeasurementInputRiskFreeInterestRateMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_MeasurementInputTypeAxis": { "auth_ref": [ "r293" ], "lang": { "en-US": { "role": { "documentation": "Information by type of measurement input used to determine value of asset and liability.", "label": "Measurement Input Type [Axis]" } } }, "localname": "MeasurementInputTypeAxis", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_MeasurementInputTypeDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Measurement input used to determine value of asset and liability.", "label": "Measurement Input Type [Domain]", "terseLabel": "Measurement Input Type [Domain]" } } }, "localname": "MeasurementInputTypeDomain", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_MinorityInterest": { "auth_ref": [ "r44", "r349", "r362" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which is directly or indirectly attributable to that ownership interest in subsidiary equity which is not attributable to the parent (that is, noncontrolling interest, previously referred to as minority interest).", "label": "Stockholders' Equity Attributable to Noncontrolling Interest", "terseLabel": "Non-controlling interests" } } }, "localname": "MinorityInterest", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders": { "auth_ref": [ "r181" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Decrease in noncontrolling interest balance from payment of dividends or other distributions by the non-wholly owned subsidiary or partially owned entity, included in the consolidation of the parent entity, to the noncontrolling interest holders.", "label": "Noncontrolling Interest, Decrease from Distributions to Noncontrolling Interest Holders", "negatedLabel": "Non-controlling interest distributions" } } }, "localname": "MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_MinorityInterestOwnershipPercentageByParent": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "The parent entity's interest in net assets of the subsidiary, expressed as a percentage.", "label": "Noncontrolling Interest, Ownership Percentage by Parent", "terseLabel": "Percentage of ownership in subsidiaries" } } }, "localname": "MinorityInterestOwnershipPercentageByParent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPrinciplesOfConsolidationDetails" ], "xbrltype": "percentItemType" }, "us-gaap_MoneyMarketFundsAtCarryingValue": { "auth_ref": [], "calculation": { "http://www.boingo.com/role/DisclosureCashAndCashEquivalentsAndMarketableSecuritiesDetails": { "order": 2.0, "parentTag": "us-gaap_CashAndCashEquivalentsAtCarryingValue", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Investment in short-term money-market instruments (such as commercial paper, banker's acceptances, repurchase agreements, government securities, certificates of deposit, and so forth) which are highly liquid (that is, readily convertible to known amounts of cash) and so near their maturity that they present an insignificant risk of changes in value because of changes in interest rates. Generally, only investments with original maturities of three months or less qualify as cash equivalents by definition. Original maturity means an original maturity to the entity holding the investment. For example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three-years ago does not become a cash equivalent when its remaining maturity is three months.", "label": "Money Market Funds, at Carrying Value", "terseLabel": "Money market accounts" } } }, "localname": "MoneyMarketFundsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureCashAndCashEquivalentsAndMarketableSecuritiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "auth_ref": [ "r81" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.", "label": "Net Cash Provided by (Used in) Financing Activities, Continuing Operations", "totalLabel": "Net cash used in financing activities" } } }, "localname": "NetCashProvidedByUsedInFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]", "terseLabel": "Cash flows from financing activities" } } }, "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "auth_ref": [ "r81" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.", "label": "Net Cash Provided by (Used in) Investing Activities, Continuing Operations", "totalLabel": "Net cash used in investing activities" } } }, "localname": "NetCashProvidedByUsedInInvestingActivities", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]", "terseLabel": "Cash flows from investing activities" } } }, "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "auth_ref": [ "r81", "r82", "r85" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "lang": { "en-US": { "role": { "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.", "label": "Net Cash Provided by (Used in) Operating Activities, Continuing Operations", "totalLabel": "Net cash provided by operating activities" } } }, "localname": "NetCashProvidedByUsedInOperatingActivities", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]", "terseLabel": "Cash flows from operating activities" } } }, "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetIncomeLoss": { "auth_ref": [ "r52", "r55", "r60", "r85", "r110", "r352", "r366" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfOperations": { "order": null, "parentTag": null, "root": true, "weight": null } }, "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", "terseLabel": "Net income (loss) attributable to common stockholders, basic and diluted", "totalLabel": "Net income (loss) attributable to common stockholders" } } }, "localname": "NetIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureNetIncomeLossPerShareAttributableToCommonStockholdersDetails", "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetIncomeLossAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Net Income (Loss) Attributable to Parent [Abstract]", "terseLabel": "Numerator:" } } }, "localname": "NetIncomeLossAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureNetIncomeLossPerShareAttributableToCommonStockholdersDetails" ], "xbrltype": "stringItemType" }, "us-gaap_NetIncomeLossAttributableToNoncontrollingInterest": { "auth_ref": [ "r52", "r55", "r275", "r280" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfOperations": { "order": 2.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of Net Income (Loss) attributable to noncontrolling interest.", "label": "Net Income (Loss) Attributable to Noncontrolling Interest", "terseLabel": "Net income (loss) attributable to non-controlling interests" } } }, "localname": "NetIncomeLossAttributableToNoncontrollingInterest", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_NewAccountingPronouncementOrChangeInAccountingPrincipleEffectOfAdoptionQuantification": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Represents the quantification of the effect of adopting the new accounting standard or change in accounting principle expected by the entity to have a significant effect on the entity's financial statements.", "label": "New Accounting Pronouncement or Change in Accounting Principle, Effect of Adoption, Quantification", "terseLabel": "Cumulative effect of a change in accounting principle" } } }, "localname": "NewAccountingPronouncementOrChangeInAccountingPrincipleEffectOfAdoptionQuantification", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_NoncontrollingInterestMember": { "auth_ref": [ "r268" ], "lang": { "en-US": { "role": { "documentation": "This element represents that portion of equity (net assets) in a subsidiary not attributable, directly or indirectly, to the parent. A noncontrolling interest is sometimes called a minority interest.", "label": "Noncontrolling Interest [Member]", "terseLabel": "Non-controlling Interests" } } }, "localname": "NoncontrollingInterestMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_NonoperatingIncomeExpense": { "auth_ref": [ "r69" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfOperations": { "order": 2.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).", "label": "Nonoperating Income (Expense)", "terseLabel": "Interest and other expense, net" } } }, "localname": "NonoperatingIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_NotesPayableAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Notes Payable" } } }, "localname": "NotesPayableAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_NumberOfReportableSegments": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.", "label": "Number of Reportable Segments", "terseLabel": "Number of reportable segment" } } }, "localname": "NumberOfReportableSegments", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesSegmentAndGeographicInformationDetails" ], "xbrltype": "integerItemType" }, "us-gaap_OperatingIncomeLoss": { "auth_ref": [], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfOperations": { "order": 1.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The net result for the period of deducting operating expenses from operating revenues.", "label": "Operating Income (Loss)", "totalLabel": "Income (loss) from operations" } } }, "localname": "OperatingIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseCost": { "auth_ref": [ "r331", "r338" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability.", "label": "Operating Lease, Cost", "terseLabel": "Operating lease expense" } } }, "localname": "OperatingLeaseCost", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Operating Leases" } } }, "localname": "OperatingLeaseLiabilitiesPaymentsDueAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_OperatingLeaseLiability": { "auth_ref": [ "r322" ], "calculation": { "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetailsCal2": { "order": 2.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 }, "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetailsCal3": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.", "label": "Operating Lease, Liability", "terseLabel": "Operating lease liabilities", "totalLabel": "Total" } } }, "localname": "OperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetails", "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesBasisOfPresentationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityCurrent": { "auth_ref": [ "r322" ], "calculation": { "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetailsCal3": { "order": 1.0, "parentTag": "us-gaap_OperatingLeaseLiability", "weight": 1.0 }, "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 6.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.", "label": "Operating Lease, Liability, Current", "terseLabel": "Current portion of operating leases" } } }, "localname": "OperatingLeaseLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetails", "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "auth_ref": [ "r322" ], "calculation": { "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetailsCal3": { "order": 2.0, "parentTag": "us-gaap_OperatingLeaseLiability", "weight": 1.0 }, "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.", "label": "Operating Lease, Liability, Noncurrent", "terseLabel": "Long-term portion of operating leases" } } }, "localname": "OperatingLeaseLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetails", "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasePayments": { "auth_ref": [ "r326", "r332" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.", "label": "Operating Lease, Payments", "negatedLabel": "Operating cash flows from operating leases" } } }, "localname": "OperatingLeasePayments", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseRightOfUseAsset": { "auth_ref": [ "r321" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of lessee's right to use underlying asset under operating lease.", "label": "Operating Lease, Right-of-Use Asset", "terseLabel": "Operating lease right-of-use assets, net", "verboseLabel": "Operating lease right-of-use assets" } } }, "localname": "OperatingLeaseRightOfUseAsset", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesBasisOfPresentationDetails", "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": { "auth_ref": [ "r335", "r338" ], "lang": { "en-US": { "role": { "documentation": "Weighted average discount rate for operating lease calculated at point in time.", "label": "Operating Lease, Weighted Average Discount Rate, Percent", "terseLabel": "Operating leases, weighted average discount rate (as a percent)" } } }, "localname": "OperatingLeaseWeightedAverageDiscountRatePercent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesDetails" ], "xbrltype": "percentItemType" }, "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": { "auth_ref": [ "r334", "r338" ], "lang": { "en-US": { "role": { "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Operating Lease, Weighted Average Remaining Lease Term", "terseLabel": "Operating leases, weighted average remaining lease term (in years)" } } }, "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesDetails" ], "xbrltype": "durationItemType" }, "us-gaap_OperatingLeasesFutureMinimumPaymentsDue": { "auth_ref": [ "r314", "r315" ], "calculation": { "http://www.boingo.com/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNonCancellableLeasesDetails": { "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", "totalLabel": "Minimum lease payments" } } }, "localname": "OperatingLeasesFutureMinimumPaymentsDue", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNonCancellableLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasesFutureMinimumPaymentsDueAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Operating Leases, Future Minimum Payments Due, Fiscal Year Maturity [Abstract]", "terseLabel": "Operating Leases" } } }, "localname": "OperatingLeasesFutureMinimumPaymentsDueAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNonCancellableLeasesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent": { "auth_ref": [ "r314", "r315" ], "calculation": { "http://www.boingo.com/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNonCancellableLeasesDetails": { "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", "terseLabel": "January 1, 2019 - December 31, 2019" } } }, "localname": "OperatingLeasesFutureMinimumPaymentsDueCurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNonCancellableLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears": { "auth_ref": [ "r314", "r315" ], "calculation": { "http://www.boingo.com/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNonCancellableLeasesDetails": { "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 fifth 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 Five Years", "terseLabel": "January 1, 2023 - December 31, 2023" } } }, "localname": "OperatingLeasesFutureMinimumPaymentsDueInFiveYears", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNonCancellableLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears": { "auth_ref": [ "r314", "r315" ], "calculation": { "http://www.boingo.com/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNonCancellableLeasesDetails": { "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": "January 1, 2022 - December 31, 2022" } } }, "localname": "OperatingLeasesFutureMinimumPaymentsDueInFourYears", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNonCancellableLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears": { "auth_ref": [ "r314", "r315" ], "calculation": { "http://www.boingo.com/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNonCancellableLeasesDetails": { "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", "terseLabel": "January 1, 2021 - December 31, 2021" } } }, "localname": "OperatingLeasesFutureMinimumPaymentsDueInThreeYears", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNonCancellableLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears": { "auth_ref": [ "r314", "r315" ], "calculation": { "http://www.boingo.com/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNonCancellableLeasesDetails": { "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", "terseLabel": "January 1, 2020 - December 31, 2020" } } }, "localname": "OperatingLeasesFutureMinimumPaymentsDueInTwoYears", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNonCancellableLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasesFutureMinimumPaymentsDueThereafter": { "auth_ref": [ "r314", "r315" ], "calculation": { "http://www.boingo.com/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNonCancellableLeasesDetails": { "order": 6.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 after the fifth 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 Thereafter", "terseLabel": "Thereafter" } } }, "localname": "OperatingLeasesFutureMinimumPaymentsDueThereafter", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNonCancellableLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OptionIndexedToIssuersEquityEquityAxis": { "auth_ref": [ "r174", "r286", "r287", "r288" ], "lang": { "en-US": { "role": { "documentation": "Information by type of options indexed to an issuer's equity.", "label": "Option Indexed to Issuer's Equity [Axis]" } } }, "localname": "OptionIndexedToIssuersEquityEquityAxis", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureConvertibleNotesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_OptionIndexedToIssuersEquityTypeDomain": { "auth_ref": [ "r289" ], "lang": { "en-US": { "role": { "documentation": "Description of the type of freestanding contract issued by a Company that is indexed to, and potentially settled in, a Company's own stock. Specifically, the pertinent rights and privileges of the securities outstanding.", "label": "Option Indexed To Issuers Equity Type [Domain]", "terseLabel": "Option Indexed to Issuer's Equity, Type [Domain]" } } }, "localname": "OptionIndexedToIssuersEquityTypeDomain", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureConvertibleNotesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OrderOrProductionBacklogMember": { "auth_ref": [ "r255" ], "lang": { "en-US": { "role": { "documentation": "Orders, production or production backlog arising from contracts such as purchase or sales orders acquired in a business combination.", "label": "Order Or Production Backlog [Member]", "terseLabel": "Backlog" } } }, "localname": "OrderOrProductionBacklogMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsPreliminaryPurchasePriceAllocationsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "The business" } } }, "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock": { "auth_ref": [ "r0", "r285" ], "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": "The business" } } }, "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureBusiness" ], "xbrltype": "textBlockItemType" }, "us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock": { "auth_ref": [ "r98", "r101", "r120", "r285" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for the general note to the financial statements for the reporting entity which may include, descriptions of the basis of presentation, business description, significant accounting policies, consolidations, reclassifications, new pronouncements not yet adopted and changes in accounting principles.", "label": "Organization, Consolidation, Basis of Presentation, Business Description and Accounting Policies [Text Block]", "terseLabel": "Summary of significant accounting policies" } } }, "localname": "OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_OtherAccruedLiabilitiesCurrent": { "auth_ref": [ "r6", "r7", "r8", "r36" ], "calculation": { "http://www.boingo.com/role/DisclosureAccruedExpensesAndOtherLiabilitiesDetails": { "order": 10.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer.", "label": "Other Accrued Liabilities, Current", "terseLabel": "Other" } } }, "localname": "OtherAccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAccruedExpensesAndOtherLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherAssetsNoncurrent": { "auth_ref": [ "r28" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 6.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 assets" } } }, "localname": "OtherAssetsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentBeforeTaxPeriodIncreaseDecreaseAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, before Tax [Abstract]", "verboseLabel": "Other comprehensive income (loss), net of tax" } } }, "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentBeforeTaxPeriodIncreaseDecreaseAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncomeLoss" ], "xbrltype": "stringItemType" }, "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": { "auth_ref": [ "r46", "r307" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncomeLoss": { "order": 2.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest", "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" } } }, "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncomeLoss" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTax": { "auth_ref": [ "r53", "r56", "r59", "r175" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount after tax and reclassification adjustments of other comprehensive income (loss).", "label": "Other Comprehensive Income (Loss), Net of Tax", "verboseLabel": "Other comprehensive income (loss)" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTax", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherLiabilitiesNoncurrent": { "auth_ref": [ "r41" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 8.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 liabilities" } } }, "localname": "OtherLiabilitiesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_PayablesAndAccrualsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Accrued expenses and other liabilities" } } }, "localname": "PayablesAndAccrualsAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_PaymentsOfDebtIssuanceCosts": { "auth_ref": [ "r78" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The cash outflow paid to third parties in connection with debt origination, which will be amortized over the remaining maturity period of the associated long-term debt.", "label": "Payments of Debt Issuance Costs", "negatedLabel": "Debt issuance costs" } } }, "localname": "PaymentsOfDebtIssuanceCosts", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": { "auth_ref": [ "r76" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 7.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement.", "label": "Payments Related to Tax Withholding for Share-based Compensation", "negatedLabel": "Payments of withholding tax on net issuance of restricted stock units" } } }, "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireBusinessesGross": { "auth_ref": [ "r72", "r264" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The cash outflow associated with the acquisition of business during the period. The cash portion only of the acquisition price.", "label": "Payments to Acquire Businesses, Gross", "terseLabel": "Cash paid" } } }, "localname": "PaymentsToAcquireBusinessesGross", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsDetails", "http://www.boingo.com/role/DisclosureAcquisitionsPreliminaryPurchasePriceAllocationsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireMarketableSecurities": { "auth_ref": [ "r132" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of cash outflow for purchase of marketable security.", "label": "Payments to Acquire Marketable Securities", "negatedLabel": "Purchases of marketable securities" } } }, "localname": "PaymentsToAcquireMarketableSecurities", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "auth_ref": [ "r73" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets 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 and equipment" } } }, "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToMinorityShareholders": { "auth_ref": [ "r79" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 8.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of cash outflow to a noncontrolling interest. Includes, but not limited to, reduction of noncontrolling interest ownership. Excludes dividends paid to the noncontrolling interest.", "label": "Payments to Noncontrolling Interests", "negatedLabel": "Payments to non-controlling interests" } } }, "localname": "PaymentsToMinorityShareholders", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PlanNameAxis": { "auth_ref": [ "r205", "r227" ], "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansPlansDetails" ], "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansPlansDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PreferredStockParOrStatedValuePerShare": { "auth_ref": [ "r15" ], "lang": { "en-US": { "role": { "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.", "label": "Preferred Stock, Par or Stated Value Per Share", "terseLabel": "Preferred stock, par value (in dollars per share)" } } }, "localname": "PreferredStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "perShareItemType" }, "us-gaap_PreferredStockSharesAuthorized": { "auth_ref": [ "r15" ], "lang": { "en-US": { "role": { "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.", "label": "Preferred Stock, Shares Authorized", "terseLabel": "Preferred stock, shares authorized" } } }, "localname": "PreferredStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockSharesIssued": { "auth_ref": [ "r15" ], "lang": { "en-US": { "role": { "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.", "label": "Preferred Stock, Shares Issued", "terseLabel": "Preferred stock, shares issued" } } }, "localname": "PreferredStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockSharesOutstanding": { "auth_ref": [ "r15" ], "lang": { "en-US": { "role": { "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.", "label": "Preferred Stock, Shares Outstanding", "terseLabel": "Preferred stock, shares outstanding" } } }, "localname": "PreferredStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockValue": { "auth_ref": [ "r15" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.", "label": "Preferred Stock, Value, Issued", "verboseLabel": "Preferred stock, $0.0001 par value; 5,000 shares authorized; no shares issued and outstanding" } } }, "localname": "PreferredStockValue", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "auth_ref": [ "r4", "r23", "r24" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 4.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" } } }, "localname": "PrepaidExpenseAndOtherAssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_PrimeRateMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Interest rate charged by financial institutions to their most creditworthy borrowers.", "label": "Prime Rate [Member]", "terseLabel": "Prime Rate" } } }, "localname": "PrimeRateMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureCreditFacilityDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ProceedsFromConvertibleDebt": { "auth_ref": [ "r75" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The cash inflow from the issuance of a long-term debt instrument which can be exchanged for a specified amount of another security, typically the entity's common stock, at the option of the issuer or the holder.", "label": "Proceeds from Convertible Debt", "terseLabel": "Gross proceeds from Convertible Notes" } } }, "localname": "ProceedsFromConvertibleDebt", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureConvertibleNotesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromLongTermLinesOfCredit": { "auth_ref": [ "r75" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The cash inflow from a contractual arrangement with the lender, including letter of credit, standby letter of credit and revolving credit arrangements, under which borrowings can be made up to a specific amount at any point in time with maturities due beyond one year or the operating cycle, if longer.", "label": "Proceeds from Long-term Lines of Credit", "verboseLabel": "Proceeds from credit facility" } } }, "localname": "ProceedsFromLongTermLinesOfCredit", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities": { "auth_ref": [], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The cash inflow associated with the aggregate amount received by the entity through sale or maturity of marketable securities (held-to-maturity or available-for-sale) during the period.", "label": "Proceeds from Sale and Maturity of Marketable Securities", "terseLabel": "Sales of marketable securities" } } }, "localname": "ProceedsFromSaleAndMaturityOfMarketableSecurities", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromStockOptionsExercised": { "auth_ref": [ "r74", "r228" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement.", "label": "Proceeds from Stock Options Exercised", "terseLabel": "Proceeds from exercise of stock options" } } }, "localname": "ProceedsFromStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProfitLoss": { "auth_ref": [ "r52", "r55", "r80", "r124", "r125", "r270", "r274", "r276", "r280", "r281" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 }, "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncomeLoss": { "order": 1.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest", "weight": 1.0 }, "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfOperations": { "order": 1.0, "parentTag": "us-gaap_NetIncomeLoss", "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", "totalLabel": "Net income (loss)", "verboseLabel": "Net income (loss)" } } }, "localname": "ProfitLoss", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementOfStockholdersEquity", "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows", "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncomeLoss", "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Property and equipment" } } }, "localname": "PropertyPlantAndEquipmentAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentByTypeAxis": { "auth_ref": [ "r27", "r152" ], "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosurePropertyAndEquipmentDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": { "auth_ref": [ "r154" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for long-lived, physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, accounting policies and methodology, roll forwards, depreciation, depletion and amortization expense, including composite depreciation, accumulated depreciation, depletion and amortization expense, useful lives and method used, income statement disclosures, assets held for sale and public utility disclosures.", "label": "Property, Plant and Equipment Disclosure [Text Block]", "terseLabel": "Property and equipment" } } }, "localname": "PropertyPlantAndEquipmentDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosurePropertyAndEquipment" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentGross": { "auth_ref": [ "r26", "r150" ], "calculation": { "http://www.boingo.com/role/DisclosurePropertyAndEquipmentDetails": { "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", "terseLabel": "Total property and equipment" } } }, "localname": "PropertyPlantAndEquipmentGross", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosurePropertyAndEquipmentDetails" ], "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 and equipment" } } }, "localname": "PropertyPlantAndEquipmentLineItems", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosurePropertyAndEquipmentDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentNet": { "auth_ref": [ "r10", "r11", "r152", "r364" ], "calculation": { "http://www.boingo.com/role/DisclosurePropertyAndEquipmentDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 2.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": "Total property and equipment, net" } } }, "localname": "PropertyPlantAndEquipmentNet", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosurePropertyAndEquipmentDetails", "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "auth_ref": [ "r10", "r152" ], "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" } } }, "localname": "PropertyPlantAndEquipmentTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosurePropertyAndEquipmentTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentTypeDomain": { "auth_ref": [ "r10", "r150" ], "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosurePropertyAndEquipmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RepaymentsOfLongTermLinesOfCredit": { "auth_ref": [ "r77" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The cash outflow for the settlement of obligation drawn from a contractual arrangement with the lender, including letter of credit, standby letter of credit and revolving credit arrangements, under which borrowings can be made up to a specific amount at any point in time with maturities due beyond one year or the operating cycle, if longer.", "label": "Repayments of Long-term Lines of Credit", "negatedLabel": "Principal payments on credit facility" } } }, "localname": "RepaymentsOfLongTermLinesOfCredit", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_RepaymentsOfNotesPayable": { "auth_ref": [ "r77" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The cash outflow for a borrowing supported by a written promise to pay an obligation.", "label": "Repayments of Notes Payable", "negatedLabel": "Payments of finance leases and notes payable" } } }, "localname": "RepaymentsOfNotesPayable", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ResearchAndDevelopmentExpense": { "auth_ref": [ "r233", "r373" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfOperations": { "order": 3.0, "parentTag": "us-gaap_CostsAndExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.", "label": "Research and Development Expense", "terseLabel": "Development and technology" } } }, "localname": "ResearchAndDevelopmentExpense", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.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": "Development and technology" } } }, "localname": "ResearchAndDevelopmentExpenseMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosurePropertyAndEquipmentDetails", "http://www.boingo.com/role/DisclosureStockIncentivePlansCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "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": "RSUs" } } }, "localname": "RestrictedStockUnitsRSUMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureNetIncomeLossPerShareAttributableToCommonStockholdersDetails", "http://www.boingo.com/role/DisclosureStockIncentivePlansPlansDetails", "http://www.boingo.com/role/DisclosureStockIncentivePlansRestrictedStockUnitAwardsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RetailMember": { "auth_ref": [ "r195" ], "lang": { "en-US": { "role": { "documentation": "Sale of product directly to consumer.", "label": "Retail [Member]", "terseLabel": "Retail" } } }, "localname": "RetailMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesSegmentAndGeographicInformationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "auth_ref": [ "r19", "r181", "r361" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Retained Earnings (Accumulated Deficit)", "terseLabel": "Accumulated deficit" } } }, "localname": "RetainedEarningsAccumulatedDeficit", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsMember": { "auth_ref": [], "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueFromContractWithCustomerAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Contract assets and contract liabilities" } } }, "localname": "RevenueFromContractWithCustomerAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "auth_ref": [ "r191", "r192" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfOperations": { "order": 2.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.", "label": "Revenue from Contract with Customer, Excluding Assessed Tax", "terseLabel": "Revenue" } } }, "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesSegmentAndGeographicInformationDetails", "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueFromContractWithCustomerPolicyTextBlock": { "auth_ref": [ "r92", "r197" ], "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "auth_ref": [ "r197" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.", "label": "Revenue from Contract with Customer [Text Block]", "terseLabel": "Contract assets and contract liabilities" } } }, "localname": "RevenueFromContractWithCustomerTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureContractAssetsAndContractLiabilities" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Revenue, Initial Application Period Cumulative Effect Transition [Line Items]", "terseLabel": "Adoption of ASC 842" } } }, "localname": "RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesBasisOfPresentationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionTable": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Disclosure of information when using transition method for cumulative effect in initial period of application for revenue from contract with customer.", "label": "Revenue, Initial Application Period Cumulative Effect Transition [Table]" } } }, "localname": "RevenueInitialApplicationPeriodCumulativeEffectTransitionTable", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesBasisOfPresentationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenuePerformanceObligationAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Revenue, Performance Obligation [Abstract]", "terseLabel": "Revenue performance obligations" } } }, "localname": "RevenuePerformanceObligationAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureContractAssetsAndContractLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenuePracticalExpedientFinancingComponent": { "auth_ref": [ "r190" ], "lang": { "en-US": { "role": { "documentation": "Indicates (true false) whether practical expedient was elected not to adjust consideration for effect of financing component when transfer and customer payment for product or service occurs within one year or less.", "label": "Revenue, Practical Expedient, Financing Component [true/false]", "terseLabel": "Practical expedient of financing component" } } }, "localname": "RevenuePracticalExpedientFinancingComponent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRevenueRecognitionPracticalExpedientDetails" ], "xbrltype": "booleanItemType" }, "us-gaap_RevenuePracticalExpedientIncrementalCostOfObtainingContract": { "auth_ref": [ "r137", "r190" ], "lang": { "en-US": { "role": { "documentation": "Indicates (true false) whether practical expedient was elected to recognize incremental cost of obtaining contract as expense when incurred if amortization period would have been one year or less.", "label": "Revenue, Practical Expedient, Incremental Cost of Obtaining Contract [true/false]", "terseLabel": "Practical expedient of incremental cost" } } }, "localname": "RevenuePracticalExpedientIncrementalCostOfObtainingContract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRevenueRecognitionPracticalExpedientDetails" ], "xbrltype": "booleanItemType" }, "us-gaap_RevenuePracticalExpedientRemainingPerformanceObligation": { "auth_ref": [ "r189" ], "lang": { "en-US": { "role": { "documentation": "Indicates (true false) whether optional exemption was applied not to disclose amount of transaction price allocated to and explanation of expected timing of revenue recognition for remaining performance obligation, when contract has expected duration of one year or less or right to consideration corresponds directly to performance completed.", "label": "Revenue, Practical Expedient, Remaining Performance Obligation [true/false]", "terseLabel": "Practical expedient of remaining performance obligations" } } }, "localname": "RevenuePracticalExpedientRemainingPerformanceObligation", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureContractAssetsAndContractLiabilitiesDetails" ], "xbrltype": "booleanItemType" }, "us-gaap_RevenueRemainingPerformanceObligation": { "auth_ref": [ "r187" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue.", "label": "Revenue, Remaining Performance Obligation", "terseLabel": "Remaining service performance obligations" } } }, "localname": "RevenueRemainingPerformanceObligation", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureContractAssetsAndContractLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": { "auth_ref": [ "r188" ], "lang": { "en-US": { "role": { "documentation": "Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period", "terseLabel": "Remaining duration of contracts" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureContractAssetsAndContractLiabilitiesDetails" ], "xbrltype": "durationItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": { "auth_ref": [ "r188" ], "lang": { "en-US": { "role": { "documentation": "Start date of time band for expected timing of satisfaction of remaining performance obligation, in CCYY-MM-DD format.", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureContractAssetsAndContractLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevolvingCreditFacilityMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount.", "label": "Revolving Credit Facility [Member]", "terseLabel": "Revolving Line of Credit" } } }, "localname": "RevolvingCreditFacilityMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureCreditFacilityDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": { "auth_ref": [ "r333", "r338" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability.", "label": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability", "terseLabel": "Operating leases, right-of-use assets" } } }, "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the components of accrued liabilities.", "label": "Schedule of Accrued Liabilities [Table Text Block]", "terseLabel": "Schedule of accrued expenses and other liabilities" } } }, "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAccruedExpensesAndOtherLiabilitiesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable": { "auth_ref": [ "r250", "r251" ], "lang": { "en-US": { "role": { "documentation": "Schedule reflecting each material business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities.", "label": "Schedule of Business Acquisitions, by Acquisition [Table]" } } }, "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTable", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsActualAndProFormaResultsUnauditedDetails", "http://www.boingo.com/role/DisclosureAcquisitionsDetails", "http://www.boingo.com/role/DisclosureAcquisitionsPreliminaryPurchasePriceAllocationsDetails", "http://www.boingo.com/role/DisclosureAcquisitionsTables" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfCapitalLeasedAsssetsTable": { "auth_ref": [ "r317" ], "lang": { "en-US": { "role": { "documentation": "Schedule of long-lived, depreciable assets that are subject to a lease meeting the criteria for capitalization and are used in the normal conduct of business to produce goods and services. Examples may 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": "Schedule of Capital Leased Assets [Table]" } } }, "localname": "ScheduleOfCapitalLeasedAsssetsTable", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNonCancellableLeasesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the components of cash, cash equivalents, and investments.", "label": "Cash, Cash Equivalents and Investments [Table Text Block]", "terseLabel": "Schedule of cash and cash equivalents and marketable securities" } } }, "localname": "ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureCashAndCashEquivalentsAndMarketableSecuritiesTables" ], "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 principal payments due under Term Loan" } } }, "localname": "ScheduleOfDebtTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureCreditFacilityTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "auth_ref": [ "r110" ], "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 income (loss) per share attributable to common stockholders" } } }, "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureNetIncomeLossPerShareAttributableToCommonStockholdersTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable": { "auth_ref": [ "r203", "r224", "r229" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of information about amount recognized for award under share-based payment arrangement. Includes, but is not limited to, amount expensed in statement of income or comprehensive income, amount capitalized in statement of financial position, and corresponding reporting line item in financial statements.", "label": "Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Table]" } } }, "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansCompensationExpenseDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": { "auth_ref": [ "r203", "r224", "r229" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of allocation of amount expensed and capitalized for award under share-based payment arrangement to statement of income or comprehensive income and statement of financial position. Includes, but is not limited to, corresponding line item in financial statement.", "label": "Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Table Text Block]", "terseLabel": "Schedule of stock-based compensation expense" } } }, "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock": { "auth_ref": [ "r126" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of entity-wide revenues from external customers for each product or service or each group of similar products or services if the information is not provided as part of the reportable operating segment information.", "label": "Revenue from External Customers by Products and Services [Table Text Block]", "terseLabel": "Summary of the entity's revenue disaggregated by product offerings" } } }, "localname": "ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock": { "auth_ref": [ "r290", "r291" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of assets and liabilities, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3).", "label": "Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block]", "terseLabel": "Schedule of financial assets and liabilities that are measured at fair value on a recurring basis" } } }, "localname": "ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureFairValueMeasurementTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock": { "auth_ref": [ "r214" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the changes in outstanding nonvested restricted stock units.", "label": "Schedule of Nonvested Restricted Stock Units Activity [Table Text Block]", "terseLabel": "Summary of RSU activity" } } }, "localname": "ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": { "auth_ref": [ "r27", "r152" ], "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosurePropertyAndEquipmentDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock": { "auth_ref": [ "r254" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the amounts recognized as of the acquisition date for each major class of assets acquired and liabilities assumed. May include but not limited to the following: (a) acquired receivables; (b) contingencies recognized at the acquisition date; and (c) the fair value of noncontrolling interests in the acquiree.", "label": "Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block]", "terseLabel": "Summary of the preliminary purchase price allocation" } } }, "localname": "ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": { "auth_ref": [ "r205", "r227" ], "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansPlansDetails", "http://www.boingo.com/role/DisclosureStockIncentivePlansRestrictedStockUnitAwardsDetails", "http://www.boingo.com/role/DisclosureStockIncentivePlansStockOptionAwardsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": { "auth_ref": [ "r208", "r219", "r221" ], "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": "Schedule of Share-based Compensation, Stock Options, Activity [Table Text Block]", "terseLabel": "Summary of stock option activity" } } }, "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_SecuredDebtMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Collateralized debt obligation backed by, for example, but not limited to, pledge, mortgage or other lien on the entity's assets.", "label": "Secured Debt [Member]", "terseLabel": "Term Loan" } } }, "localname": "SecuredDebtMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureCreditFacilityDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SegmentReportingDisclosureOfEntitysReportableSegmentsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Segment Reporting, Disclosure of Entity's Reportable Segments [Abstract]", "terseLabel": "Primary revenue source" } } }, "localname": "SegmentReportingDisclosureOfEntitysReportableSegmentsAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesSegmentAndGeographicInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SegmentReportingPolicyPolicyTextBlock": { "auth_ref": [ "r91" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of accounting policy for segment reporting.", "label": "Segment Reporting, Policy [Policy Text Block]", "terseLabel": "Segment and geographic information" } } }, "localname": "SegmentReportingPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_SellingAndMarketingExpense": { "auth_ref": [], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfOperations": { "order": 4.0, "parentTag": "us-gaap_CostsAndExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The aggregate total amount of expenses directly related to the marketing or selling of products or services.", "label": "Selling and Marketing Expense", "terseLabel": "Selling and marketing" } } }, "localname": "SellingAndMarketingExpense", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_SellingAndMarketingExpenseMember": { "auth_ref": [ "r62" ], "lang": { "en-US": { "role": { "documentation": "Primary financial statement caption encompassing selling and marketing expense.", "label": "Selling And Marketing Expense [Member]", "terseLabel": "Selling and marketing" } } }, "localname": "SellingAndMarketingExpenseMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensation": { "auth_ref": [ "r83" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 6.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": "Stock-based compensation" } } }, "localname": "ShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": { "auth_ref": [ "r206" ], "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansRestrictedStockUnitAwardsDetails", "http://www.boingo.com/role/DisclosureStockIncentivePlansStockOptionAwardsDetails" ], "xbrltype": "durationItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": { "auth_ref": [ "r213" ], "lang": { "en-US": { "role": { "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period", "negatedLabel": "Canceled/forfeited (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansRestrictedStockUnitAwardsDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": { "auth_ref": [ "r218" ], "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": "Canceled/forfeited (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansRestrictedStockUnitAwardsDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": { "auth_ref": [ "r216" ], "lang": { "en-US": { "role": { "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period", "terseLabel": "Granted (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansRestrictedStockUnitAwardsDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r216" ], "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansRestrictedStockUnitAwardsDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": { "auth_ref": [ "r215" ], "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": "Non-vested at end of period (in shares)", "periodStartLabel": "Non-vested at beginning of period (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansRestrictedStockUnitAwardsDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]", "terseLabel": "Number of Shares" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansRestrictedStockUnitAwardsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": { "auth_ref": [ "r215" ], "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": "Non-vested at end of period (in dollars per share)", "periodStartLabel": "Non-vested at beginning of period (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansRestrictedStockUnitAwardsDetails" ], "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansRestrictedStockUnitAwardsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": { "auth_ref": [ "r217" ], "lang": { "en-US": { "role": { "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period", "negatedLabel": "Vested (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansRestrictedStockUnitAwardsDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r217" ], "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansRestrictedStockUnitAwardsDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]", "terseLabel": "Stock incentive plans", "verboseLabel": "Share-based Compensation Arrangement by Share-based Payment Award" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansPlansDetails", "http://www.boingo.com/role/DisclosureStockIncentivePlansRestrictedStockUnitAwardsDetails", "http://www.boingo.com/role/DisclosureStockIncentivePlansStockOptionAwardsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber": { "auth_ref": [ "r209", "r211" ], "lang": { "en-US": { "role": { "documentation": "Number of equity instruments other than options outstanding, including both vested and non-vested instruments.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Non-Option Equity Instruments, Outstanding, Number", "terseLabel": "RSUs outstanding" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansPlansDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Additional Disclosures [Abstract]", "terseLabel": "Aggregate Intrinsic Value" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansStockOptionAwardsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod": { "auth_ref": [ "r213" ], "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": "Canceled/forfeited (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansStockOptionAwardsDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": { "auth_ref": [ "r227" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value", "verboseLabel": "Outstanding and exercisable at end of period" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansStockOptionAwardsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": { "auth_ref": [ "r210", "r227" ], "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 and exercisable at end of period (in shares)", "periodStartLabel": "Outstanding at beginning of period (in shares)", "verboseLabel": "Number of options outstanding" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansPlansDetails", "http://www.boingo.com/role/DisclosureStockIncentivePlansStockOptionAwardsDetails" ], "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansStockOptionAwardsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": { "auth_ref": [ "r209" ], "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 and exercisable at end of period (in dollars per share)", "periodStartLabel": "Outstanding at beginning of period (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansStockOptionAwardsDetails" ], "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansStockOptionAwardsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "auth_ref": [ "r202", "r207" ], "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureNetIncomeLossPerShareAttributableToCommonStockholdersDetails", "http://www.boingo.com/role/DisclosureStockIncentivePlansPlansDetails", "http://www.boingo.com/role/DisclosureStockIncentivePlansRestrictedStockUnitAwardsDetails", "http://www.boingo.com/role/DisclosureStockIncentivePlansStockOptionAwardsDetails" ], "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansStockOptionAwardsDetails" ], "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": "Canceled/forfeited (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansStockOptionAwardsDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationAwardTrancheOneMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "First portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period.", "label": "Share Based Compensation Award Tranche One [Member]", "terseLabel": "Vesting in 12 months" } } }, "localname": "ShareBasedCompensationAwardTrancheOneMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansStockOptionAwardsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensationAwardTrancheTwoMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Second portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period.", "label": "Share Based Compensation Award Tranche Two [Member]", "terseLabel": "Vesting monthly 12 months after grant date" } } }, "localname": "ShareBasedCompensationAwardTrancheTwoMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansStockOptionAwardsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SharePrice": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Price of a single share of a number of saleable stocks of a company.", "label": "Share Price", "terseLabel": "Share price" } } }, "localname": "SharePrice", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureConvertibleNotesDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage": { "auth_ref": [ "r206" ], "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", "terseLabel": "Vesting percentage" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansStockOptionAwardsDetails" ], "xbrltype": "percentItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": { "auth_ref": [ "r222" ], "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 and exercisable at end of period" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansStockOptionAwardsDetails" ], "xbrltype": "durationItemType" }, "us-gaap_ShortTermDebtTypeAxis": { "auth_ref": [ "r32" ], "lang": { "en-US": { "role": { "documentation": "Information by type of short-term debt arrangement.", "label": "Short-term Debt, Type [Axis]" } } }, "localname": "ShortTermDebtTypeAxis", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureCommitmentsAndContingenciesLettersOfCreditDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShortTermDebtTypeDomain": { "auth_ref": [ "r29" ], "lang": { "en-US": { "role": { "documentation": "Type of short-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing.", "label": "Short Term Debt Type [Domain]", "terseLabel": "Short-term Debt, Type [Domain]" } } }, "localname": "ShortTermDebtTypeDomain", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureCommitmentsAndContingenciesLettersOfCreditDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SoftwareAndSoftwareDevelopmentCostsMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Purchased software applications and internally developed software for sale, licensing or long-term internal use.", "label": "Software And Software Development Costs [Member]", "terseLabel": "Software" } } }, "localname": "SoftwareAndSoftwareDevelopmentCostsMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosurePropertyAndEquipmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_StatementEquityComponentsAxis": { "auth_ref": [ "r43", "r175" ], "lang": { "en-US": { "role": { "documentation": "Information by component of equity.", "label": "Equity Components [Axis]" } } }, "localname": "StatementEquityComponentsAxis", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementOfStockholdersEquity" ], "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureContractAssetsAndContractLiabilitiesDetails", "http://www.boingo.com/role/DisclosureNetIncomeLossPerShareAttributableToCommonStockholdersDetails", "http://www.boingo.com/role/StatementCondensedConsolidatedStatementOfStockholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StatementOfCashFlowsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Condensed Consolidated Statements of Cash Flows" } } }, "localname": "StatementOfCashFlowsAbstract", "nsuri": "http://fasb.org/us-gaap/2019-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/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Condensed Consolidated Statements of Comprehensive Income (Loss)" } } }, "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementOfStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Condensed Consolidated Statement of Stockholders' Equity" } } }, "localname": "StatementOfStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementTable": { "auth_ref": [], "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureContractAssetsAndContractLiabilitiesDetails", "http://www.boingo.com/role/DisclosureNetIncomeLossPerShareAttributableToCommonStockholdersDetails", "http://www.boingo.com/role/StatementCondensedConsolidatedStatementOfStockholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross": { "auth_ref": [ "r175", "r181" ], "lang": { "en-US": { "role": { "documentation": "Total number of shares issued during the period, including shares forfeited, as a result of Restricted Stock Awards.", "label": "Stock Issued During Period, Shares, Restricted Stock Award, Gross", "terseLabel": "Shares of common stock issued resulting from vesting" } } }, "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardGross", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansRestrictedStockUnitAwardsDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation": { "auth_ref": [ "r15", "r16", "r175", "r181" ], "lang": { "en-US": { "role": { "documentation": "Number, after forfeiture, of shares or units issued under share-based payment arrangement. Excludes shares or units issued under employee stock ownership plan (ESOP).", "label": "Stock Issued During Period, Shares, Share-based Compensation, Net of Forfeitures", "terseLabel": "Issuance of common stock under stock incentive plans (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "auth_ref": [ "r15", "r16", "r175", "r181", "r212" ], "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", "negatedLabel": "Exercised (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansStockOptionAwardsDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation": { "auth_ref": [ "r15", "r16", "r181", "r204", "r220" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Value, after forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP).", "label": "Stock Issued During Period, Value, Share-based Compensation, Net of Forfeitures", "terseLabel": "Issuance of common stock under stock incentive plans" } } }, "localname": "StockIssuedDuringPeriodValueShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementOfStockholdersEquity" ], "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", "terseLabel": "Amount of common stock approved by the entity for a stock repurchase program" } } }, "localname": "StockRepurchaseProgramAuthorizedAmount1", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureNetIncomeLossPerShareAttributableToCommonStockholdersDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount remaining of a stock repurchase plan authorized.", "label": "Stock Repurchase Program, Remaining Authorized Repurchase Amount", "terseLabel": "Remaining approved amount for repurchases" } } }, "localname": "StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureNetIncomeLossPerShareAttributableToCommonStockholdersDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquity": { "auth_ref": [ "r16", "r20", "r21", "r130" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.", "label": "Stockholders' Equity Attributable to Parent", "totalLabel": "Total common stockholders' equity" } } }, "localname": "StockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest": { "auth_ref": [ "r268", "r269", "r279" ], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of stockholders' equity (deficit), net of receivables from officers, directors, owners, and affiliates of the entity, attributable to both the parent and noncontrolling interests. Amount excludes temporary equity. Alternate caption for the concept is permanent equity.", "label": "Stockholders' Equity, Including Portion Attributable to Noncontrolling Interest", "periodEndLabel": "Balance", "periodStartLabel": "Balance", "totalLabel": "Total stockholders' equity" } } }, "localname": "StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets", "http://www.boingo.com/role/StatementCondensedConsolidatedStatementOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Stockholders' Equity, Including Portion Attributable to Noncontrolling Interest [Abstract]", "terseLabel": "Stockholders' equity:" } } }, "localname": "StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_TransmissionServiceAgreementMember": { "auth_ref": [ "r145" ], "lang": { "en-US": { "role": { "documentation": "Agreement between a transmission customer and the transmission provider for service.", "label": "Transmission Service Agreement [Member]", "terseLabel": "Transition services agreement" } } }, "localname": "TransmissionServiceAgreementMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsPreliminaryPurchasePriceAllocationsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TypeOfAdoptionMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Adoption and early adoption of sources of change to generally accepted accounting principles (GAAP) in the United States. The FASB released the FASB Accounting Standards Codification as the authoritative source of literature effective for interim and annual periods ending after September 15, 2009. As part of the Codification process, the FASB issues Accounting Standards Updates to amend the Codification but otherwise the Accounting Standards Updates are not authoritative in their own right. All previous accounting standards (such as FASB Statements of Financial Accounting Standards, FASB Interpretations, FASB Staff Positions, Emerging Issues Task Force Consensuses, other pronouncements of the FASB or other designated bodies, or other forms of GAAP are considered accounting pronouncements) were superseded upon the adoption of the Codification. For an interim period, references to the superseded standards are included to help users transition from the previous accounting hierarchy and will be removed from future versions of this taxonomy.", "label": "Type Of Adoption [Member]", "terseLabel": "Type of Adoption [Domain]" } } }, "localname": "TypeOfAdoptionMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesBasisOfPresentationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_UseOfEstimates": { "auth_ref": [ "r113", "r114", "r115", "r116", "r117", "r118", "r119" ], "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ValuationTechniqueAxis": { "auth_ref": [ "r293" ], "lang": { "en-US": { "role": { "documentation": "Information by valuation approach and technique.", "label": "Valuation Approach and Technique [Axis]" } } }, "localname": "ValuationTechniqueAxis", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ValuationTechniqueDomain": { "auth_ref": [ "r293" ], "lang": { "en-US": { "role": { "documentation": "Valuation approach and technique.", "label": "Valuation Technique [Domain]", "terseLabel": "Valuation Approach and Technique [Domain]" } } }, "localname": "ValuationTechniqueDomain", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsDetails" ], "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureCreditFacilityDetails" ], "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/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureCreditFacilityDetails" ], "xbrltype": "domainItemType" }, "us-gaap_VestingAxis": { "auth_ref": [ "r227" ], "lang": { "en-US": { "role": { "documentation": "Information by vesting schedule of award under share-based payment arrangement.", "label": "Vesting [Axis]" } } }, "localname": "VestingAxis", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansStockOptionAwardsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_VestingDomain": { "auth_ref": [ "r227" ], "lang": { "en-US": { "role": { "documentation": "Vesting schedule of award under share-based payment arrangement.", "label": "Vesting [Domain]", "terseLabel": "Vesting [Domain]" } } }, "localname": "VestingDomain", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansStockOptionAwardsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "auth_ref": [ "r103", "r108" ], "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 common stock, diluted (in shares)" } } }, "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureNetIncomeLossPerShareAttributableToCommonStockholdersDetails", "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Weighted Average Number of Shares Outstanding, Diluted [Abstract]", "terseLabel": "Weighted average shares used in computing net income (loss) per share attributable to common stockholders:" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "stringItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "auth_ref": [ "r102", "r108" ], "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)", "verboseLabel": "Weighted average common stock, basic (in shares)" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://www.boingo.com/role/DisclosureNetIncomeLossPerShareAttributableToCommonStockholdersDetails", "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "sharesItemType" }, "wifi_AccruedCustomerLiabilitiesCurrent": { "auth_ref": [], "calculation": { "http://www.boingo.com/role/DisclosureAccruedExpensesAndOtherLiabilitiesDetails": { "order": 1.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "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.", "label": "Accrued Customer Liabilities Current", "terseLabel": "Accrued customer liabilities" } } }, "localname": "AccruedCustomerLiabilitiesCurrent", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureAccruedExpensesAndOtherLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "wifi_AccruedPartnerNetworkCurrent": { "auth_ref": [], "calculation": { "http://www.boingo.com/role/DisclosureAccruedExpensesAndOtherLiabilitiesDetails": { "order": 6.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Carrying amount, as of the balance sheet date, of accrued partner network expenses, which are due within one year.", "label": "Accrued Partner Network Current", "terseLabel": "Accrued partner network" } } }, "localname": "AccruedPartnerNetworkCurrent", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureAccruedExpensesAndOtherLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "wifi_AccumulatedOtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentTax": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Accumulated unrealized gain (loss), tax, on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Accumulated Other Comprehensive Income Loss Available For Sale Securities Adjustment, Tax", "terseLabel": "Income tax effect related to unrealized gains in accumulated other comprehensive loss" } } }, "localname": "AccumulatedOtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentTax", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesMarketableSecuritiesDetails" ], "xbrltype": "monetaryItemType" }, "wifi_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Tax affect of the accumulated adjustment that results from the process of translating subsidiary financial statements and foreign equity investments into the reporting currency from the functional currency of the reporting entity, net of reclassification of realized foreign currency translation gains or losses.", "label": "Accumulated Other Comprehensive Income (Loss), Foreign Currency Translation Adjustment, Tax", "terseLabel": "Income tax effect related to foreign currency translation adjustments" } } }, "localname": "AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesForeignCurrencyTranslationDetails" ], "xbrltype": "monetaryItemType" }, "wifi_AdjustmentsToAdditionalPaidInCapitalSharesWithheldForTaxes": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of increase (decrease) in additional paid in capital (APIC) resulting from amount of cash outflow to satisfy an employee's income tax withholding obligation as part of a net-share settlement of a share-based award.", "label": "Adjustments to Additional Paid in Capital Shares withheld for Taxes", "negatedLabel": "Shares withheld for taxes" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalSharesWithheldForTaxes", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "wifi_AdvertisingAndOtherMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Details pertaining to advertising and other revenue sources.", "label": "Advertising And Other [Member]", "terseLabel": "Advertising and other" } } }, "localname": "AdvertisingAndOtherMember", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesSegmentAndGeographicInformationDetails" ], "xbrltype": "domainItemType" }, "wifi_AmortizationOfDebtIssuanceCostInterestExpensed": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amortization debt issuance costs and interest expense expensed during the period.", "label": "Amortization of Debt Issuance Cost Interest Expensed", "terseLabel": "Amortization and interest expense expensed" } } }, "localname": "AmortizationOfDebtIssuanceCostInterestExpensed", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureCreditFacilityDetails" ], "xbrltype": "monetaryItemType" }, "wifi_AmortizationOfDebtIssuanceCosts": { "auth_ref": [], "calculation": { "http://www.boingo.com/role/DisclosureCreditFacilityDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Represents the information about amortization of debt issuance costs.", "label": "Amortization of debt issuance costs.", "totalLabel": "Total" } } }, "localname": "AmortizationOfDebtIssuanceCosts", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureCreditFacilityDetails" ], "xbrltype": "monetaryItemType" }, "wifi_AmortizationOfDebtIssuanceCostsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "No Definition available.", "label": "Amortization Of Debt Issuance Costs [Abstract]", "terseLabel": "Amortization of debt issuance costs" } } }, "localname": "AmortizationOfDebtIssuanceCostsAbstract", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureCreditFacilityDetails" ], "xbrltype": "stringItemType" }, "wifi_AmortizationOfDebtIssuanceCostsInYearFive": { "auth_ref": [], "calculation": { "http://www.boingo.com/role/DisclosureCreditFacilityDetails": { "order": 5.0, "parentTag": "wifi_AmortizationOfDebtIssuanceCosts", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization of debt issuance costs (for example, but not limited to, legal, accounting, broker, and regulatory fees) in fifth year.", "label": "Amortization of Debt Issuance Costs in Year Five", "terseLabel": "January 1, 2023-December 31, 2023" } } }, "localname": "AmortizationOfDebtIssuanceCostsInYearFive", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureCreditFacilityDetails" ], "xbrltype": "monetaryItemType" }, "wifi_AmortizationOfDebtIssuanceCostsInYearFour": { "auth_ref": [], "calculation": { "http://www.boingo.com/role/DisclosureCreditFacilityDetails": { "order": 4.0, "parentTag": "wifi_AmortizationOfDebtIssuanceCosts", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization of debt issuance costs (for example, but not limited to, legal, accounting, broker, and regulatory fees) in fourth year.", "label": "Amortization Of Debt Issuance Costs In Year Four", "terseLabel": "January 1, 2022-December 31, 2022" } } }, "localname": "AmortizationOfDebtIssuanceCostsInYearFour", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureCreditFacilityDetails" ], "xbrltype": "monetaryItemType" }, "wifi_AmortizationOfDebtIssuanceCostsInYearThree": { "auth_ref": [], "calculation": { "http://www.boingo.com/role/DisclosureCreditFacilityDetails": { "order": 3.0, "parentTag": "wifi_AmortizationOfDebtIssuanceCosts", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization of debt issuance costs (for example, but not limited to, legal, accounting, broker, and regulatory fees) in third year.", "label": "Amortization Of Debt Issuance Costs In Year Three", "terseLabel": "January 1, 2021-December 31, 2021" } } }, "localname": "AmortizationOfDebtIssuanceCostsInYearThree", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureCreditFacilityDetails" ], "xbrltype": "monetaryItemType" }, "wifi_AmortizationOfDebtIssuanceCostsInYearTwo": { "auth_ref": [], "calculation": { "http://www.boingo.com/role/DisclosureCreditFacilityDetails": { "order": 2.0, "parentTag": "wifi_AmortizationOfDebtIssuanceCosts", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization of debt issuance costs (for example, but not limited to, legal, accounting, broker, and regulatory fees) in second year.", "label": "Amortization Of Debt Issuance Costs In Year Two", "terseLabel": "January 1, 2020-December 31, 2020" } } }, "localname": "AmortizationOfDebtIssuanceCostsInYearTwo", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureCreditFacilityDetails" ], "xbrltype": "monetaryItemType" }, "wifi_AmortizationOfDebtIssuanceCostsRemainderOfCurrentYear": { "auth_ref": [], "calculation": { "http://www.boingo.com/role/DisclosureCreditFacilityDetails": { "order": 1.0, "parentTag": "wifi_AmortizationOfDebtIssuanceCosts", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization of debt issuance costs (for example, but not limited to, legal, accounting, broker, and regulatory fees) in remainder of current year", "label": "Amortization Of Debt Issuance Costs, Remainder Of Current Year", "terseLabel": "July 1, 2019-December 31, 2019" } } }, "localname": "AmortizationOfDebtIssuanceCostsRemainderOfCurrentYear", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureCreditFacilityDetails" ], "xbrltype": "monetaryItemType" }, "wifi_AnnualRevenueVolatilityRateMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "The measurement input annual revenue volatility rate to determine the fair value.", "label": "Annual Revenue Volatility Rate [Member]", "terseLabel": "Revenue volatility rate" } } }, "localname": "AnnualRevenueVolatilityRateMember", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsDetails" ], "xbrltype": "domainItemType" }, "wifi_AssetImpairmentChargesAndLossOnDispositionOfAssets": { "auth_ref": [], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amounts of write-down of assets and loss on sale or disposal of property, plant and equipment assets recognized in the income statement and other operating cash flow adjustment. Includes, but is not limited to, losses from tangible assets, intangible assets and goodwill.", "label": "Asset Impairment Charges and Loss on Disposition of Assets", "verboseLabel": "Impairment loss, loss on disposal of fixed assets and intangible assets held for sale, net, and other" } } }, "localname": "AssetImpairmentChargesAndLossOnDispositionOfAssets", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "wifi_AssetsHeldForSaleIntangibleFinanceSale": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The finance sale of intangible assets held for sale", "label": "Assets Held For Sale, Intangible, Finance Sale", "terseLabel": "Financed sale of intangible assets held for sale" } } }, "localname": "AssetsHeldForSaleIntangibleFinanceSale", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "wifi_BoingoHoldingParticipacoesLtdaMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents information pertaining to Boingo Holding Participacoes Ltda.", "label": "Boingo Holding Participacoes Ltda [Member]", "terseLabel": "Boingo Holding Participacoes Ltda." } } }, "localname": "BoingoHoldingParticipacoesLtdaMember", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPrinciplesOfConsolidationDetails" ], "xbrltype": "domainItemType" }, "wifi_BusinessAcquisitionActualResultsOfAcquireeTableTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "The tabular disclosure of acquiree's actual results of the operations included in company's revenue statement.", "label": "Business Acquisition, Actual Results of the Acquiree [Table Text Block]", "terseLabel": "Schedule of actual results" } } }, "localname": "BusinessAcquisitionActualResultsOfAcquireeTableTextBlock", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsTables" ], "xbrltype": "textBlockItemType" }, "wifi_BusinessAcquisitionCostOfAcquiredEntityHoldbackConsideration": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Represents the amount of holdback consideration in a business acquisition.", "label": "Business Acquisition, Cost of Acquired Entity, Holdback Consideration", "terseLabel": "Holdback consideration", "verboseLabel": "Purchase price held back" } } }, "localname": "BusinessAcquisitionCostOfAcquiredEntityHoldbackConsideration", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsDetails", "http://www.boingo.com/role/DisclosureAcquisitionsPreliminaryPurchasePriceAllocationsDetails" ], "xbrltype": "monetaryItemType" }, "wifi_BusinessAcquisitionHeldBackConsiderationThirdPartyConsents": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The amount of held back consideration retained for third-party consents not obtained at closing for certain customer agreements, which will be released as the acquired entity delivers third-party consents with respect to such customer agreements.", "label": "Business Acquisition, Held Back Consideration, Third-party Consents", "terseLabel": "Purchase price held back for third-party consents" } } }, "localname": "BusinessAcquisitionHeldBackConsiderationThirdPartyConsents", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsDetails" ], "xbrltype": "monetaryItemType" }, "wifi_BusinessAcquisitionHoldbackConsiderationFixedPeriod": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The amount of indemnification holdback retained over a fixed period in a business acquisition.", "label": "Business Acquisition, Holdback Consideration, Fixed Period", "terseLabel": "Indemnification holdback retained for 12 months" } } }, "localname": "BusinessAcquisitionHoldbackConsiderationFixedPeriod", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsDetails" ], "xbrltype": "monetaryItemType" }, "wifi_BusinessAcquisitionProFormaEarningsPerShareAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "No definition.", "label": "Business Acquisition, Pro Forma Earnings Per Share [Abstract]", "terseLabel": "Net income (loss) per share attributable to common stockholders" } } }, "localname": "BusinessAcquisitionProFormaEarningsPerShareAbstract", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsActualAndProFormaResultsUnauditedDetails" ], "xbrltype": "stringItemType" }, "wifi_BusinessAcquisitionProFormaNetIncomeLossAttributableToParent": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The pro forma portion of profit or loss for the period, net of income taxes, which is attributable to the parent, as if the business combination or combinations had been completed at the beginning of a period.", "label": "Business Acquisition, Pro Forma Net Income (Loss) Attributable to Parent", "terseLabel": "Net income (loss) attributable to common stockholders" } } }, "localname": "BusinessAcquisitionProFormaNetIncomeLossAttributableToParent", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsActualAndProFormaResultsUnauditedDetails" ], "xbrltype": "monetaryItemType" }, "wifi_BusinessCombinationConsiderationTransferredBeforeContingentConsideration": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of consideration transferred before contingent consideration, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.", "label": "Business Combination, Consideration Transferred before Contingent Consideration", "terseLabel": "Consideration for acquisition of assets before contingent consideration" } } }, "localname": "BusinessCombinationConsiderationTransferredBeforeContingentConsideration", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsDetails" ], "xbrltype": "monetaryItemType" }, "wifi_BusinessCombinationIdentifiableIntangibleAssetsMeasurementInput": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Value of input used to measure identifiable intangible assets from business combination.", "label": "Business Combination, Identifiable Intangible Assets, Measurement Input", "terseLabel": "Identifiable intangible assets valuation input" } } }, "localname": "BusinessCombinationIdentifiableIntangibleAssetsMeasurementInput", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsDetails" ], "xbrltype": "decimalItemType" }, "wifi_BusinessCombinationIndemnificationHoldbackPeriod": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Indemnification holdback period in a business acquisition transaction, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Business Combination, Indemnification Holdback Period", "terseLabel": "Indemnification holdback period" } } }, "localname": "BusinessCombinationIndemnificationHoldbackPeriod", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsDetails" ], "xbrltype": "durationItemType" }, "wifi_BusinessCombinationPaymentOfIndemnificationHoldbackForThirdPartyConsent": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Payment of amount of holdback for third-party customer consents not obtained by the acquired entity at closing of a business acquisition. The amount is released as the consents are delivered to the acquiring entity.", "label": "Business Combination, Payment Of Indemnification Holdback For Third Party Consent", "terseLabel": "Payment for amounts held back for third-party consents" } } }, "localname": "BusinessCombinationPaymentOfIndemnificationHoldbackForThirdPartyConsent", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsDetails" ], "xbrltype": "monetaryItemType" }, "wifi_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedExpensesAndOtherLiabilities": { "auth_ref": [], "calculation": { "http://www.boingo.com/role/DisclosureAcquisitionsPreliminaryPurchasePriceAllocationsDetails": { "order": 6.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of accrued expenses and other other liabilities due within one year or within the normal operating cycle, if longer, assumed at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Accrued Expenses and Other Liabilities", "negatedLabel": "Accrued expenses and other liabilities" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedExpensesAndOtherLiabilities", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsPreliminaryPurchasePriceAllocationsDetails" ], "xbrltype": "monetaryItemType" }, "wifi_BusinessDescriptionLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Business Description [Line Items]", "terseLabel": "The business" } } }, "localname": "BusinessDescriptionLineItems", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureBusinessDetails" ], "xbrltype": "stringItemType" }, "wifi_BusinessDescriptionTable": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Describes the entity's business.", "label": "Business Description [Table]" } } }, "localname": "BusinessDescriptionTable", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureBusinessDetails" ], "xbrltype": "stringItemType" }, "wifi_CapitalFinancingArrangementsPurchaseOfEquipmentAndPrepaidMaintenanceServices": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Represents information pertaining to the non cash purchase of equipment and prepaid maintenance services under a capital financing arrangement.", "label": "Capital Financing Arrangements, Purchase Of Equipment And Prepaid Maintenance Services", "terseLabel": "Purchase of equipment and prepaid maintenance services under capital financing arrangements" } } }, "localname": "CapitalFinancingArrangementsPurchaseOfEquipmentAndPrepaidMaintenanceServices", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "wifi_CapitalizedStockBasedCompensationExpense": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of capitalized stock-based compensation included in property and equipment costs.", "label": "Capitalized Stock Based Compensation Expense", "terseLabel": "Capitalized stock-based compensation included in property and equipment costs" } } }, "localname": "CapitalizedStockBasedCompensationExpense", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "wifi_CashCashEquivalentsAndMarketableSecuritiesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "No definition available.", "label": "Cash and cash equivalents and marketable securities" } } }, "localname": "CashCashEquivalentsAndMarketableSecuritiesAbstract", "nsuri": "http://www.boingo.com/20190630", "xbrltype": "stringItemType" }, "wifi_CashPaidForAmountsIncludedInMeasurementOfLeaseLiabilitiesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "n/a.", "label": "Cash paid for amounts included in the measurement of lease liabilities:" } } }, "localname": "CashPaidForAmountsIncludedInMeasurementOfLeaseLiabilitiesAbstract", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesDetails" ], "xbrltype": "stringItemType" }, "wifi_ChicagoConcourseDevelopmentGroupLLCMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Details pertaining to Chicago Concourse Development Group, LLC.", "label": "Chicago Concourse Development Group L L C [Member]", "terseLabel": "Chicago Concourse Development Group, LLC" } } }, "localname": "ChicagoConcourseDevelopmentGroupLLCMember", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPrinciplesOfConsolidationDetails" ], "xbrltype": "domainItemType" }, "wifi_ContractWithCustomerAssetChange": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of 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 from transfer to receivable due to right to consideration becoming unconditional and revenue recording.", "label": "Contract with Customer, Asset, Change", "negatedLabel": "Change" } } }, "localname": "ContractWithCustomerAssetChange", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureContractAssetsAndContractLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "wifi_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognizedInvoicing": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of revenue recognized arising from contract liability from change in timeframe for performance obligation to be satisfied and invoicing.", "label": "Contract with Customer, Liability, Change in Timeframe, Performance Obligation Satisfied, Revenue Recognized, Invoicing", "negatedLabel": "Change" } } }, "localname": "ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognizedInvoicing", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureContractAssetsAndContractLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "wifi_ConvertibleNotesDisclosureTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for convertible notes.", "label": "Convertible Notes Disclosure [Text Block]", "terseLabel": "Convertible Notes" } } }, "localname": "ConvertibleNotesDisclosureTextBlock", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureConvertibleNotes" ], "xbrltype": "textBlockItemType" }, "wifi_ConvertibleUnsecuredSeniorNotesMaturingIn1stOctober2023Member": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents the information pertaining to Convertible unsecured senior notes maturing in October 1, 2023.", "label": "Convertible Unsecured Senior Notes Maturing In1st October2023 [Member]", "terseLabel": "Convertible Notes" } } }, "localname": "ConvertibleUnsecuredSeniorNotesMaturingIn1stOctober2023Member", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureConvertibleNotesAmortizationExpenseDebtDiscountAndDebtIssuanceCostsDetails", "http://www.boingo.com/role/DisclosureConvertibleNotesCarryingAndFairValueDetails", "http://www.boingo.com/role/DisclosureConvertibleNotesDebtIssuanceCostsAndInterestExpenseDetails", "http://www.boingo.com/role/DisclosureConvertibleNotesDetails", "http://www.boingo.com/role/DisclosureConvertibleNotesTables" ], "xbrltype": "domainItemType" }, "wifi_DasPartnerArrangementMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Details pertaining to DAS partner arrangements.", "label": "Das Partner Arrangement [Member]", "terseLabel": "DAS license agreements" } } }, "localname": "DasPartnerArrangementMember", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRevenueRecognitionTermsOfContractsDetails" ], "xbrltype": "domainItemType" }, "wifi_DebtDiscountCostsAmortizationExpense": { "auth_ref": [], "calculation": { "http://www.boingo.com/role/DisclosureConvertibleNotesAmortizationExpenseDebtDiscountAndDebtIssuanceCostsDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The amount of debt discount costs, amortization expense.", "label": "Debt Discount Costs, Amortization Expense", "totalLabel": "Total" } } }, "localname": "DebtDiscountCostsAmortizationExpense", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureConvertibleNotesAmortizationExpenseDebtDiscountAndDebtIssuanceCostsDetails" ], "xbrltype": "monetaryItemType" }, "wifi_DebtDiscountCostsAmortizationExpenseRemainderOfFiscalYear": { "auth_ref": [], "calculation": { "http://www.boingo.com/role/DisclosureConvertibleNotesAmortizationExpenseDebtDiscountAndDebtIssuanceCostsDetails": { "order": 1.0, "parentTag": "wifi_DebtDiscountCostsAmortizationExpense", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization expense attributable to debt discount costs expected to be recognized during the remainder fiscal year following the latest fiscal year.", "label": "Debt Discount Costs Amortization Expense, Remainder of Fiscal Year", "terseLabel": "July 1, 2019-December 31, 2019" } } }, "localname": "DebtDiscountCostsAmortizationExpenseRemainderOfFiscalYear", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureConvertibleNotesAmortizationExpenseDebtDiscountAndDebtIssuanceCostsDetails" ], "xbrltype": "monetaryItemType" }, "wifi_DebtDiscountCostsAmortizationExpenseYearFive": { "auth_ref": [], "calculation": { "http://www.boingo.com/role/DisclosureConvertibleNotesAmortizationExpenseDebtDiscountAndDebtIssuanceCostsDetails": { "order": 2.0, "parentTag": "wifi_DebtDiscountCostsAmortizationExpense", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization expense attributable to debt discount costs expected to be recognized during the fifth fiscal year following the latest fiscal year.", "label": "Debt Discount Costs, Amortization Expense, Year Five", "terseLabel": "January 1, 2023-December 31, 2023" } } }, "localname": "DebtDiscountCostsAmortizationExpenseYearFive", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureConvertibleNotesAmortizationExpenseDebtDiscountAndDebtIssuanceCostsDetails" ], "xbrltype": "monetaryItemType" }, "wifi_DebtDiscountCostsAmortizationExpenseYearFour": { "auth_ref": [], "calculation": { "http://www.boingo.com/role/DisclosureConvertibleNotesAmortizationExpenseDebtDiscountAndDebtIssuanceCostsDetails": { "order": 3.0, "parentTag": "wifi_DebtDiscountCostsAmortizationExpense", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization expense attributable to debt discount costs expected to be recognized during the fourth fiscal year following the latest fiscal year.", "label": "Debt Discount Costs, Amortization Expense, Year Four", "terseLabel": "January 1, 2022-December 31, 2022" } } }, "localname": "DebtDiscountCostsAmortizationExpenseYearFour", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureConvertibleNotesAmortizationExpenseDebtDiscountAndDebtIssuanceCostsDetails" ], "xbrltype": "monetaryItemType" }, "wifi_DebtDiscountCostsAmortizationExpenseYearThree": { "auth_ref": [], "calculation": { "http://www.boingo.com/role/DisclosureConvertibleNotesAmortizationExpenseDebtDiscountAndDebtIssuanceCostsDetails": { "order": 4.0, "parentTag": "wifi_DebtDiscountCostsAmortizationExpense", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization expense attributable to debt discount costs expected to be recognized during the third fiscal year following the latest fiscal year.", "label": "Debt Discount Costs, Amortization Expense, Year Three", "terseLabel": "January 1, 2021-December 31, 2021" } } }, "localname": "DebtDiscountCostsAmortizationExpenseYearThree", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureConvertibleNotesAmortizationExpenseDebtDiscountAndDebtIssuanceCostsDetails" ], "xbrltype": "monetaryItemType" }, "wifi_DebtDiscountCostsAmortizationExpenseYearTwo": { "auth_ref": [], "calculation": { "http://www.boingo.com/role/DisclosureConvertibleNotesAmortizationExpenseDebtDiscountAndDebtIssuanceCostsDetails": { "order": 5.0, "parentTag": "wifi_DebtDiscountCostsAmortizationExpense", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization expense attributable to debt discount costs expected to be recognized during the second fiscal year following the latest fiscal year.", "label": "Debt Discount Costs, Amortization Expense, Year Two", "terseLabel": "January 1, 2020-December 31, 2020" } } }, "localname": "DebtDiscountCostsAmortizationExpenseYearTwo", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureConvertibleNotesAmortizationExpenseDebtDiscountAndDebtIssuanceCostsDetails" ], "xbrltype": "monetaryItemType" }, "wifi_DebtDiscountCostsOfAmortizationExpenseFiscalYearMaturityAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "No definition available.", "label": "Amortization expense for debt discount costs" } } }, "localname": "DebtDiscountCostsOfAmortizationExpenseFiscalYearMaturityAbstract", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureConvertibleNotesAmortizationExpenseDebtDiscountAndDebtIssuanceCostsDetails" ], "xbrltype": "stringItemType" }, "wifi_DebtInstrumentConversionPricePercentageOfPremiumToSharePrice": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Percentage of premium of the effective conversion price of convertible debt instrument to the entity's share closing price.", "label": "Debt Instrument Conversion Price, Percentage Of Premium To Share Price", "terseLabel": "Effective conversion price, percentage of premium to share closing price" } } }, "localname": "DebtInstrumentConversionPricePercentageOfPremiumToSharePrice", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureConvertibleNotesDetails" ], "xbrltype": "percentItemType" }, "wifi_DebtIssuanceCostsAmortizationExpense": { "auth_ref": [], "calculation": { "http://www.boingo.com/role/DisclosureConvertibleNotesAmortizationExpenseDebtDiscountAndDebtIssuanceCostsDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The amount of debt issuance costs, amortization expense.", "label": "Debt Issuance Costs, Amortization Expense", "totalLabel": "Total" } } }, "localname": "DebtIssuanceCostsAmortizationExpense", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureConvertibleNotesAmortizationExpenseDebtDiscountAndDebtIssuanceCostsDetails" ], "xbrltype": "monetaryItemType" }, "wifi_DebtIssuanceCostsAmortizationExpenseFiscalYearMaturityAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "No definition available.", "label": "Debt Issuance costs, Amortization Expense, Fiscal Year Maturity [Abstract]", "terseLabel": "Amortization expense for debt issuance costs" } } }, "localname": "DebtIssuanceCostsAmortizationExpenseFiscalYearMaturityAbstract", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureConvertibleNotesAmortizationExpenseDebtDiscountAndDebtIssuanceCostsDetails" ], "xbrltype": "stringItemType" }, "wifi_DebtIssuanceCostsAmortizationExpenseRemainderOfFiscalYear": { "auth_ref": [], "calculation": { "http://www.boingo.com/role/DisclosureConvertibleNotesAmortizationExpenseDebtDiscountAndDebtIssuanceCostsDetails": { "order": 1.0, "parentTag": "wifi_DebtIssuanceCostsAmortizationExpense", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization expense attributable to debt issuance costs expected to be recognized during the remainder fiscal year following the latest fiscal year.", "label": "Debt Issuance Costs Amortization Expense, Remainder of Fiscal Year", "terseLabel": "July 1, 2019-December 31, 2019" } } }, "localname": "DebtIssuanceCostsAmortizationExpenseRemainderOfFiscalYear", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureConvertibleNotesAmortizationExpenseDebtDiscountAndDebtIssuanceCostsDetails" ], "xbrltype": "monetaryItemType" }, "wifi_DebtIssuanceCostsAmortizationExpenseYearFive": { "auth_ref": [], "calculation": { "http://www.boingo.com/role/DisclosureConvertibleNotesAmortizationExpenseDebtDiscountAndDebtIssuanceCostsDetails": { "order": 4.0, "parentTag": "wifi_DebtIssuanceCostsAmortizationExpense", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization expense attributable to debt issuance costs expected to be recognized during the fifth fiscal year following the latest fiscal year.", "label": "Debt Issuance Costs, Amortization Expense, Year Five", "terseLabel": "January 1, 2023-December 31, 2023" } } }, "localname": "DebtIssuanceCostsAmortizationExpenseYearFive", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureConvertibleNotesAmortizationExpenseDebtDiscountAndDebtIssuanceCostsDetails" ], "xbrltype": "monetaryItemType" }, "wifi_DebtIssuanceCostsAmortizationExpenseYearFour": { "auth_ref": [], "calculation": { "http://www.boingo.com/role/DisclosureConvertibleNotesAmortizationExpenseDebtDiscountAndDebtIssuanceCostsDetails": { "order": 5.0, "parentTag": "wifi_DebtIssuanceCostsAmortizationExpense", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization expense attributable to debt issuance costs expected to be recognized during the fourth fiscal year following the latest fiscal year.", "label": "Debt Issuance Costs, Amortization Expense, Year Four", "terseLabel": "January 1, 2022-December 31, 2022" } } }, "localname": "DebtIssuanceCostsAmortizationExpenseYearFour", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureConvertibleNotesAmortizationExpenseDebtDiscountAndDebtIssuanceCostsDetails" ], "xbrltype": "monetaryItemType" }, "wifi_DebtIssuanceCostsAmortizationExpenseYearThree": { "auth_ref": [], "calculation": { "http://www.boingo.com/role/DisclosureConvertibleNotesAmortizationExpenseDebtDiscountAndDebtIssuanceCostsDetails": { "order": 3.0, "parentTag": "wifi_DebtIssuanceCostsAmortizationExpense", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization expense attributable to debt issuance costs expected to be recognized during the third fiscal year following the latest fiscal year.", "label": "Debt Issuance Costs, Amortization Expense, Year Three", "terseLabel": "January 1, 2021-December 31, 2021" } } }, "localname": "DebtIssuanceCostsAmortizationExpenseYearThree", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureConvertibleNotesAmortizationExpenseDebtDiscountAndDebtIssuanceCostsDetails" ], "xbrltype": "monetaryItemType" }, "wifi_DebtIssuanceCostsAmortizationExpenseYearTwo": { "auth_ref": [], "calculation": { "http://www.boingo.com/role/DisclosureConvertibleNotesAmortizationExpenseDebtDiscountAndDebtIssuanceCostsDetails": { "order": 2.0, "parentTag": "wifi_DebtIssuanceCostsAmortizationExpense", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization expense attributable to debt issuance costs expected to be recognized during the second fiscal year following the latest fiscal year.", "label": "Debt Issuance Costs, Amortization Expense, Year Two", "terseLabel": "January 1, 2020-December 31, 2020" } } }, "localname": "DebtIssuanceCostsAmortizationExpenseYearTwo", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureConvertibleNotesAmortizationExpenseDebtDiscountAndDebtIssuanceCostsDetails" ], "xbrltype": "monetaryItemType" }, "wifi_DerivativeCapPriceMinimumPercentageOfPremiumOnSharePrice": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "The minimum percentage of premium on closing share price for derivative cap price.", "label": "Derivative Cap price, Minimum Percentage of Premium on Share Price", "terseLabel": "Derivative cap price, minimum percentage of premium on share price" } } }, "localname": "DerivativeCapPriceMinimumPercentageOfPremiumOnSharePrice", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureConvertibleNotesDetails" ], "xbrltype": "percentItemType" }, "wifi_DirectOperatingCostsExcludingDirectOperatingCommunicationCosts": { "auth_ref": [], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfOperations": { "order": 2.0, "parentTag": "us-gaap_CostsAndExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The aggregate direct operating costs incurred during the reporting period, excluding direct operating communication costs.", "label": "Direct Operating Costs, Excluding Direct Operating Communication Costs", "terseLabel": "Network operations" } } }, "localname": "DirectOperatingCostsExcludingDirectOperatingCommunicationCosts", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "wifi_DistributedAntennaSystemMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents Distributed Antenna System Member.", "label": "Distributed Antenna System [Member]", "terseLabel": "DAS" } } }, "localname": "DistributedAntennaSystemMember", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureContractAssetsAndContractLiabilitiesDetails", "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesSegmentAndGeographicInformationDetails" ], "xbrltype": "domainItemType" }, "wifi_DocumentAndEntityInformationAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Document and Entity Information" } } }, "localname": "DocumentAndEntityInformationAbstract", "nsuri": "http://www.boingo.com/20190630", "xbrltype": "stringItemType" }, "wifi_ElauwitNetworksLlcMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents information relating to Elauwit Networks, LLC.", "label": "Elauwit Networks Llc [Member]", "terseLabel": "Elauwit Networks, LLC" } } }, "localname": "ElauwitNetworksLlcMember", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsActualAndProFormaResultsUnauditedDetails", "http://www.boingo.com/role/DisclosureAcquisitionsDetails", "http://www.boingo.com/role/DisclosureAcquisitionsPreliminaryPurchasePriceAllocationsDetails", "http://www.boingo.com/role/DisclosureAcquisitionsTables" ], "xbrltype": "domainItemType" }, "wifi_EmployeeAndNonemployeeStockOptionMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "An arrangement whereby an employee or non-employee is entitled to receive in the future, subject to vesting and other restrictions, a number of shares in the entity at a specified price, as defined in the agreement. Although there are variations, normally, after vesting, when an option is exercised, the employee-holder pays the strike value in cash to the issuing employer-entity and receives equity shares. The equity shares can be sold into the market for cash at the current market price without restriction.", "label": "Employee And Nonemployee Stock Option [Member]", "terseLabel": "Stock options" } } }, "localname": "EmployeeAndNonemployeeStockOptionMember", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansPlansDetails", "http://www.boingo.com/role/DisclosureStockIncentivePlansStockOptionAwardsDetails" ], "xbrltype": "domainItemType" }, "wifi_ExcessEarningsReliefFromRoyaltyAndLossOfRevenueMethodsMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Valuation approach using excess earnings, relief from royalty, and loss-of-revenue methods.", "label": "Excess Earnings Relief From Royalty And Loss Of Revenue Methods [Member]", "terseLabel": "Excess earnings, relief from royalty, and loss-of-revenue methods" } } }, "localname": "ExcessEarningsReliefFromRoyaltyAndLossOfRevenueMethodsMember", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsDetails" ], "xbrltype": "domainItemType" }, "wifi_ExecutiveAndNonExecutiveMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents the time-based RSUs granted to executive and non-executive personnel.", "label": "Executive And Non Executive [Member]", "terseLabel": "Executive And Non Executive Member" } } }, "localname": "ExecutiveAndNonExecutiveMember", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansRestrictedStockUnitAwardsDetails" ], "xbrltype": "domainItemType" }, "wifi_FairValueLessCostMethodMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents information pertaining to fair value less cost method", "label": "Fair Value Less Cost Method [Member]", "terseLabel": "Fair value less costs" } } }, "localname": "FairValueLessCostMethodMember", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsDetails" ], "xbrltype": "domainItemType" }, "wifi_FinanceLeaseCost": { "auth_ref": [], "calculation": { "http://www.boingo.com/role/DisclosureLeasesDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of lease cost recognized by lessee for financial lease.", "label": "Finance Lease Cost.", "totalLabel": "Total finance lease expense" } } }, "localname": "FinanceLeaseCost", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesDetails" ], "xbrltype": "monetaryItemType" }, "wifi_FinanceLeaseExpenseAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "No definition available.", "label": "Finance Lease Expense [Abstract]", "terseLabel": "Finance lease expense:" } } }, "localname": "FinanceLeaseExpenseAbstract", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesDetails" ], "xbrltype": "stringItemType" }, "wifi_FinanceLeaseLiabilityPaymentsDueAfterYearSix": { "auth_ref": [], "calculation": { "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetails": { "order": 1.0, "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments for finance lease, due after sixth fiscal year following latest fiscal year.", "label": "Finance Lease Liability Payments Due After Year Six", "terseLabel": "Thereafter" } } }, "localname": "FinanceLeaseLiabilityPaymentsDueAfterYearSix", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "wifi_FinanceLeaseLiabilityPaymentsDueYearSix": { "auth_ref": [], "calculation": { "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetails": { "order": 2.0, "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments for finance lease, due in sixth fiscal year following latest fiscal year.", "label": "Finance Lease Liability Payments Due Year Six", "terseLabel": "January 1, 2024 - December 31, 2024" } } }, "localname": "FinanceLeaseLiabilityPaymentsDueYearSix", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "wifi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of lessee's right to use on accumulated depreciation underlying asset under finance lease.", "label": "Finance Lease Right Of Use Asset Accumulated Depreciation", "terseLabel": "Finance lease - Right-of-use asset, accumulated Depreciation and amortization" } } }, "localname": "FinanceLeaseRightOfUseAssetAccumulatedDepreciation", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesDetails" ], "xbrltype": "monetaryItemType" }, "wifi_FiniteLivedIntangibleAssetsBacklogHeldForSaleMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents information pertaining to backlog assets held for sale.", "label": "Finite Lived Intangible Assets Backlog Held For Sale [Member]", "terseLabel": "Backlog - held for sale" } } }, "localname": "FiniteLivedIntangibleAssetsBacklogHeldForSaleMember", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsPreliminaryPurchasePriceAllocationsDetails" ], "xbrltype": "domainItemType" }, "wifi_FurnitureFixturesAndOfficeEquipmentMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Tangible personal property used in an office setting and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, bookcases, computers, copiers and fax machine.", "label": "Furniture Fixtures And Office Equipment [Member]", "terseLabel": "Furniture, fixtures and office equipment" } } }, "localname": "FurnitureFixturesAndOfficeEquipmentMember", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosurePropertyAndEquipmentDetails" ], "xbrltype": "domainItemType" }, "wifi_HoldbackConsiderationLiabilitiesCurrent": { "auth_ref": [], "calculation": { "http://www.boingo.com/role/DisclosureAccruedExpensesAndOtherLiabilitiesDetails": { "order": 8.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Carrying amount, as of the balance sheet date pertaining to holdback consideration which are due within one year.", "label": "Holdback Consideration, Liabilities Current", "terseLabel": "Holdback consideration" } } }, "localname": "HoldbackConsiderationLiabilitiesCurrent", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureAccruedExpensesAndOtherLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "wifi_IncreaseDecreaseInOperatingLeaseLiabilities": { "auth_ref": [], "calculation": { "http://www.boingo.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 the aggregate amount of Operating lease liabilities that result from activities that generate operating income.", "label": "Increase (Decrease) in Operating Lease Liabilities", "terseLabel": "Operating lease liabilities" } } }, "localname": "IncreaseDecreaseInOperatingLeaseLiabilities", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "wifi_InterestOnLeaseLiabilitiesCapitalized": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The amount of interest expense on lease liabilities capitalized during the period.", "label": "Interest On Lease Liabilities Capitalized", "terseLabel": "Interest on lease liabilities capitalized" } } }, "localname": "InterestOnLeaseLiabilitiesCapitalized", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesDetails" ], "xbrltype": "monetaryItemType" }, "wifi_InterestRateLesseeAssetsUnderCapitalLease": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Interest rate assume for minimum payments for of lease assets considered as capital leases.", "label": "Interest Rate Lessee Assets Under Capital Lease", "terseLabel": "Interest rate (as a percent)" } } }, "localname": "InterestRateLesseeAssetsUnderCapitalLease", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsUnderNonCancellableLeasesDetails" ], "xbrltype": "percentItemType" }, "wifi_LeaseDisclosureTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "The entire disclosure of information about leases.", "label": "Lease Disclosure [Text Block]", "terseLabel": "Leases" } } }, "localname": "LeaseDisclosureTextBlock", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureLeases" ], "xbrltype": "textBlockItemType" }, "wifi_LeaseMinimumNumberRenewalOptions": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "The number of renewal options of lease.", "label": "Lease, Minimum Number Renewal Options", "terseLabel": "Minimum number of renewal option" } } }, "localname": "LeaseMinimumNumberRenewalOptions", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesDetails" ], "xbrltype": "integerItemType" }, "wifi_LesseeFinanceLeaseRemainingTermOfContract1": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Term of lessee's finance lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Lessee Finance Lease Remaining Term of Contract 1", "terseLabel": "Finance leases, remaining term of contract" } } }, "localname": "LesseeFinanceLeaseRemainingTermOfContract1", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesDetails" ], "xbrltype": "durationItemType" }, "wifi_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearSix": { "auth_ref": [], "calculation": { "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetails": { "order": 1.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due after sixth fiscal year following latest fiscal year.", "label": "Lessee Operating Lease Liability Payments Due After Year Six", "terseLabel": "Thereafter" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearSix", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "wifi_LesseeOperatingLeaseLiabilityPaymentsDueYearSix": { "auth_ref": [], "calculation": { "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetails": { "order": 2.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due in sixth fiscal year following latest fiscal year.", "label": "Lessee Operating Lease Liability Payments Due Year Six", "terseLabel": "January 1, 2024 - December 31, 2024" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearSix", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesScheduleOfMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "wifi_LesseeOperatingLeaseRemainingTermOfContract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Term of lessee's operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Lessee Operating Lease Remaining Term of Contract", "terseLabel": "Operating leases, remaining term of contract" } } }, "localname": "LesseeOperatingLeaseRemainingTermOfContract", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesDetails" ], "xbrltype": "durationItemType" }, "wifi_LettersOfCreditAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "No definition.", "label": "Letters Of Credit [Abstract]", "terseLabel": "Letters of credit" } } }, "localname": "LettersOfCreditAbstract", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureCommitmentsAndContingenciesLettersOfCreditDetails" ], "xbrltype": "stringItemType" }, "wifi_MeasurementInputRoyaltyRateMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Measurement input royalty rates to determine value of an asset.", "label": "Measurement Input Royalty Rate [Member]", "terseLabel": "Royalty rate" } } }, "localname": "MeasurementInputRoyaltyRateMember", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsDetails" ], "xbrltype": "domainItemType" }, "wifi_MilitaryAndRetailMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents information pertaining to Military sales and directly to consumer.", "label": "Military And Retail [Member]", "terseLabel": "Military and retail" } } }, "localname": "MilitaryAndRetailMember", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRevenueRecognitionTermsOfContractsDetails" ], "xbrltype": "domainItemType" }, "wifi_MilitaryOrMultiFamilyMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents information pertaining to Military/multifamily member.", "label": "Military Or Multi Family [Member]", "terseLabel": "Military/multifamily" } } }, "localname": "MilitaryOrMultiFamilyMember", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesSegmentAndGeographicInformationDetails" ], "xbrltype": "domainItemType" }, "wifi_MultiFamilyPartnerArrangementMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Details pertaining to Multi-family partner arrangements.", "label": "Multi Family Partner Arrangement [Member]", "terseLabel": "Multifamily" } } }, "localname": "MultiFamilyPartnerArrangementMember", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRevenueRecognitionTermsOfContractsDetails" ], "xbrltype": "domainItemType" }, "wifi_NetworkAccessMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Details pertaining to network access, a caption within costs and operating expenses of the entity.", "label": "Network Access [Member]", "terseLabel": "Network access" } } }, "localname": "NetworkAccessMember", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosurePropertyAndEquipmentDetails" ], "xbrltype": "domainItemType" }, "wifi_NetworkOperationsMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Details pertaining to network operations, a caption within costs and operating expenses of the entity.", "label": "Network Operations [Member]", "terseLabel": "Network operations" } } }, "localname": "NetworkOperationsMember", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosurePropertyAndEquipmentDetails", "http://www.boingo.com/role/DisclosureStockIncentivePlansCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "wifi_NonCompeteAgreementMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents the non-compete agreement of the entity.", "label": "Non Compete Agreement [Member]", "terseLabel": "Non-compete agreement" } } }, "localname": "NonCompeteAgreementMember", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsPreliminaryPurchasePriceAllocationsDetails" ], "xbrltype": "domainItemType" }, "wifi_NonEmployeeDirectorsAndExistingMembersMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents information pertaining to non-employee directors and existing members.", "label": "Non Employee Directors And Existing Members [Member]", "terseLabel": "Non-employee directors and existing members" } } }, "localname": "NonEmployeeDirectorsAndExistingMembersMember", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansRestrictedStockUnitAwardsDetails" ], "xbrltype": "domainItemType" }, "wifi_NonEmployeeDirectorsAndNewMembersMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents information pertaining to non-employee directors and new members.", "label": "Non Employee Directors And New Members [Member]", "terseLabel": "Non-employee directors and new members" } } }, "localname": "NonEmployeeDirectorsAndNewMembersMember", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansRestrictedStockUnitAwardsDetails" ], "xbrltype": "domainItemType" }, "wifi_NotesPayableTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for notes payable.", "label": "Notes Payable [Text Block]", "terseLabel": "Notes Payable" } } }, "localname": "NotesPayableTextBlock", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureNotesPayable" ], "xbrltype": "textBlockItemType" }, "wifi_NumberOfCommercialHotspotsForWhichAccessIsProvided": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents the number of commercial hotspots for which access is provided.", "label": "Number of Commercial Hotspots for which Access is Provided", "terseLabel": "Number of commercial hotspots worldwide for which Wi-Fi subscriptions and day passes provide access" } } }, "localname": "NumberOfCommercialHotspotsForWhichAccessIsProvided", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureBusinessDetails" ], "xbrltype": "integerItemType" }, "wifi_ObligationOfUnderpaidRevenueSharePaymentsMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Claim with respect to underpaid revenue share payments and related interest.", "label": "Obligation Of Underpaid Revenue Share Payments [Member]", "terseLabel": "Underpaid revenue share payments and related interest" } } }, "localname": "ObligationOfUnderpaidRevenueSharePaymentsMember", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureCommitmentsAndContingenciesOthersMattersDetails" ], "xbrltype": "domainItemType" }, "wifi_OperatingLeaseRightOfUseAssetAmortization": { "auth_ref": [], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 7.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization expense attributable to right-of-use asset from Operating lease.", "label": "Operating Lease, Right-of-Use Asset, Amortization", "terseLabel": "Amortization of operating lease right-of-use assets" } } }, "localname": "OperatingLeaseRightOfUseAssetAmortization", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "wifi_OtherMattersAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "No definition available.", "label": "Other Matters [Abstract]", "terseLabel": "Other matters" } } }, "localname": "OtherMattersAbstract", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureCommitmentsAndContingenciesOthersMattersDetails" ], "xbrltype": "stringItemType" }, "wifi_PartnerRelationshipsMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Partner relationships that exists between an entity and its partners.", "label": "Partner Relationships [Member]", "terseLabel": "Partner relationships" } } }, "localname": "PartnerRelationshipsMember", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsPreliminaryPurchasePriceAllocationsDetails" ], "xbrltype": "domainItemType" }, "wifi_PaymentsToAcquireBusinessesAndInterestInAffiliatesFinancing": { "auth_ref": [], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 6.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The cash outflow associated with the acquisition of a controlling interest in another entity or an entity that is related to it but not strictly controlled (for example, an unconsolidated subsidiary, affiliate, joint venture or equity method investment), classified as financing activity.", "label": "Payments to Acquire Businesses and Interest in Affiliates, Financing", "negatedLabel": "Payments of acquisition related consideration" } } }, "localname": "PaymentsToAcquireBusinessesAndInterestInAffiliatesFinancing", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "wifi_PerformanceBasedRestrictedStockUnitsMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents information pertaining to performance-based restricted stock unit awards.", "label": "Performance Based Restricted Stock Units [Member]", "terseLabel": "Performance-based restricted stock unit awards" } } }, "localname": "PerformanceBasedRestrictedStockUnitsMember", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansRestrictedStockUnitAwardsDetails" ], "xbrltype": "domainItemType" }, "wifi_Plan2011Member": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents the information pertaining to plan 2011 of the entity.", "label": "Plan2011 [Member]", "terseLabel": "2011 Plan" } } }, "localname": "Plan2011Member", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansPlansDetails" ], "xbrltype": "domainItemType" }, "wifi_PrepaidMaintenanceServicesFinancingLiability": { "auth_ref": [], "calculation": { "http://www.boingo.com/role/DisclosureNotesPayableDetailsCal2": { "order": 2.0, "parentTag": "wifi_PrepaidMaintenanceServicesFinancingPaymentDue", "weight": 1.0 }, "http://www.boingo.com/role/DisclosureNotesPayableDetailsCalc3": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Present value of undiscounted obligation for payments for financed prepaid maintenance services.", "label": "Prepaid Maintenance Services Financing Liability", "totalLabel": "Total" } } }, "localname": "PrepaidMaintenanceServicesFinancingLiability", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureNotesPayableDetails" ], "xbrltype": "monetaryItemType" }, "wifi_PrepaidMaintenanceServicesFinancingLiabilityCurrent": { "auth_ref": [], "calculation": { "http://www.boingo.com/role/DisclosureNotesPayableDetailsCalc3": { "order": 1.0, "parentTag": "wifi_PrepaidMaintenanceServicesFinancingLiability", "weight": 1.0 }, "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 7.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Present value of undiscounted obligation for payments for financed prepaid maintenance services, classified as current.", "label": "Prepaid Maintenance Services Financing Liability, Current", "terseLabel": "Current portion of notes payable" } } }, "localname": "PrepaidMaintenanceServicesFinancingLiabilityCurrent", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureNotesPayableDetails", "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "wifi_PrepaidMaintenanceServicesFinancingLiabilityNoncurrent": { "auth_ref": [], "calculation": { "http://www.boingo.com/role/DisclosureNotesPayableDetailsCalc3": { "order": 2.0, "parentTag": "wifi_PrepaidMaintenanceServicesFinancingLiability", "weight": 1.0 }, "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 6.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Present value of undiscounted obligation for payments for financed prepaid maintenance services, classified as noncurrent.", "label": "Prepaid Maintenance Services Financing Liability, Noncurrent", "terseLabel": "Long-term portion of notes payable" } } }, "localname": "PrepaidMaintenanceServicesFinancingLiabilityNoncurrent", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureNotesPayableDetails", "http://www.boingo.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "wifi_PrepaidMaintenanceServicesFinancingPaymentDue": { "auth_ref": [], "calculation": { "http://www.boingo.com/role/DisclosureNotesPayableDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.boingo.com/role/DisclosureNotesPayableDetailsCal2": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of undiscounted obligation for payments for financed prepaid maintenance services.", "label": "Prepaid Maintenance Services Financing, Payment, Due", "totalLabel": "Total future minimum payments" } } }, "localname": "PrepaidMaintenanceServicesFinancingPaymentDue", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureNotesPayableDetails" ], "xbrltype": "monetaryItemType" }, "wifi_PrepaidMaintenanceServicesFinancingPaymentDueYearThree": { "auth_ref": [], "calculation": { "http://www.boingo.com/role/DisclosureNotesPayableDetails": { "order": 3.0, "parentTag": "wifi_PrepaidMaintenanceServicesFinancingPaymentDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of undiscounted obligation for payments for financed prepaid maintenance services, due in third fiscal year following latest fiscal year.", "label": "Prepaid Maintenance Services Financing, Payment, Due Year Three", "terseLabel": "January 1, 2021 - December 31, 2021" } } }, "localname": "PrepaidMaintenanceServicesFinancingPaymentDueYearThree", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureNotesPayableDetails" ], "xbrltype": "monetaryItemType" }, "wifi_PrepaidMaintenanceServicesFinancingPaymentDueYearTwo": { "auth_ref": [], "calculation": { "http://www.boingo.com/role/DisclosureNotesPayableDetails": { "order": 2.0, "parentTag": "wifi_PrepaidMaintenanceServicesFinancingPaymentDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of undiscounted obligation for payments for financed prepaid maintenance services, due in second fiscal year following latest fiscal year.", "label": "Prepaid Maintenance Services Financing, Payment, Due Year Two", "terseLabel": "January 1, 2020 - December 31, 2020" } } }, "localname": "PrepaidMaintenanceServicesFinancingPaymentDueYearTwo", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureNotesPayableDetails" ], "xbrltype": "monetaryItemType" }, "wifi_PrepaidMaintenanceServicesFinancingPaymentRemainderOfFiscalYear": { "auth_ref": [], "calculation": { "http://www.boingo.com/role/DisclosureNotesPayableDetails": { "order": 1.0, "parentTag": "wifi_PrepaidMaintenanceServicesFinancingPaymentDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of undiscounted obligation for payments for financed prepaid maintenance services, due in remainder of fiscal year following latest fiscal year ended.", "label": "Prepaid Maintenance Services Financing, Payment, Remainder of Fiscal Year", "terseLabel": "July 1, 2019 - December 31, 2019" } } }, "localname": "PrepaidMaintenanceServicesFinancingPaymentRemainderOfFiscalYear", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureNotesPayableDetails" ], "xbrltype": "monetaryItemType" }, "wifi_PrepaidMaintenanceServicesFinancingUndiscountedExcessAmount": { "auth_ref": [], "calculation": { "http://www.boingo.com/role/DisclosureNotesPayableDetailsCal2": { "order": 1.0, "parentTag": "wifi_PrepaidMaintenanceServicesFinancingPaymentDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of undiscounted obligation in excess of discounted obligation for financed prepaid maintenance services.", "label": "Prepaid Maintenance Services Financing, Undiscounted Excess Amount", "negatedLabel": "Less: Imputed interest" } } }, "localname": "PrepaidMaintenanceServicesFinancingUndiscountedExcessAmount", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureNotesPayableDetails" ], "xbrltype": "monetaryItemType" }, "wifi_PurchasesOfAssetAndBusinessAcquisitionsInLiabilities": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of purchases of asset and business acquisitions included in accrued expenses and other liabilities.", "label": "Purchases Of Asset And Business Acquisitions In Liabilities", "terseLabel": "Purchase price for business acquisition included in accrued expenses and other liabilities" } } }, "localname": "PurchasesOfAssetAndBusinessAcquisitionsInLiabilities", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "wifi_ReliefFromRoyaltyMethodMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Valuation approach using relief from royalty method.", "label": "Relief From Royalty Method [Member]", "terseLabel": "Relief from royalty method" } } }, "localname": "ReliefFromRoyaltyMethodMember", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureAcquisitionsDetails" ], "xbrltype": "domainItemType" }, "wifi_RevenuePerformanceObligationNumberOfPerformanceObligations": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Number of performance obligations in customer contracts.", "label": "Revenue, Performance Obligation, Number Of Performance Obligations", "terseLabel": "Number of performance obligations" } } }, "localname": "RevenuePerformanceObligationNumberOfPerformanceObligations", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRevenueRecognitionTermsOfContractsDetails" ], "xbrltype": "integerItemType" }, "wifi_RevenuePerformanceObligationPaymentTerms": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Payment terms in contract with customer. Includes, but is not limited to, timing of payment, existence of financing component, variability of consideration and constraint on variable consideration, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Revenue, Performance Obligation, Payment Terms", "terseLabel": "Payment terms" } } }, "localname": "RevenuePerformanceObligationPaymentTerms", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRevenueRecognitionTermsOfContractsDetails" ], "xbrltype": "durationItemType" }, "wifi_RevenuePerformanceObligationRenewalCancellationPeriod": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "The period within which cancellation of renewal of contract prior to termination of the current contract period, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Revenue, Performance Obligation, Renewal Cancellation Period", "terseLabel": "Cancellation period of renewal option prior end of current contract period" } } }, "localname": "RevenuePerformanceObligationRenewalCancellationPeriod", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRevenueRecognitionTermsOfContractsDetails" ], "xbrltype": "durationItemType" }, "wifi_RevenueRecognitionPeriod": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents the term of the arrangement that is used as a basis for recognizing certain revenues.", "label": "Revenue Recognition Period", "terseLabel": "Initial term of the arrangement" } } }, "localname": "RevenueRecognitionPeriod", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRevenueRecognitionTermsOfContractsDetails" ], "xbrltype": "durationItemType" }, "wifi_RevenueShare": { "auth_ref": [], "calculation": { "http://www.boingo.com/role/DisclosureAccruedExpensesAndOtherLiabilitiesDetails": { "order": 3.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Carrying amount, as of the balance sheet date, of the obligations incurred through revenue sharing arrangements, which are due within one year.", "label": "Revenue Share", "terseLabel": "Revenue share" } } }, "localname": "RevenueShare", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureAccruedExpensesAndOtherLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "wifi_RevenuesRelatedToContractLiabilitiesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "No definition available.", "label": "Revenues Related to Contract Liabilities [Abstract]", "terseLabel": "Contract liability and performance obligations included in revenue" } } }, "localname": "RevenuesRelatedToContractLiabilitiesAbstract", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureContractAssetsAndContractLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "wifi_RightOfUseAssetsObtainedInExchangeForLeaseObligationsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "n/a.", "label": "Right-of-use assets obtained in exchange for lease obligations:" } } }, "localname": "RightOfUseAssetsObtainedInExchangeForLeaseObligationsAbstract", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesDetails" ], "xbrltype": "stringItemType" }, "wifi_ScheduleOfDebtDiscountAndDebtIssuanceCostsFutureAmortizationExpenseTableTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of future amortization expense of debt discount and debt issuance costs.", "label": "Schedule of Debt Discount and Debt Issuance Costs, Future Amortization Expense [Table Text Block]", "terseLabel": "Schedule of amortization expense for debt discount and debt issuance costs" } } }, "localname": "ScheduleOfDebtDiscountAndDebtIssuanceCostsFutureAmortizationExpenseTableTextBlock", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureConvertibleNotesTables" ], "xbrltype": "textBlockItemType" }, "wifi_ScheduleOfDepreciationAndAmortizationExpenseAllocationTableTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of allocation of depreciation and amortization expense on the property and equipment, on the consolidated statement of operations.", "label": "Schedule of Depreciation and Amortization Expense Allocation [Table Text Block]", "terseLabel": "Schedule of depreciation and amortization expense of property and equipment" } } }, "localname": "ScheduleOfDepreciationAndAmortizationExpenseAllocationTableTextBlock", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosurePropertyAndEquipmentTables" ], "xbrltype": "textBlockItemType" }, "wifi_ScheduleOfFutureAmortizationExpenseForDebtIssuanceCostsTableTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of amortization expense for debt issuance costs for each of the five succeeding fiscal years.", "label": "Schedule Of Future Amortization Expense For Debt Issuance Costs [Table Text Block]", "terseLabel": "Schedule of amortization expense for debt issuance costs" } } }, "localname": "ScheduleOfFutureAmortizationExpenseForDebtIssuanceCostsTableTextBlock", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureCreditFacilityTables" ], "xbrltype": "textBlockItemType" }, "wifi_ScheduleOfFutureMinimumLeasePaymentsUnderNonCancellableLeasesTableTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of future minimum lease payments under non-cancellable leases.", "label": "Schedule of Future Minimum Lease Payments Under Non-Cancellable Leases [Table Text Block]", "terseLabel": "Schedule of future minimum lease payments under non-cancellable leases" } } }, "localname": "ScheduleOfFutureMinimumLeasePaymentsUnderNonCancellableLeasesTableTextBlock", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureLeasesTables" ], "xbrltype": "textBlockItemType" }, "wifi_ScheduleOfFutureMinimumLeasePaymentsUnderNotesPayableTableTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of future minimum lease payments under notes payable.", "label": "Schedule of Future Minimum Lease Payments Under Notes Payable [Table Text Block]", "terseLabel": "Schedule of future minimum lease payments under notes payable" } } }, "localname": "ScheduleOfFutureMinimumLeasePaymentsUnderNotesPayableTableTextBlock", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureNotesPayableTables" ], "xbrltype": "textBlockItemType" }, "wifi_ScheduleOfInterestExpenseConvertibleNotesTableTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of interest expense related to the convertible notes.", "label": "Schedule of Interest Expense, Convertible Notes [Table Text Block]", "terseLabel": "Schedule of interest expense related to the Convertible Notes" } } }, "localname": "ScheduleOfInterestExpenseConvertibleNotesTableTextBlock", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureConvertibleNotesTables" ], "xbrltype": "textBlockItemType" }, "wifi_ServiceBasedRestrictedStockUnitsMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents information pertaining to service-based restricted stock unit awards.", "label": "Service Based Restricted Stock Units [Member]", "terseLabel": "Service-based restricted stock unit awards" } } }, "localname": "ServiceBasedRestrictedStockUnitsMember", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansRestrictedStockUnitAwardsDetails" ], "xbrltype": "domainItemType" }, "wifi_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", "verboseLabel": "Vesting percentage when the individual completes 12 months of continuous service" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPercentagePerYear", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansRestrictedStockUnitAwardsDetails" ], "xbrltype": "percentItemType" }, "wifi_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsPercentageOfPerformanceObjectiveThreshold": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "The percentage of performance objectives threshold for target number of equity instruments other than options under stock-based compensation arrangement.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Percentage of Performance Objective Threshold", "terseLabel": "Performance objective threshold (as a percent)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsPercentageOfPerformanceObjectiveThreshold", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansRestrictedStockUnitAwardsDetails" ], "xbrltype": "percentItemType" }, "wifi_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsWeightedAverageRemainingContractualTermAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Share Based Compensation Arrangement by Share Based Payment Award, Options Weighted Average Remaining Contractual Term [Abstract]", "terseLabel": "Weighted-Average Remaining Contract Life (years)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsWeightedAverageRemainingContractualTermAbstract", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureStockIncentivePlansStockOptionAwardsDetails" ], "xbrltype": "stringItemType" }, "wifi_UnrealizedGainLossAndAmortizationOfPremiumsDiscountsOnMarketableSecurities": { "auth_ref": [], "calculation": { "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 8.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of unrealized gains and amortization of premiums and discounts of marketable securities.", "label": "Unrealized Gain (Loss) and Amortization of Premiums/Discounts on Marketable Securities", "negatedLabel": "Gains and amortization of premiums/discounts for marketable securities" } } }, "localname": "UnrealizedGainLossAndAmortizationOfPremiumsDiscountsOnMarketableSecurities", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "wifi_WholesalePartnerArrangementMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Details pertaining to wholesale partner arrangements.", "label": "Wholesale Partner Arrangement [Member]", "terseLabel": "Wholesale-Wi-Fi" } } }, "localname": "WholesalePartnerArrangementMember", "nsuri": "http://www.boingo.com/20190630", "presentation": [ "http://www.boingo.com/role/DisclosureContractAssetsAndContractLiabilitiesDetails", "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRevenueRecognitionTermsOfContractsDetails", "http://www.boingo.com/role/DisclosureSummaryOfSignificantAccountingPoliciesSegmentAndGeographicInformationDetails" ], "xbrltype": "domainItemType" } }, "unitCount": 9 } }, "std_ref": { "r0": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "205", "URI": "http://asc.fasb.org/topic&trid=2122149" }, "r1": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6676-107765" }, "r10": { "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=6877327&loc=d3e13212-122682" }, "r100": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22694-107794" }, "r101": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "250", "URI": "http://asc.fasb.org/topic&trid=2122394" }, "r102": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=117326831&loc=d3e1448-109256" }, "r103": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=117326831&loc=d3e1505-109256" }, "r104": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=117326831&loc=d3e1252-109256" }, "r105": { "Name": "Accounting Standards Codification", "Paragraph": "28A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=117326831&loc=d3e1500-109256" }, "r106": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=117326831&loc=SL5780133-109256" }, "r107": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=117326831&loc=d3e1337-109256" }, "r108": { "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" }, "r109": { "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" }, "r11": { "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=6877327&loc=d3e13212-122682" }, "r110": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257" }, "r111": { "Name": "Accounting Standards Codification", "Paragraph": "52", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=117327953&loc=d3e4984-109258" }, "r112": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "260", "URI": "http://asc.fasb.org/topic&trid=2144383" }, "r113": { "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" }, "r114": { "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" }, "r115": { "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" }, "r116": { "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" }, "r117": { "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" }, "r118": { "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" }, "r119": { "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" }, "r12": { "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=6877327&loc=d3e13212-122682" }, "r120": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "275", "URI": "http://asc.fasb.org/topic&trid=2134479" }, "r121": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599" }, "r122": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599" }, "r123": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599" }, "r124": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599" }, "r125": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8933-108599" }, "r126": { "Name": "Accounting Standards Codification", "Paragraph": "40", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e9031-108599" }, "r127": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=118952595&loc=d3e4647-111522" }, "r128": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=118952595&loc=d3e4428-111522" }, "r129": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=118952595&loc=d3e4531-111522" }, "r13": { "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=6877327&loc=d3e13212-122682" }, "r130": { "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" }, "r131": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=118954083&loc=d3e26610-111562" }, "r132": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=118954083&loc=d3e26853-111562" }, "r133": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=118954083&loc=d3e26626-111562" }, "r134": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(aa)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=118939692&loc=d3e27161-111563" }, "r135": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "320", "URI": "http://asc.fasb.org/topic&trid=2196928" }, "r136": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=118942338&loc=SL82898722-210454" }, "r137": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Topic": "340", "URI": "http://asc.fasb.org/extlink&oid=68051541&loc=SL51790836-203054" }, "r138": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=99380562&loc=d3e13770-109266" }, "r139": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=77989000&loc=SL49117168-202975" }, "r14": { "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=6877327&loc=d3e13212-122682" }, "r140": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=108376223&loc=d3e13816-109267" }, "r141": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=6388964&loc=d3e16225-109274" }, "r142": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275" }, "r143": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(3)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275" }, "r144": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275" }, "r145": { "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" }, "r146": { "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" }, "r147": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(2)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r148": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r149": { "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" }, "r15": { "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=6877327&loc=d3e13212-122682" }, "r150": { "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" }, "r151": { "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" }, "r152": { "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" }, "r153": { "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" }, "r154": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "360", "URI": "http://asc.fasb.org/topic&trid=2155823" }, "r155": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "440", "URI": "http://asc.fasb.org/topic&trid=2144648" }, "r156": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=118942415&loc=d3e14326-108349" }, "r157": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=118942415&loc=d3e14615-108349" }, "r158": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=118942415&loc=d3e14394-108349" }, "r159": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=118942415&loc=d3e14435-108349" }, "r16": { "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=6877327&loc=d3e13212-122682" }, "r160": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=118942415&loc=d3e14435-108349" }, "r161": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=118942415&loc=d3e14453-108349" }, "r162": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=118942415&loc=d3e14472-108349" }, "r163": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=118942415&loc=d3e14557-108349" }, "r164": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=118942415&loc=d3e14557-108349" }, "r165": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "450", "URI": "http://asc.fasb.org/topic&trid=2127136" }, "r166": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=118943654&loc=d3e12021-110248" }, "r167": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=118943654&loc=d3e12053-110248" }, "r168": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=6802200&loc=d3e1835-112601" }, "r169": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=109500613&loc=SL6031897-161870" }, "r17": { "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=6877327&loc=d3e13212-122682" }, "r170": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=109500613&loc=SL6031898-161870" }, "r171": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=109500613&loc=SL6036836-161870" }, "r172": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=109500613&loc=SL6036836-161870" }, "r173": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "470", "URI": "http://asc.fasb.org/topic&trid=2208564" }, "r174": { "Name": "Accounting Standards Codification", "Paragraph": "63", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "480", "URI": "http://asc.fasb.org/extlink&oid=117411753&loc=d3e23176-110880" }, "r175": { "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" }, "r176": { "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" }, "r177": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21506-112644" }, "r178": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21506-112644" }, "r179": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21521-112644" }, "r18": { "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=6877327&loc=d3e13212-122682" }, "r180": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21538-112644" }, "r181": { "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=27012166&loc=d3e187085-122770" }, "r182": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=118944033&loc=SL49130531-203044" }, "r183": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=118944033&loc=SL49130532-203044" }, "r184": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=118944033&loc=SL49130533-203044" }, "r185": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130551-203045" }, "r186": { "Name": "Accounting Standards Codification", "Paragraph": "12A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL108322424-203045" }, "r187": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130556-203045" }, "r188": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(1)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130556-203045" }, "r189": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130558-203045" }, "r19": { "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=6877327&loc=d3e13212-122682" }, "r190": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130569-203045" }, "r191": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130543-203045" }, "r192": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130545-203045" }, "r193": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130549-203045" }, "r194": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130549-203045" }, "r195": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=118944142&loc=SL49130690-203046-203046" }, "r196": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=113356391&loc=SL49131195-203048" }, "r197": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "606", "URI": "http://asc.fasb.org/topic&trid=49130388" }, "r198": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(ii)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r199": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(01)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r2": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6676-107765" }, "r20": { "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=6877327&loc=d3e13212-122682" }, "r200": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118257860&loc=d3e4179-114921" }, "r201": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=116855982&loc=d3e4534-113899" }, "r202": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5047-113901" }, "r203": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5047-113901" }, "r204": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5047-113901" }, "r205": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5047-113901" }, "r206": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901" }, "r207": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a),(g)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901" }, "r208": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901" }, "r209": { "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=116856206&loc=d3e5070-113901" }, "r21": { "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=6877327&loc=d3e13212-122682" }, "r210": { "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=116856206&loc=d3e5070-113901" }, "r211": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(ii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901" }, "r212": { "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=116856206&loc=d3e5070-113901" }, "r213": { "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=116856206&loc=d3e5070-113901" }, "r214": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901" }, "r215": { "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=116856206&loc=d3e5070-113901" }, "r216": { "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=116856206&loc=d3e5070-113901" }, "r217": { "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=116856206&loc=d3e5070-113901" }, "r218": { "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=116856206&loc=d3e5070-113901" }, "r219": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901" }, "r22": { "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=6877327&loc=d3e13212-122682" }, "r220": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901" }, "r221": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901" }, "r222": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901" }, "r223": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901" }, "r224": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901" }, "r225": { "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=116856206&loc=d3e5070-113901" }, "r226": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(1)(ii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901" }, "r227": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901" }, "r228": { "Name": "Accounting Standards Codification", "Paragraph": "2A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=SL79508275-113901" }, "r229": { "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" }, "r23": { "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=6877327&loc=d3e13212-122682" }, "r230": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=118258462&loc=d3e11149-113907" }, "r231": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=118258462&loc=d3e11178-113907" }, "r232": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "718", "URI": "http://asc.fasb.org/topic&trid=2228938" }, "r233": { "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" }, "r234": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116821951&loc=d3e32247-109318" }, "r235": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116821951&loc=d3e32280-109318" }, "r236": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116821951&loc=d3e31931-109318" }, "r237": { "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" }, "r238": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32698-109319" }, "r239": { "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" }, "r24": { "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=6877327&loc=d3e13212-122682" }, "r240": { "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" }, "r241": { "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" }, "r242": { "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" }, "r243": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=109238882&loc=d3e38679-109324" }, "r244": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "05", "SubTopic": "30", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=65884525&loc=d3e40913-109327" }, "r245": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "740", "URI": "http://asc.fasb.org/topic&trid=2144680" }, "r246": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "25", "SubTopic": "10", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=116868678&loc=d3e961-128460" }, "r247": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(1)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463" }, "r248": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(2)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463" }, "r249": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(3)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463" }, "r25": { "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=6877327&loc=d3e13212-122682" }, "r250": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463" }, "r251": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1486-128463" }, "r252": { "Name": "Accounting Standards Codification", "Paragraph": "37", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=116868840&loc=d3e2207-128464" }, "r253": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=116869197&loc=d3e4845-128472" }, "r254": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=116869197&loc=d3e4845-128472" }, "r255": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=77890550&loc=d3e5333-128473" }, "r256": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=77890550&loc=d3e5333-128473" }, "r257": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "25", "SubTopic": "30", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=6911189&loc=d3e6405-128476" }, "r258": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "25", "SubTopic": "30", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=6911189&loc=d3e6408-128476" }, "r259": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "30", "SubTopic": "30", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=116859721&loc=d3e6578-128477" }, "r26": { "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=6877327&loc=d3e13212-122682" }, "r260": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "30", "SubTopic": "30", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=116859721&loc=d3e6613-128477" }, "r261": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "35", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=116859824&loc=d3e6819-128478" }, "r262": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "35", "SubTopic": "30", "Subparagraph": "b", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=116859824&loc=d3e6819-128478" }, "r263": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=35744584&loc=d3e6927-128479" }, "r264": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)(1)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=35744584&loc=d3e6927-128479" }, "r265": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)(3)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=35744584&loc=d3e6927-128479" }, "r266": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(c)(1)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=35744584&loc=d3e6927-128479" }, "r267": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "805", "URI": "http://asc.fasb.org/topic&trid=2303972" }, "r268": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=108774443&loc=SL4568447-111683" }, "r269": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=108774443&loc=SL4568740-111683" }, "r27": { "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=6877327&loc=d3e13212-122682" }, "r270": { "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" }, "r271": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=108774443&loc=SL4569643-111683" }, "r272": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=108774443&loc=SL4613674-111683" }, "r273": { "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" }, "r274": { "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" }, "r275": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684" }, "r276": { "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" }, "r277": { "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" }, "r278": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684" }, "r279": { "Name": "Accounting Standards Codification", "Paragraph": "4I", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=116874947&loc=SL4590271-111686" }, "r28": { "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=6877327&loc=d3e13212-122682" }, "r280": { "Name": "Accounting Standards Codification", "Paragraph": "4J", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=116874947&loc=SL4591551-111686" }, "r281": { "Name": "Accounting Standards Codification", "Paragraph": "4K", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=116874947&loc=SL4591552-111686" }, "r282": { "Name": "Accounting Standards Codification", "Paragraph": "4M", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=116874947&loc=SL4591554-111686" }, "r283": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.3A-02)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=116822174&loc=d3e355033-122828" }, "r284": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.3A-03)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=116822174&loc=d3e355100-122828" }, "r285": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "810", "URI": "http://asc.fasb.org/topic&trid=2197479" }, "r286": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=6445032&loc=d3e90193-114008" }, "r287": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=6445032&loc=d3e90198-114008" }, "r288": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=6445032&loc=d3e90205-114008" }, "r289": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=116862287&loc=d3e90476-114009" }, "r29": { "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=6877327&loc=d3e13212-122682" }, "r290": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r291": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r292": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bb)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r293": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r294": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)(1)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r295": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)(2)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r296": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r297": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r298": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r299": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19279-110258" }, "r3": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6676-107765" }, "r30": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(a),20,24)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r300": { "Name": "Accounting Standards Codification", "Paragraph": "6A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=SL6742756-110258" }, "r301": { "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" }, "r302": { "Name": "Accounting Standards Codification", "Paragraph": "5A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=116690757&loc=SL116692626-108610" }, "r303": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=118260190&loc=d3e13279-108611" }, "r304": { "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" }, "r305": { "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" }, "r306": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32022-110900" }, "r307": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(b,c)", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r308": { "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" }, "r309": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "835", "URI": "http://asc.fasb.org/extlink&oid=6450988&loc=d3e26243-108391" }, "r31": { "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=6877327&loc=d3e13212-122682" }, "r310": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "835", "URI": "http://asc.fasb.org/extlink&oid=114775744&loc=d3e28541-108399" }, "r311": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "835", "URI": "http://asc.fasb.org/extlink&oid=114775744&loc=d3e28551-108399" }, "r312": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "835", "URI": "http://asc.fasb.org/extlink&oid=114775744&loc=d3e28555-108399" }, "r313": { "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" }, "r314": { "Name": "Accounting Standards Codification", "Paragraph": "40", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(Note 3)", "Topic": "840", "URI": "http://asc.fasb.org/extlink&oid=82846649&loc=d3e38371-112697" }, "r315": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "840", "URI": "http://asc.fasb.org/extlink&oid=77902758&loc=d3e41502-112717" }, "r316": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "840", "URI": "http://asc.fasb.org/extlink&oid=84164758&loc=d3e45023-112735" }, "r317": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "840", "URI": "http://asc.fasb.org/extlink&oid=84164817&loc=d3e45280-112737" }, "r318": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "840", "URI": "http://asc.fasb.org/extlink&oid=84164817&loc=d3e45280-112737" }, "r319": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=119364159&loc=SL77916155-209984" }, "r32": { "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=6877327&loc=d3e13212-122682" }, "r320": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(j)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=119364159&loc=SL77916155-209984" }, "r321": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888419&loc=SL77918627-209977" }, "r322": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888419&loc=SL77918627-209977" }, "r323": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888419&loc=SL77918638-209977" }, "r324": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888419&loc=SL77918643-209977" }, "r325": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888419&loc=SL77918643-209977" }, "r326": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888419&loc=SL77918643-209977" }, "r327": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918666-209980" }, "r328": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(3)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918673-209980" }, "r329": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918673-209980" }, "r33": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19,20)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r330": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980" }, "r331": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980" }, "r332": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(1)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980" }, "r333": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(2)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980" }, "r334": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(3)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980" }, "r335": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(4)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980" }, "r336": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980" }, "r337": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918701-209980" }, "r338": { "Name": "Accounting Standards Codification", "Paragraph": "53", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=77888399&loc=SL77918982-209971" }, "r339": { "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" }, "r34": { "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=6877327&loc=d3e13212-122682" }, "r340": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=118948506&loc=d3e107207-111719" }, "r341": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=118948506&loc=d3e107207-111719" }, "r342": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=118948506&loc=d3e107207-111719" }, "r343": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=118948506&loc=d3e107207-111719" }, "r344": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "340", "Topic": "928", "URI": "http://asc.fasb.org/extlink&oid=6473545&loc=d3e61844-108004" }, "r345": { "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=6876686&loc=d3e534808-122878" }, "r346": { "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=6876686&loc=d3e534808-122878" }, "r347": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(15)(1))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878" }, "r348": { "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=6876686&loc=d3e534808-122878" }, "r349": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(22))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878" }, "r35": { "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=6877327&loc=d3e13212-122682" }, "r350": { "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=6876686&loc=d3e534808-122878" }, "r351": { "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=6876686&loc=d3e534808-122878" }, "r352": { "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=116637391&loc=SL114874048-224260" }, "r353": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(23))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=116637391&loc=SL114874048-224260" }, "r354": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "320", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=75019621&loc=d3e62652-112803" }, "r355": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "470", "Subparagraph": "e", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=75038535&loc=d3e64711-112823" }, "r356": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "470", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=75038535&loc=d3e64711-112823" }, "r357": { "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=119400593&loc=d3e572229-122910" }, "r358": { "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=119400593&loc=d3e572229-122910" }, "r359": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(15)(b)(1))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910" }, "r36": { "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=6877327&loc=d3e13212-122682" }, "r360": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(16))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910" }, "r361": { "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=119400593&loc=d3e572229-122910" }, "r362": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(24))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910" }, "r363": { "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=119400593&loc=d3e572229-122910" }, "r364": { "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=119400593&loc=d3e572229-122910" }, "r365": { "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=119400593&loc=d3e572229-122910" }, "r366": { "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=116637232&loc=SL114874131-224263" }, "r367": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(19))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=116637232&loc=SL114874131-224263" }, "r368": { "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" }, "r369": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(a)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=117419784&loc=SL117783719-158441" }, "r37": { "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=6877327&loc=d3e13212-122682" }, "r370": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "210", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=118262064&loc=SL116631418-115840" }, "r371": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "45", "SubTopic": "210", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=118262064&loc=SL116631419-115840" }, "r372": { "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" }, "r373": { "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" }, "r374": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b" }, "r375": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "d1-1" }, "r376": { "Name": "Form 10-Q", "Number": "240", "Publisher": "SEC", "Section": "13", "Subsection": "a-13" }, "r377": { "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Publisher": "SEC", "Section": "13", "Subsection": "a-1-" }, "r378": { "Name": "Regulation 12B", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b-2" }, "r379": { "Name": "Regulation S-T", "Number": "232", "Publisher": "SEC", "Section": "405" }, "r38": { "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=6877327&loc=d3e13212-122682" }, "r39": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.22(a)(5))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r4": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6676-107765" }, "r40": { "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=6877327&loc=d3e13212-122682" }, "r41": { "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=6877327&loc=d3e13212-122682" }, "r42": { "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=6877327&loc=d3e13212-122682" }, "r43": { "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=6877327&loc=d3e13212-122682" }, "r44": { "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=6877327&loc=d3e13212-122682" }, "r45": { "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=6877327&loc=d3e13212-122682" }, "r46": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=SL7669646-108580" }, "r47": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=SL7669646-108580" }, "r48": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=d3e637-108580" }, "r49": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=d3e681-108580" }, "r5": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6801-107765" }, "r50": { "Name": "Accounting Standards Codification", "Paragraph": "14A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=SL7669686-108580" }, "r51": { "Name": "Accounting Standards Codification", "Paragraph": "17B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=SL34724394-108580" }, "r52": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=SL7669619-108580" }, "r53": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=SL7669619-108580" }, "r54": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=SL7669619-108580" }, "r55": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=SL7669625-108580" }, "r56": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=SL7669625-108580" }, "r57": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=d3e557-108580" }, "r58": { "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" }, "r59": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=118951672&loc=d3e1436-108581" }, "r6": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6911-107765" }, "r60": { "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=116634182&loc=SL114868664-224227" }, "r61": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(21))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227" }, "r62": { "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=116634182&loc=SL114868664-224227" }, "r63": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(7)(c))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227" }, "r64": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(8))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227" }, "r65": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227" }, "r66": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.2(a),(d))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227" }, "r67": { "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=116634182&loc=SL114868664-224227" }, "r68": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.7(b))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227" }, "r69": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.7)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227" }, "r7": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6935-107765" }, "r70": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.8)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227" }, "r71": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "8", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227" }, "r72": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3213-108585" }, "r73": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3213-108585" }, "r74": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3255-108585" }, "r75": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3255-108585" }, "r76": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3291-108585" }, "r77": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3291-108585" }, "r78": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3291-108585" }, "r79": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3291-108585" }, "r8": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e7018-107765" }, "r80": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3000-108585" }, "r81": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3521-108585" }, "r82": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3536-108585" }, "r83": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3602-108585" }, "r84": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3602-108585" }, "r85": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3602-108585" }, "r86": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3044-108585" }, "r87": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=98513485&loc=d3e4304-108586" }, "r88": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=98513485&loc=d3e4313-108586" }, "r89": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=98513485&loc=d3e4332-108586" }, "r9": { "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=6877327&loc=d3e13212-122682" }, "r90": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=98513485&loc=SL98516268-108586" }, "r91": { "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" }, "r92": { "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" }, "r93": { "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=26873400&loc=d3e23780-122690" }, "r94": { "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=26873400&loc=d3e23780-122690" }, "r95": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08.(h)(1)(i))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e23780-122690" }, "r96": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08.(h)(2))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e23780-122690" }, "r97": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-04.(a))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e24072-122690" }, "r98": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "235", "URI": "http://asc.fasb.org/topic&trid=2122369" }, "r99": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794" } }, "version": "2.1" } ZIP 89 0001410578-19-000657-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001410578-19-000657-xbrl.zip M4$L#!!0 ( -QQ!4\I:X&C6Q@ !XJ 0 1 =VEF:2TR,#$Y,#8S,"YX MMC D9@9K M7F8!4I?\^NT&00ZO($B.;-'B0QP-V=T ^FLT@$8#_.4?CYYKW5,N6.!_V)GN M[>]8U+<#A_G+#SN1V"7"9FSG'W__[__ZY7]V=_\\O;FTG,"./.J'ELTI":EC M/;!P9=T%ZS7QK2O*.7-=ZY0S9TDMZVCO8.^GZ;O]O8.CHY^/K-U=)>F4". , M?$N*/-B;IF_.E-3 /[9^GAQ,#O:G1];1\<'T>']J75^E=%=0R05K(GP4SK&P M5]0C5DCXDH:?B4?%FMCTP\XJ#-?'D\G#P\/>/( &!WMVX$DQ^^\/01$D##F; M1R$]#[CWD2Y(Y(:@%/_?$7%ET: KEZ(J<@29UZ!<7QQ#'7*%/1SN!7P)!>U/ M)W]>7=[*ZB7$+O._YJ@?Y]Q-Z \G^'H.NDO(.5W44K^?P-N$T(^\:D(GY)/P M:4TG0$$YLU.&P#?@"?S= A\2.6'*EZW0NTG\,B5U-2W]\Q*:NE$A:U;A+O-% M2'R;9JO"-$44Z0T 3RI>1$E5:'IT=#21;Q/2!V!L-K68U@XB/^1/>=T):N\M M@_N)>HE,/^WN3WN4;4'$7-9&O9#EE%@0/U')(]]4,#F455<- M7E20^W2)';E6_T<3'KA@0C'9#O16RY+]E?A^$)(0/))\ECQ=KYF_"-0C>(A: M/D81=U!?"__X\VI .%2==A[%+DP/3#'=2+>"A;61/Z+;%=VSP -UK("&W=,+F+!X]#(0K:&N$Z/'_; ; M[KG"K+@TZPV6][?1$#H; A&K6/V.:Q_P13W&B:5],1U SOVEA]I2)BK@.XM18?Z M6^CB!X#TIA#XD2T'?F:*LI*RK#469I%-:=8;5=[8Q6O- +O*B>_@_SZ!BN^) MBYT(GEP1_A6T-W?I+;4C#G6C=4;028;>!-["*K)@ K)3$]^Q;/R#;@J2#[VT M*$ND98T&T&P USR *5'X!' A>&MTHC4XZTCU<+XOPYD(D^C11-R(F(GGMGE$ MG4^/:QP(L9_-PA7EEXS,F:OKI^:,>C1_*J.I1%M4R9:H!BC=$\R<@!K3.">._$S>B=7ZX!:L>X9_+(W!&N"6E2Y<<%R#1 M7D 1UCV6,<+<'N:/=!Y>"!%A^.$L$'+XO/!#"BH)58ISJ;J"32PWM4,3&7 M8JQ$S@A/,SR7%!:L=5TU_U(+QW2_#$?,/J)@B@)N7SF12V>+*Q*JA>-L(=\U M3ZF[B&A"M#3U4HCN6DDY&./:E(2_)(EU.4ZUGQG_,^(>;,$&I)AO; ?6&RC5 M.ACM8SC\/O9P.-J#L3V<1Z!:>@65\2)/OKPF3W+3X8OO4/XY\,]P MENJZ&(8T&.*W(KG):DIKN$JKB2M@>7$-+%>:S5K5P8JP$A:FF]B;:L1$XT!C M8$ART0.(HMIJ+***1 _MM#SUBQ=7ZUC*"$PG8*I&^#JR;0$T#LW=@+)+8V\M MW5:ALL=A4X-5&FN^@@$"?FMVE'2D>L0.RHB=;P+0WD;_*:<*!;T9!! MXUJG4N:Y]:!.]]]UR:NTWN0*&3MFMP2LV>(V#.ROJ\"%V;G '?GPJ54B5J4 M/>)O6R=DX>HB6\S_6G%!(^AUX^=I))A/16FP3)_K((*93'EDO%M1:ZZX1[W7 MZ?TV\CS"GZ!7L*7/%N":8*2SY584L%R#:=N,EE QY-)C5C&;47*Q^XB-9(ND MHJVUDCTB:I+CJ,M<;$#GL"K?9<,]ZG\KR86]L@H;$-Q..N$(=)LD0I/LP0;8 MC-,&1V2Z)PNVSQ)L0*US>N"(HEDZASZ/HP&=Y@2.$0:3**0N\JB'H#':. +0 M)K1H$E-L ,0XF#@B4X=,?*+NCCR6!Y3L*ST.%1-M=5(O1.Y1^_5YHY['0D]- MD,\"N4"D?M5Z54>J1Z=J$KT1%L^EL^)&N&HC#1@/ \N&]K)[>NV2\O*TBD0/ MS[N*& (*L5@BQ5JCF!&6VN&=AIMCR->4WZX(3(?5M10X,-\%:/"!GXUGEN8! MG83HH:U8!T$Q"*P\Q>SB*68+ED66P,+2JU/D\C4,H%=B>9;(%#@:0;\H8+]H MH%%4\&#_H)SR91X5M-XDI8S[*SW!OL..U!%JQ:L#^A" +F5IM0$Z+F.$V2@. M7 UF!84>LL,R9+DSZB,H6PT.5Z/6180>UK<59]ZZG#L?T6\^Z19R8HGQ+!Q&QQG5%,#8"]Y>D1[Y7D#,2R8"3-8CS:R=:VM#AX3[9V MJ;R:.3G*T==:&J4VV4R?+3",!R7%([V=KXD:V5%JA(R K5,JV&Q33U&8]J6,=W0>^I'](;:P3*NYC5& MW_&@( 89'59_FGC[!329U;M>9J5J8O%-5:3+4K61D4]9G=&ZGL^Z[BCWXK%) M[O+436ZW+;[)LMX_@V7)NJAQ,*[-:%C;,JSS@%-X?Q9Q3GW[Z8X37[C]A[]F ML4V&]%,O0U+E6[:J@!5N:C :3[O,$X-/*)A^'T%['G'$I1TN)W88$1=FF-<\ MP&^/D1LJ(A>OWB*1PT+J& !G+*,)67U6$?[$@N1,=,T#2TY PL@KTK;-LU!&C+>#L?S88"^H#W%5T(A\EQOV#:_/ M-[OEO K#8N+#"%*7?=Q+6+RXA[B&\C%+03>);LNN!75:$6RLV?'%6S2A%.O0 MRIN :S@V.J/0Z07A)PY!R#&+(Y*%:/]I6@![3MJ<-99^4 MY<@(1YSG- +?!WB9R2FNB-1J>]@KV9M K_CND![TN!3+BXL9$>^4C"/_J0M4 M-9#K$34]E8J![SA!9P2P X#X>5OJ"]D*_>>BVC$W@5O>G:T!-UO&^$6H7EC+ M1[,U5N;D@7"G1<>M96W"V3"[+GD>R"(L(LL88>X$\PT5(6>VO+ 37GZ!>K6% MNU%$$^SE;?,:V#_3# MV.3CA_@,FA;PT/*)1\6:V)MR997!%>TM@WM @$VPL;O[T]W#Z8XE[!7UR&5@ M2VDQCZACPC]V-]Q[4&Q25WT5BIH[BC7GTR5^N:.Z%D4VE_,[$[? M=ZR($_()VL4$/S/H1Q[ES#:K2Y;S<\RXS>ITJ\JVZB$MF_DBQ._GF%5"LN"O MW80/JW&(U6AC)EEY[^0O)S2N0,* );_+E5E;WH*(N62/Q"Z:EFCL&DDELYQ+ M0M9Q]Z!N*%)9I8X";L475=X *CR=_'EU>2L+;%?MM/#^M<8GWZ#2@H?M*YPP MQ96%7[TKBH9(W3BW FO[80P53#.I M$!?BF@?WS$''A5-3'$#^V84Y'I.PH>R8^2%=4GX14@]G5*"6:"Y"%D:HE%]Y M$*U32B#9L0B\Q1#(AYT%<7'(\%G\C=0/.R&/<(B3Q#"TL,"YDP4Y$9//V'V82=.+:AJ;NQN0TUKS\#VR#(X"WQ8K'#<9KNG;B#O MJ)(UN[P\NZ)HNYFFM^")]0##( P_QT[@$>9_7W3_6*'S)2Y5P)UP3OREI"BU MTX#VQ;7OQ)&A-@'=*+GYJM0N#I)L+TS*^J8N-&E+6M?- M![8_4EB:VG&2'J!PXL&XR/[*[GB?N*X:]604Z8X^AJ?PY.N.4LV69!5:E;. M,*$SUII.*5L8@V,W&X^5);NN?/OB+%K5<@9LDK2V'66*%]<6N9%W"FM2)YM- MD?&3IT\;$O4!>;G?&^_XBS\H6ZY@L78"#HDLH0MCD\ M);LZ$7'QB&#%W.*; ME_S2IBG*Z\E&EIVA>MQK&O*,LX[-Q2S"YFR=^J5,0^I).B#AA,,_M:$XO MG@\33'& A<>TU*.++[YS1RX-2ZJ&E9XM?MXQYI.W=H,G2F$@_0Q=1OW*Y"F5T#7F>''^NZ*37<(#K)30]\4, MV4OSC##[D\M,\%+2^U?D')7'W#9,+ZWWGCC_BD2 M_<:I^IO)7MSHFG<:>^_I_IZUI=E5(2X9Y^&%$!'VI;- A*7&FY/_F/JX\/^? M$G[W$!@J)$L_<(]HUM(5I[2=;A3':]#.>1#Q5LI1##^V;@PU,GP]X Q!+0,^ M,D[M,."8\?KI$891<(CQJ"GR0VQ+GJ$.N#7-_$P?VFBE@GRH"FGH#'%DRI&; MA_'N$KH+PYY4RSS\_B7#?B$]6<*@DMV123KAZV+/,[C6GI]EGO^6.\G*[ A;)[NCER6W]G MZR;P?T<>,X:R7:G?QZJ^35 CF2*JD^%F.+\Y@_K.4 MDT4TE9G_D8EU$"\X8+$A)]&IIKIP#EQ;G=-7Y#^_4QD2NHX7%F1)X:]L5.#9 MI#_C&F?3B[ M@8ZDG;L,SC,QLQWJ*I/=XTO&[E;$5YEFFWXT6V2R#&;S?U$;=Y!Q6T3@W1.] M>^]6JS*,KJY,$;,2DGFM'")@$ %EI3V\D6SH';NJA4G_?(I;>>'?,8\N.&@D MAWT2P[B%?\6"42>?3PU>\<*_#QBNM'3Z?);2!C[*?W))],!"E<\K+EV[D%12 M_WZH"_XDP RN:PX+=)2:@=;!2YH6#%NFKH%186><[66&$Y@I>[A2E:* M >O S:2BHUWX#O7B:S"R.JA65@L^C:9:G^[YUDY0S=-FBYI&8C[EBG%YGO ) MK243N-N>N*%/-9D0#MU#97M.9D"[@ F^OV3I MT%94A:X#MA.CZX_49AYQ7\0BX0J'9+P2B%]%;LC.B$#P$^%XX OC&HPNSGG@*2>11!X7:FER1<-5X(AB/G@O&4,U MJ7\5=6ZISP(N+_:[(F$D8SS^5(0S.PR@M0?[!X=YW?45,E3E?02Q M]P0#+6=D?RR)OY<08!4J5;Q-WY!Q'-J1B1;AIDCP5#)%V9 M!Z.=9-D%L^4;>?]I]:JL_'JHKD.':')%6.5+HT[2*$%C&&TO&/L6\\#,5"/^ MR*SZA&V:K4ZK$TQ[\ \HI[2TYHS7F/DNU$0TU(Y4 7'RG>-D39Y^9Z*0S]"- M=:!I#9K&YC[*D?\8!\Q<*\+/'64,?>E4^AQK>O5WR?&8D0[(QVQ2]0L)B\66 M-F7ZMV4?D([*1^,KSC. (1 7D^CBX%;X5/1*O:4,U$&9M+MP$+\=R\!32(P; MFSV.WY;IE>@H>RB_)<]KT1"[;VU$BN<'T! .U_C%#ME:6"1T]>,]Y0S8D^=: M;N;)S5E^- LS]>1MF%Z)CHJ>O 7/:]%0P9.WX'D%&FJCF1]#(TTC>9M1?_@: M28X)"W6B[,1W*J(>.FH4I8I]5 #NR8>.7.KT68BW<:EUPD8N%(0Z@6LLZZL-+,J<_ ?72Y4%M>09N(9RR\;B MDJ+NY8 6!X97\YW<$R;;! //+7'I+1ZRBX?L'A?^F4L=N!7)SJ(6G'%2M4JW M5_KJ!I%S7WY":7K.J?(8V@-A?S, MQUP!:ES*9$-TY'UU&LOF1W3F M?DU:ZZ2L5Z&C+[ZCMHKP,B<\T1\O@%MH3"-BX/HKQ!,+X:/,]D>BK38, X^] M?/$YC:\,_15L0TZ.\M_=3D]NBF0S4LS\*\*_4GD^8C-U2I2W58E#3S: .2>7 M&R,T_O^%7[T$SNBO'^<,/X[<2/Y41*,9E:=_6HB&FJ* +A>*/42EB9. M\9(BO(W #9:_Q1\HQ35*026=6(>J*(SKXG]X+^P]- @\!OB4*I=1%1%NS3G0 M,&8,?P;WC66HV D^3)?*IM1#]S"9L)'*_"@:B9YDH-:01,;N G5&.,GMD[=\ M)L?8+OR3Q0)&$Q)F9H+II+&7B*$/W093YC0,V6*:G>49^+RZ36L+5[1U8WU% M^OH<^'9WE>6X!ZZU^&N9Z1Q8)J7!^M2-'/A5>NEYD:^N$,U]J;6WE($/@XFW MGOG%143FJQ&;)8@9\8!T\LOD43C'0C[Y^W\ 4$L#!!0 ( -QQ!4^G#D.E M7!H .[! 0 5 =VEF:2TR,#$Y,#8S,%]C86PN>&UL[5U;;^,ZDGY?8/^# M-O-R%MAT?,G%;IR>03K=Z0V0M(TD/3O[=*!(=,(]LN31)9?Y]4O2DBW9XE62 M2_O<\]ZQ6$$0S\+T?]3[TC"_A.X$+_^4&3C('?FPY(;!CX%IO,'ZQ'H/%PO:M.Q"& MT/.LKR%TGX%EC3\-/EWTSWJ?!N/Q:&P='Z>4OMH1JAGX%B$Y^-1?_7*54@W\ MS];H9' RZ/7'UOCSH/^YU[>F=ZMR=ZB3,\@KZ$'_S\_X?T^H00N!]://[Q'\ M_U3_YQ=_O@O("Y?0S]*+9]!QQ9J/SGB'QY M&SAV3#B5J_[^%'H9@>')JBUJ"?SI."MVC+\Z[@^.A_U/[Y%[E'81_RS02%8< M_PH9Y7-8EN6WZ*<\Z(_'XQ/RZQ'BGF7]'@8>N 1_.4A1F+$>G(5^"[PD;C1'U'@01>+]ZOMX0X] MO 01T<6;N;7_4VA2T\!4L+@DQ/,3_#/)U($"4XA#IXT"W3U:S29318@)/I3 M"V(:92.A7P7S10A>4!GX"F[0##,'MT%4.Q^HS9C)%#MZN?:"M_K9L":\0^#? M8.1X092$X-+Y9P(C2!1R&@(/SJ%OAQ_3)'1>4%O3$#K@TO/2V33Z!F(;>H)< MJ-Z*%I9@D5SZ+O[G.^KVJ^UA4:%O[NSP3]2S)P\\ "<)$1R@RA"U-K2P8QH& M:,J*/U#G<%<76'$543-):5)_)TR ^_U]@4E)(P!8S*C$ E8Q H1WI(T^EH M@;6RK._0*$"?*^S2F*2DP3F(*8E'K+A;]%L*"#=9HPLQQSCP'@-4PUU]"V/< M5*_7[_6L8VM%%_V](FWE:5LI<4O:04D (\A>X!2Z1/P:05@49DJ.D)K9T1.A MET3'S[:]( [R$^#%4?8-$?MQKY\ZG_^2?OW'913E.("F0>"1PX#"CR?:.G:5 MA"'B-;-_:9D_SH<7B)L7%^=G%_WA>'@Q.LWU/*=%EV$1A!TZ&7WTYY9B%665 MECB)DOF<4#N&2!VR^K,PF&^S+VTLD.EX$*+EZ8_*)#+!2_4YSMT:0SA[3(.BU0LQNR5@6:BOS4/)$OSUNFR*"- M\X17S9SVV2%+//ILZ/U]!'6&_A*\"'<+;_C ^?EACI M,R2[4@'_*?IC?&:LS!20I)(\,TV2N87Z9^ [3'.FM&R;Y"8.(!77N6GBRAUW MH+7Y(0Z3;L#8?]WF!XJAT?'XIYJJ?$ MYVT]Y6$TU5>2ZS=[8[1=T&A9EG:.*386*E.EEVW8T[,9,?]%L;#14F3UD>Z^ M$ !HL$!Q*)WPJ*26[Y98)3":NK>]"OPXM)WX?V#\=#?T8 M$#U] .$K=$"T5%L,@2U;53(=D':MT%/Y7Q@]ZIFV"-?[)EC;:,VHPVCC0#75 M9,_;*UQ9EQ M%Z2N!K)AF[T&ZXTJW0J4VBSONF$W;+_7,_*_@1E $-QETH5'^SW'+_JQ-Z=6 MF[6@"D01BUW;@7B^_T*GXJ45NB!:272I5$>F277[*!;IJI?@'%!3?%L:R2". M0_B4D P2CP&&B3Z\IQ=-*=H0#W$B_P<(H'TS=&6*J?9#;+'U,V><&!& M*5,-4X,&Y2>B+"S!&W?DBDRBY5)(<+ N!964;(/H!<4HBLY4.5X%\WG@^FZ<-F5*=J@W/A7]@+&MI?#1 N!X%;LD(@5P9IZ,GZ/KUK[ MP/UNASY:>*)+QTGF6!C 11L4Z$":_<:O6.3#Z=GP;-!6H2N"-342/==]LE6A M9$=$N]#)#&U,Z9%/,E0ZI YU(&_%D?L=]$D'.'NYS6)%P&>(C4/C1-V@.2[$ M#G$KX/>3C:P6#::ZH.:.S0F)FO-B()KS8MV*%."WE\<9-2U;G1;9&VF?5-<)K!!Z?VT,_0:-T/1"^@ED0 M@I5G&$2;4PI)Y)BGLIS4[D#\$J!?7E$1,KXH*K##'IBG8QP5VM8YW=PR=;^_ M.K?D3HLE)SO,14AU"QF'FJ(2J(,H^0 #:N_(XU M"? ;#($3K]!C)T?BPS1O.H%&.[_E5BPR GT8C30+64A4)>>X:E#K'[.4B(VM M_J$>?7]/-S^LSI?)MP:*K1=\4SR0R]JDS5\8 <3;%Y(0^Q5X 4ESDG*.ZBID MU&F].JBC--4G_ "(UV/U/@3ZFRU@>H7.2%<2HJF>WQ_ 1Y.2AV!?,TP#POCASS M3(T.6?$K[?Q7M%;.J-$!E-+FJ8NB,U@,&5>6NOPZA6.6"D&\TG2*;+I 3-:= M9)![XE0/1B%5*%D7=!W^TA_,%#D)'JJ=!!<:M9:M6K_A=O_3[*/A$FYQ@F<8 M-581XN>GX_.S#VJ0H'I,C.A,5Q#[4%,O B..\1MM%^.PO4ZDX'X^A M[4>V0YCHN^13*F;W_Y+EUI"S^#?3V$$==\Y=N1E-DVJ7/?+]RP^![<%_ ?>' M#7W&;"=6^:!ZE;FEF+A%V_[0CEZNO>!-=$=XIK@C1,U863LF;P!1/S?>[[I' M:A-"!V%*W_@W02LJRD3 _\?#1Y:$!(%>C5]TXI)%G1<&Y!2L0RT=>;^<*&(=F+ MO-CA,\FF@Y>DB8^ZO @BN 14.B,H4NFP-M3)D5;<7'Y X,!7F^Q@Y_B@GF46 ME!?NL#HH *\_ (XR^IFO,.9GL[)!+URYP\*M@1$-9P:G2'[;4X8C<0OKUS0$ MO ; MMVJ'=:@R&U(%&1L7-K>-*,WFF^5R+7W+6UA+1(CMI=XH,R9S5?5:H$H;;^=) MSRUIO;U4$!$>9+K0_(W;[?Z59WBG&"H2U3LL[%I8D>' QF^S6 M^+F/_E8EVV'E:I1%F=(9YU3=1LM\,TA8K9A4]E*+Y#F2*8UQ-X8IW%I>@ZIP MX%Y"H,"8LYX!66*-/7 7Y9ZI!WS(4",Q/H_!I8,X%@(!+XY47?-TJ:(D2X[I ME?E@;+XAQ!P' )=F$E&%M%9A4I@'W2E&C.X404:[[V6,6IU*JYJS)00,$]+C#5F1+EG M:K!*?F;-GNJ\A3[ 8=(A<*F7Y+GUS-.ABA)DKTKB/&A%FM][L$BGTN+[&<2 !6+R+%"=KGPQK^V\?@2X[&2P KD. M*T0CK.&&.QZ;,%MDJ.\!>8SH,7BTW_&9 W[I!B&[#D*I.%A5094^G,3UG)55*C( OWA\WE7=D&" 4 RD#@U8.F\FL[Q#9^)7 MF14XR+?\&N3GEAFA=/> ML#>PCJUU8^A#OCWT,=>DE;6)X3O LM>M6K^E[1J>:R\S[- J^X0PX;[? R=X M]G' ^HV+5 C9@_;JVF-J#KH_@L!]@QY.[IT/[HG0. ,N6A(HTTYCK>F8W!7! M[(9EM%:* WQHP&M #6M@?G[=!2];D9^K3D8LLS_%RY+KNP@TRV,737=&R:4T MKUE]E^)U*TZ4&N-.>L%"YOJ*EKXS%=/W MM7<C&\X28Y[NITMF_@>ARYL[[<-A3)C"=$V' MSXT#QQ?ELI?7,E.1<[=5=Y_V?5"8*P3) _=.KB)9@H/T+3HMJ\A&'_9]P)C# M=*&@@4X-D+7QF?N-3":[.'F@-EZ4SJD!-YK;/R0DN=V.%%)U,FB=S747F^Q< M:YW1=MW';SR>ML*3FC&1HH/9SWNM-$PF&/',QSI8) W&V0C!6;UR7[P0+!>7 M$>#8>KS!G>!#SZ6P_(Z\5V.;@G6ZH @51": MFL6@;-9-=XLT^;)J:,G<_XIF:]P?'!)O%Y>/IU@4EB05<]180I*%+/TUX%4, M86G*M,C.3_-'IW(6Q/FV!9$1)08#R,BVQ4B@'BG3@RE95?[(/>TZZFE\*)K: MR1\A\TDE1J6BAI\-1[V!YA$M+8GM4:X V51KY-)QDGE"[D+E7QE"?WN B*68 M,5PV:J8N\IU4HT:9(Y1#H>GK$KP3)+EUY&)['4F;L$#:!EE/ MR*Y:V;:)?W-C)?4_HA5,F<,<_F\?FI'"50K(O'Q:ZUQF)!'D].H M![8M3Z_0,LDJ I)S[-:5A#P]2B0W4RE.>CUC6R%3.XQ] M$"*S^BT(_^0;(*7E6R8F-3SU/^U6ZV##SQ&#*")]N@:"(XY2J67RK !*[@FW MNL;>?P>>^V0[?V(3";KI'7VQ?8!@U99)L#(T;JB+"6$!):?K5R15PS."58KZ M@SV*U0FV3#\: LQ]0LT$K5G>+13T78A5:JGT%4#QGS9KW$^'U/(5A#$.:2() M^+)SUTO?O;9A2(Y?Y3QUH^U<)KE&+-(*B2-9-D2\=C/4E/6*VVJ+NRX'"9_N MT=TFQ5(ZABC)N$J\'=AA?&T[X'*.[[M0^DPK;LZPY,@@/RBEP+0B?T 1T2_? M7IX2@-4K\$)B+:E79,D%VL/K3@ H+5]15)(YIK5)>GFA8)G4;IDLF7[(3"G= M4JF*8U'-%+VK!74KWW4NE6EZ.B:[O@Y%UE?(9==$M+:G%]U%X;AOW(YN5TJ>W:>X/7CWS!C5#.@4?B!*R5JS+16BK1*2L M)P%853HB8@%0K;@S40+^^WN:XS*/6'Q**JW>6JE7 FC:?8J-%3S?_QR^;.;" M64TWUWC9%?U49$7/]R-;O?_+48MK9]M9I8Y MDL7JU>+N%FGJ'LQMB&07XADM0AKVO\#>O,!:C9@Y(U]:;BL7>;W@&U[U*V@# M[O(U?%56W*Q^$?8(P3[MI,R9>.66_[K.N(2['23*XSRKOU=BIN&56^-W+>9' M1*72<"8$]DG0=,!RF<1V+NFWH)*!LZD)%A]7R0N,"EIL"2%>LTR,80)%(&/AQ?C<7?E M3 6LSY@4Z3=K:RA:?Y_D3,6KSY(4ZC9C:RA:?Z_$3,.K:$PVYOXE;U-?VPX) MT)/SY(Y+\N40D+]V:WD;+PTE(YF+BL1,FP$"DII M?4^@-LQR%G)=-]PX_;_Q&>:Q:-UNBY@-L^'#U4I2I1G$XK7W0K(U6<$[E2W- M-A*N7 !\WM.8#*@YR5)Q-OP60R7!4O8VPI7W0K TG'*6KJ90E]O ?WX$X9P1 M85?);!I"WX$+VZ,J;B5:YN@Q2V[Y$)WZ8+8B'D\> M[O::58G6/F@(9P4S.Z9/ J[(D4U=9#NM-^*(&_;Q:IIDMK>R54AU6E78*!OV M#>M2CY(]<35B^Z B5)R*]G93GN5;8$>2>>_ZO6V/\I*,-D=R>BF+] )O>LJV M@]ME= R_?"\V M0I8XQ1HZA@?:1@YSHWKC0IY$>2+)I6V/5Y4/>X6Y/9KVCY MXH/ 10S!VBT7MBPR17.]V7GRP7D!;N*!R6R]"DQFY#?5+*)H-MW*39#.IL=6 MUIX5S*QUB_@3*6+=MB^G:%XG5BE'INDZ^HWZW@"_6BT.1UXSES,T9>$%_@&^ M\Q897GUS!K2L;%:NQ\IP]<3 \;I=0<#[(UL!L9KM:Q$!R'#1BE9OMRK4@K85 MC]@+(:3[8T6K%QDT&(YZO:ZJ PUM*]YU%T'(:0,%K$C66+-U0>9D1I[0'FB(.&ZY;+2Z#O5 % $P69!$F_ZS[-97M#IB MT/FXA_@S')^>#<\&H[-13?LET1[P=L[7H!,' M=1!D1BOVWC) 66%2DF0ZJSVU,J05VW4II(PP*DDR188-]UR#: QIQ0Y?!BDS M"$*6SD&'A#C2"J> %%1ZH)4#00$* M5[8WT!6D8/V&6K<&AV %S6!^^5F>3OPPKH.&"/,A!BD:YLTHM7DJI2"WXOG5 M4I@R6M!A:;.DV@T_2T6[U$!PDA.;$JVB7IP:D!I;5M["]I$4"UHQX5& 4O2# M4KI;&B #LOWQN<@ '>HU?X=M-']E; *#3!GVZW^L*N:-<:9Q.M:79,R!UDKK-=:EFBCNLYY@Y19R3P-Y!KVD*0]Q7NU6Z_HE5J9 MRXY8\V5/+(^8F=E59"O!G;%\)$IGW9UEH=9<$KNR%S"VO27Z M\SED]#$*%_ MR5O D]E/$&_\3AEVU0F3PX;!:# :]2KJ"LL3G1'96[\Q[< 'YBJ3[\%*@?% MX3&C%=LX4: X$J@.[5G1.>@/GQVM"/84A(KC$6M0H!69@_YPN=&*2$]1I/"U MCOEG1>:@/EQNM"+&4PCIXPL(@8VOZ531GC65@_+PF-&* $\^T"P+UHV/WZ8& M[HU?V8=!)]E&K=K9GEZ2;5S;^]@$!2RZ8F4=18*UC7&*"?97YAA&;D]_CG1C M8)2C7DYH/%^^$C=:X>$0Q,DW$^4)'51(B".M<':(8^5L5N4)'=1(B".M\'@( M8^5ZS10H'11)C"6M<'Z(@V7[[J7I'+1(A"&M\( (0N7Z0*3I''1(A"&*GI"F M F=^!C&(4.]QX(E\39%;AC70;*HO1<:W4_J4ETEZVF"%WK2.$GQ M@?'ZJ0J=/54)#@/TO)$JWWW:>ZEJE/9<%Z@L4-RQ[G!]ET@E(+[&-YTC8,_6 M>L$;L57)[=L@EN*#W/I^NCOEH%VND:Z_;^)G S?L2D/YS.V(7H.5G+J=!B^X M&J#I&@9G^;FE*IFBQHXT.E>49:U#4,2 M!7,';/R9K%I2_K7!]@2.B5JOF*HU7Y-MRT4Q\I9CETG?Q/]__F4 D&>P#%DK=4X=*R$6F?BTYK];9 M9,3G!%XE'4"^)A'TT6;Y*I@_H749L_NE?/P!( M2:2$E1N2-N.>6RU+6#+S2P"9B03PRW^^SH/1,\*Q'X6_?MK]:>?3"(5NY/GA M]-=/:?S9B5W?__2?__$__\>9&;SE&8C%R,G 1YHQ<_F8T> MH\7""4F:#0Z_FGOI\/=;SL_[1T?'QV//G_.6SIU8E(S"D>L MR;V?=E>_G.6M1N'/HZ,O>U_V=G:/1\<_[^W^O+,[NKM9E;LA1$Y\5<' #W_\ M3/]Y(AV."+-A_/-K[/_Z:98DBY^_?'EY>?GI9?^G"$])_9W=+_]U<_W@SM#< M^>R'<>*$+OHT(N5_CMF7UY'K)$Q2A>JO3SA8-K#_9=67L 3]Z_.RV&?ZU>?= MO<_[NS^]QMZGG$3ZLT8GR^+T5R]952@6_O8E^[%8U)/C MXR_LUT]$T*/1+S@*T#V:C-AW/R=O"_3KI]B?+P+:%OMNAM&D3.3$B9]8:T35 MIHZS8"!^04$2TV]HB_%G^M7GG=U<0O\;(6_^:41_^GY_M6IMJR%:X LM^^7B M-4%A[#\%Z"(DBHL9@M=^G,0YCUJ"_F+&Y O134;YSL'^#J/[(2%J35??5K^/)0Q*Y/V91X)%1>?%7ZB=OV^Q22I\B,DBCG]QHGC%; MJX,.!7'NQVX0Q2E&)R[I/?8I'O&C0P"*]3B5MV"%%2)J,HLF5,MNHP159$?4 MBA663M/8#U$M&:9@0PN_( MZ'!]%)/5R(_'DSN,8C)"V 11D>OZ_0$6TQWV0]D9A2CIS(U**4OV(\#Q3A 0[ M;E)U=FJ\>^L+:$5!<)NPS@R9&0-_[H<$HKL4NS/2%YD&7'02!+D)W@2_)KU8 M%\F)FZ1.0 ;S'8XNZ1B^1W%*#.7OH9-Z/K'P&A"(?A^VC"PVZD[B&"4Q(7/Y MQ;7O//D!X0%550NCI@$S/W$(7JW*H-R#%5$0[5P0,_F-D$C]EP5=Y2KR+&T* MA"=1'4Q^,R"8.G,P?B.D$[%?.C[^W0E2U!"CTJ9!,'^.GI*K.$YIF.4LBME0 MNPH31+R!Y.)U05WWQD#7[PF$:$[F$?GK;[;VK@A\2F@%:IH1\K=8:DA4=7JV M(SJ,R))\Z;AT9GZK*@5^(U88ND:DQ:IP;E2VR -'WMI@,:3RS0AW][XH3]/ MY^S'.^>-+C#$GO(0OHW",ZI+04"C/ UPWTS/5D2WFJEO"#'D[QHKNK0I,,Q= M$\\RV*>.94C'7IU@@''SEF;Z^=Q/F [FEB7A!X74R[Y&"5F2J%?-9J/*$[IQ M!] $,4YFA,P;AU';O!CXS=N)_M MB"LR!1'RGM%=X!!GG/Y3-9JC:@X*DP0= M:EJ4K8RF6)8U#D4 [*OQ@I)X\N)@KT'$Q4U#8?Z>F-W8=]EN'/GQ>^@G30M! MW8458=RBA- 9S=%U%,=W"#_,'(Q.$D+J4YI0(^0QHA-7%!;W)BM*I5Y?QN)A M$G"PNQ13_K%([ZH%/TR^>/[\2U[FBQ,$GY1R%9"RW-BG&03?F+A9:PU013[3 M#?,H_.Q%<\$*.RF3^CS2A -TLMM MO5E]R*)_[2C$LNV<8O*WG^VY7)-V\]8I/;5S/@JT(UK.0][J6S^A':RKCPKU M1^=,(48W3"&JS!5JGII/[%!SN[/S=6=G]'FT:HE\7G4U*O95*!)-1L7N_L_( M.).$B82J9N26J&1[+Q'F*I1&TA#]9C-G*/_ZSQ7Y++%BV0/Q@E' LMVXA;[8 M)#23*K7LHI#9]*]^K**;7V?%QEH)3W"9(3+@EVWG8[_BE!9AHA._?MI=MC;! MT5PLX)R$2)N5-":$1 $91M"9#M)583#9FJ%<$1L/,> M0/GS8/^0S%&'AP??#G/=H^ZP&FY\G4!%)=% -@53/*;DB&W@1NG7%L ME "!T M3QW4$'D7#@Z)>1A+H1$5[A23_9J8B)@ ,:)ZZ;S-* F,0NJ4FXPFM'Y_!EE MP0?YT-&OWRED7^L.(WV^ *!X&Q&*PH3(@S0]7>Z+2X&35^D4JV\UL9*S @"> ME;U#?&5T13XJ'9]"P9:@8"$V33-MBVRNAY/[0!ORSL(D/U. B--^$;"BOWZ* MLXS>]>]!1%ST7S\E.+7FJ&Z&',@P#U*/)=%B)O92Y)6O=4)@FVD<@BFBJQ;- M<+S ?H1);::E ,9RP>IEX?B8)M*L U%B&[]<&H+]H@>DD 5HR&1[2(RX\Q13 M/4.$0H\E%##*V4G-XM:B;+ :-@3!N#$8F(;<]03J3#^;P%K>$@0WO;JV:RB# MG/WFM&%[HY5^0WS8?Z=QEOGQ& DGC8U\QYEYS_0 \+/OHLR72X<>6*#0Q@#:KO;3G7IH,X2T;XL MH"G=C1\R>I9VYSFB5T+$Z))([]R/,T.5'5X"12@6Z!2]XSKH%:F&)G)17)=2 M>XN([A #20"&7M5NW82=.CCI,:1&\) MK1LB?Q3;&OTC:^V?P'-]5J=AEC>1%)DX?2O\)'59*06/C%:VW>\(K3O,0UM_(N_(0\R21E]\NDBFQ=Q)ZA=M%R&_I M''F,_T?"Y"FA\H?2,&NH%PB[Q-65JB$AM+Y+P9W0Z*U#^55#X\ER?I-J0W,9.V0@W">TMUP@U'V^&& M0GLCUF!/8@[LBI@P)DNOZI 1MZ2-X5@F1!(TX!6$$R^02+XXHGA, )@3RV3= M.G.Y1RDN#L3W%RN5&(PB&^\'DK++^VW_B$:[&R=A-(K(2[^WL[8M=_IH-0H@+J-1S93C6Y!7< M2%2%"X2E[44*% R(QUK/XP %U:-\:7GUBCH0?'0#.!77&M>N")F>(YB%_L+T9:]HFP#2V",D\+R1_[: M7/K(5W_>T_0JCB.]\9M]WUE+MG1T;%#>O$VH+U>N4;_UJV4WF*L%)4&V9UXW M*\JRCW>P?[1S:-]]U14OEWA+$L_OXA7*?.-WFRZF0$&6 MZ@M,T]HL*<)'+[ M-,IW[_AI,[&UO;,]"W?O_ E N4TIX/3IF_FL2%J[B.QP]^][6Z<[*K=AT^LRAK,*A+3.Q@=?*=.S*O6V[,N^97B,7K_L> M.:O.1XN\=U*8$4"++@HDM&^--G5Q"WM#ZHKBY 0GBT60I]-GIWS.L@LS_.<\ M^?X1.Z$Z*[5NHY:/J)&1(#ZA(+OCSK -^S9VLUH@.&ZF(PH @=Q'TL'Z;(GT MGA5^42"[6Y44N0@=G[O^(U0VN ^)P0WH^KQ64.-R# #(-6\/B1-Z] +P[PMZ MA2LI_W7G6'4YE4Y="+M@,GW=N)=*AR4 P%5>)U3[8DTT;&\+K3FQE&^8J[X/YRIR.94UH*P.=>.HBA9AY9D.5ZP.\O# M*:/\WI_.DO'D>XQ81K 7T4="/MX[:"K8!PVMLN4[CS,=8%G@678 M81:-=\[U@BU[M8(M:S)H>;=(2%]"+B7I7:,X?IPYX1^S* C>QB\A\A[2I]CW M?/KLLX/IG0CD2QS/_,5JUY^I&\6!W95 #W/+HC$M]M?5_L2*),'&Y<;O< (K MK6.]W/?8D("E?:05%=QL5&X) )NA7.W:$FQ[V;_MB+;L_!_!R.TU%3>7B5:R M>&=DU9E&9_36HA33I^F>41"Q![=_PU&ZN+X^DV3LZE>VO74J4*-U0JX^*ZWL MK3(KA=X214T/!Q./QE\X;H3BZ\1SQ CHU;/I NH(7X\+ $9^&\N:*D34="',C[[K(?VFH\WFQY!SE MQ- WQ7-R8J&;)"D+P!>5:=*&Z'D<]%G^95_O&,;^?&U,N%RUX3JM[M^E=ZF0 MI29T'MYBLA:+G295#=N^JE*K5HZ3BI/6#T#=T!@^M1OP#5$F_]*9^\&;6/+2 MXK:]5'VQ2]EH7>;45D6Q$R#J*1-3\@1C:H=26T@L>8U*-K<2S>2OP0R 8 %[ M*4_^6&.YB,V]/VT ^*2W\W(&.]P9$[.?4,1N]17KMZ2PS7E[M*"G9\/IVBT?3RZ(ZYV\Q=EOE,V\ M<'SR1,P/QQ4^%%>O30C!HBH*4I-M:(DMRY,SVS0+8)=5@)">VHBJEYYUD# , M#G#)6?TF1+"$GU&Z2R-DVB.\,5K_JXAS;(B__/$[P94:@G"F&X<_TJ2 M@!WHS5DJ/';TB/ \2X%B#!K>8;"WM#_!0R$+[4<-UU$SDQB65K4>11%UV&D=BW,G-L% M6KP_$40I&T,$M\T HKT(;L_OB3(+40S71;WWZZ*&RXL:EJ?S*I=G^7?;AH9, MGF5* 82=AKT#D'L' OLD)^L.899*%[IH_!3X&=%WSAN[!)F&7GAFBGY="+% M$Q -V6O=BI21(GX;4K, L!5R5>G+(0 M3@]7A83#CM4AM-S5X?YH//6I6K.9I-#*8%(Q#.']9;,]C/WM^_+*#S#W8^MA M>(%Y>(%Y>(%Y>(%Y>*?7]CN][S,>66>&&F*40XQRB%$.,4HKIL?O3I#F3[>Z ML]#_*^5-NZK"%N9A06BD"4M1Q"5(M*3VH;@X$+-0KGUR4 ]T-D0+*73@T?? M8)R); XJ+GOM!+@"'TUH9NI]].8$R=L-2F:1)[;G%14@&/4J%2N$IZ2\M!Y= MO'BE+TI<.#CTPVF\1T(604@!IY*#U7@ #+R&H2G: GM[>SO'^T!N*VQ6QBF3I ;.+]'-!^!WI15[6:(ZK)0N#S V[<%DC2X)/HOF3W[(7$EZUZ;O ML7+? M3G"(ON_B$7L'_Y+@_M-?C:NUU"N)! M@VMP-79MH/LO%'BGFZ0\SGSLT1.W;_1KSA5.M5OK%-G#=I#59M8*KCP5N_1? MD2<^+U*IF4Z1/&H)2267G4%86,VO0@_-L_N.BD2J\=-OHU/PCMMQFBE7]5W;[F- M=JL?#87 ZC+=#\V0.G2;,=OF?.+MEKO5D9H1L48YM[+X>Z1_\AN-W5Z%B1-. M??*)O6D<*U!OILENX:X9!&N&Y7[,B=$=IMJBX=A/\QY:./!<4GE2-;B9^1M6H&G M;S?.OR-\%CB$6_$,9]3"^SAC78EUV&"OJ;UUYO)YT;@5(+-D!577!)O/]D<% MO)RL?00K'[U;)>"* H!>C*F,QCB_;)@00C?K@F@J3:U558*P.E=4^"+$*C9; M.0PGTAGA!R>09-Y6:@9"-E\-V*HS#BVFM7SLYAYE%R?2]\WY1UFU M:D#(U&M@.$IY;&,LYM>IJU%0EH:0.E=W9,GX@S: V*[6W(^I/;!\$65*_#+A MHP F%2%DS34PG'18;6-4W=)@\7R!$@4DJL(0\M[JCBD)>P!&T7!R!/3)D69 M_BV*O!<_")9[#^OGZTZ\?Y,55_8XI69="':EJ0)HL@9MX3-(]U"\-UNI)0B6 M9HL9,G#?E7T?1P04DW<%I1Y.#D Y.:"8ERMB"^I P7#*J^$IO.: K\1_/]3A MO9SK5"0DM:( /3[NF3_K\3=Q-PM)>YG#N9SLEI8KO=9MG=%+RJ1SY-VBQ-SN M:[972/I5PT9L5BCO1/>XC)[15/(PR4J25I#_3&NJ0@CM=@W4KFUC@#>@R(;" M_3#:?(?1PO&]B]<%"F-$RH^3&<+9;UVKMYP6H+9^;_5=+NWW/ #N<+1 .'F[ M"QPBC-"[(&47\^W#>1WW#=1OZ9."2Z3[GA6:C=S;*#ORMAS?'2BSH%](]G%/ M%5D@V?>LQ/GB5/PAV[&([YPWR4F+CFF L'?><^76D+*-LYC-\H-3M+2MXJ5Q M52@ABX7;HPE"1D*'R@U$ZA]K5C]'6;PRO\/7RJR^10.DBXK>S:R^)>7WK.AK M8ZWP&QOK'6BXK'-(-S?U5+5EXGW7.HVZ"(FP7B!=4=57+47O/,RQ3E#M(KA1 MZ@W4S5H]U<^20*'IZ5)(BCQ18'=H=:@):PE @ZXE872;70#LXBWX4XQ:H-#T M=$FYY,C%'\B?SA(R?SXC[$S1]QA-TN#:GXB\Y'I-@KK[JT.-JR[W!T&>&YLPY$3>H3_:#2A?8YPUNGH M'^FRVW\.MSP-MSP93A?#+4_#+4^;*CG<\C3<\C2%TQ0/.^]%AT3LL0DO@K=:(ZNQ4?2#>H#M14:1'F#81OGT[FDG"0) M]I_2A)K)C]&=@Q5O\U1K#^A:K8EO P*PB??2G+A#^&%&Z!$LNM6; ;KL-H2N MF.\>3-@B)DZ=V'?-K2Y!,S87Z;K:KVF+"3COL0J<^T&:*)_8,FG(YBIN20U6 MO-O:#:/78% ^\EW!T%M^4V/:7N_PN6'?4FUVO MA'C.--(GW=/:*-3 <(YQ4B"2_+5)(/GJS_R2XC%>7N6XO44E+@9H;XHK8SK, MQ-0W/X&:2)R.GIR4M)I3L;HN=QT(9A2B:2S""FV7!DR@F=A[>8 M:(9X%TE5PZ:UH:4N*ZM2Q4GK7L$?,\)9[ 0HO_+W!&,GG"IN:M6H9'.E-X- M@QD 9EL> [I'E >RU!/S@ODLH8O&3X$_S<+"KPOD$E5ZI(^,3<>3!_)M/''8 M??9DML4)BP>+$QJ:[@30NR_"M:8MWBVM5/=4=P4&0>$W"\@(@BYR*Z! LDV! M2T% K:R^L0DUW*YMB8(_J:J['TDO_PD]GRA0OFEJNOZM.K"F&71 ]2/7Z@ M!<]D5%< #L;FI8E6ZD+8@>"G,A MIRZ$+<7JDR&'H5YA6 4[N/.A4#6U8;0T(Z[ZSR:"JY"XKFB"G3GB.KB90^NO M;J(H'# *GR/?)5ZO[L3:1L]0YV>I>G0JH=:5+.\\9F^#(>\QXFPGR?('S.I# M2!R0S^$5F.K5/+ZE;%4F=DXCUC,"JBBR]FS/8;@/J,OGG:OP#J-G/TKIYK8? MF6B":50@W1NI9['K\ 50OL=19V\(A@%O MHJ?&6T ]156VI@@. MZ5Y#NM>0[M7=C#RD>]64])#N-:1[#>E>0[K7D.XUI'L-Z5Y#NM>0[C6D>PWI M7D.ZUY#NU:-Y?$CW&M*]AG2O(=UK2/<:TKV&=*\AW6M(]QK2O89TKYZG>]WA M:($P<5=#[^*OU%_0]P?QSX/]0S*?'AX>?#O/]H[[@+7+%W7'K!YE#;_GQG!CB0<28.XMBQ2 SJ _!.:D(HP&7 # ] MB^:+-$%XQ9QB[ E*0]@VJCSL!#RUL9EWF6(B'>*^7?JO]#\T]7D\F?@ND@-@ M6AE"8-<0#U,6 0R>[$61=0";]D0E+?;NI#4 7=9:PZN3L@@7-*D+H*@#Q(/3 M4$<-H #Y;(U#!=I/:Q*^YCTSP8*6O[M[XKHBNUU<#()?I:5BJ^6)RT:+8AV3 MN9?1HQ;M=E$(KE E\6ZS F NND'1!LN( M,P#8_89"HE$!(?/$FQ/ITHVEQ']&.NAIUH7@ !GCI\D; 2%9NBUXO253D5[ MI['TV>(_K:ZRSOMZ;DO(UV]8_):IJA*$]; :X"K.H&4X$/LHG:X<3_>_F\-I\] =#--0]AU:VF$LW) )KR"$D5'_F35X&P M-#<\[AL^\-<,<$4]W% _1;*J5DW0(4TIC%KL0493-*MHP"FN"L'[-U!9$:!B M!BU>+?9,E-0G%N!ME)@^+7K$O3]LV>"(M=B7%+-S])1E<\ MW%J'5P!#;+S(TEP\]$H/>UW%<8IP3.VIY"W[5S+WZ5:&LZ&J.1_J,@8<0&5* MI6YE(/.GF;+J @HL0;8#0$N[DGM[^T=[W^!LO[8-,I=Y +B?.4&0<2!/_=HJ M!F'%-%/:4MK7%C\ L"@O$ZJ]#6%I>QL:"@;$YF;_-RQ8$7V"KR=44T"Z,XN7>2;.?4NR.V'?G!V;K1K$H#$#88*H]) M.6NP<2VH8?:1F@+W-#(G.G9M4!_"CD)E5*6<]1#4.^R[J :HR_H0]A>:!77) M6>M75/%H61&PGC-HO@*:^^G\,7J8.?10-/F9%\JIUUZG0!Y4!K(!3J&-5B&J MO *=PG18>[Q!EGN9C7ODH?DBV=8BK3E24KM3Q(X:GB$E?,&&LS"U/Y)>8GJ: MLS@S/"21^X/Q](C]Z53HP-=NM5/XC]M;('7Y[9]:/&+'\\/IN?.F%S)0MM%M MB&>G \Q+[/4/87I&&+DI3=(M<&)L_:K;ZQ;YIJ-)1JS"TP+L/[,\[#-G(;.F M> 6[Q:U^Z(C'0P?^RF:G-T16\W3.L;C'HI>.CW]W@A29ID;MJ5.CR'=Y1^Q:K@GI:O1,^QJ2IH:DJ2%I:DB:&I*F MAJ2I87OX8VT/EYFY=%QT,H]2X0$G;0R+&8'G=!4I_1XZ62H_\JBYIPT5 MMUZO]X"Y',$#;X(PF^,ONV!*?%A.6[MVVKH /:/#H)<3838*IOR$+ M/O%E@\"U$[QR:$66A%;-GFR[&O$$)7;!^(KC=#7.3T)OF9V37]9@&LK8UPEE MT'Y'?M[QR*4]LZB&G_<]0EGG0VQCB&T,L8TAMC'$-H;8QA#;^%BQC2T[Y$GU MM+JT1L\B'%)>H'D '&(O7MT@I9OA&O','=JZ*4"2 %ST% M4C>>9-$ M0C3S$P1(RJM &(*&Z,D9@HT8Y6T96\MWT+5@X]:#$&RLA1V7*V@ $LSF]C-GX2=.('DF M6UP<0L"RXBC<9@9*I+(XF1>86L[H[*;@C5BF:>3RJT[DLDC',DKY?T<>C6=Z M.2TLDNEQ(IQ#,',(9@[!S"&8.00SAV#F$,SL23!3&A)JQ:Z^HW9 MG&4;U78Q^/K" ($Z)>7Q):J*\ZJZS0%K#]D5^W"P)*T(KXPP:,!FF-0RGID MP"!Z&:65I^%U?9L15;MX9OS#@=-_KC4^L_HVHZJ6X63\@X"S*HQV(ZOVX.OJ MHJ52'F@3ODR=%B'L-YIX,G5X!0&OD1]3L3$0?DQ]/3<"WJ87HZ)-X<5H5P?A MQ72,:[<^C!8U,A_&H $0/HP--#OT8'3HD7DP^O5!># 6T.S0?]$B1^*_Z-<' MX;_8 +,[[T5%3E40@7@O'8-G,8$$(\^G1\/]@/1NE@MRS'FKC#4W6K;7EUP. MZK2,)V59R#(Z).6M'"TM$2+)Z^ 5A)/7H42A=("4PPJ K>>-\23+[. 7!9+5 M(58I,0B 7M.I"4/YL9CC_:.]8S@OY52'ALL6 +2* U_Z"@ZO((3<&IFZ%4'A MT0] _O?H.0J>Z8&-$A]2*!1U(* B5JLB)@I& ,#SD.5@44-2"@FG'(1,%ST8 M.,0#$/WO#O:I!4+3\R5VU78Q.&\?&EE5VXP T&ZE/,* K&G1(HD$CX@6ZJ& M^$L&Q_X.,3B.X-A1U2#AL@0 I>LH].A3? G"3T[X8SR9(#+D*=W75Z?C>[E9 MI5<7PIHN5L:2G:7'$ #8[C!16TJ8%*"M4A#6=3THMDAO7N@Q3@H")W]M"IM\ M]>>]$TYY2_C&;Q;6;<&VNM:ZO4&]3=ER%7CK5\O+,5<32H*TK*;YM>Y"86[\ M;G-*%B"_E.8&I;;DZ;S*Y5G^W>:\JI)GF5( :Q=OAKI6'+91U+%WY$:+&5$L M9V-^[NM=0CR6$,&^IBV?1?.XG["9PI+Z( MHT9[$.Y7:614:_(+614TT(5QBTHMP !B$(731X3G=$(Y?5.D@NM6@G!EBCE. M"J8@(Y=3ZZ/X'BV<-SKV8_K.EA^Z_L()=)+!FVL60OA-3ZU%\%?CN\<*:65("3H5ZS+1 6=OL*T'1R MNBW\MY/::[8%PF#O /^&\]F;QU\#5B!F>RVTX('0SVLH#QORJ>I<1%GS\,?V M=<'%PPT;%VINPE&IA4X1.JJ)4"4.H0TN\16UY^SJMSM$"!8--=W*G<)ZW$I\ M6,RH;/T,?[M@=7-27T%+!8@ G,]O"1A[9_"OD1,CLW<8 M=G>VS]YGS?3FR#V*8Y2Q?HYB%_M,U-)#][(:0QJY:,=6+>7(-()M=CJ+3=(INGP;SGD%$Y)JL0,:/"*2,WB\CXV6[1 M>')&J!*%'HVJ@TAST0?2G,'6S7_6?3Y]WJ:4WWL4HA5M!K,FBV R!NI"K(FCS AWES V5)!YR&# MT5NJ!2++I)GQ6N*K#_!QM(\23_0SD8>:3)H!D:32VH1<8!0FXHK91@]O_49 MY*ZT-#,#QKID'OK363*>?(_1"6%*E(@IK0$CO\4<1BE3K?LQDMY/7#>=IP'1 M'>\<+3!R?;;9PO-GJK32+5[U0SN5&84V[ACQ=)-,=7YQNURWF-6/XDA8@89* M>=6FM I@X14$<9A0I%9%('C$=SK'Y6FZLHQ*:7$884R)I-4L0--\V9Q:V.0W MMPG*M:VG4&JHH:9=4&8,,IX;V?$:&&[5L)Y#60.W+68ZG>LXBXB@C/7,1TT9 M"\AO7:I+',53"K"V(11K2J:S+2.QID3S^X63#^WFYX'_'X*2'BH"Q=O+HSFII&V&74C9\"?\K<$NE:6[-! M&-OEJG6V)I/01NL&.UQNRHN-:M:NU:+UU;J105%ZN::..*!I2YG0/Q#E#7DG MS^3;Z3H7B/U(=ZA$]Y.:-P,CR\(X$JK#&C2,B\M2981-&X&1>J&!KRECT-"5 MZB<]J42M&WI50GYW:I41S&T&1NY%W1',90T:QA(=U4?8M!$8V1;U1G!%=-L\ M'EUR^[_3FQ9NH_",\A4$]#1"M=.*^X+3BI]'2S)& MT624$3*:9Y2, EIFM+P>;)128D9A%'YVU^1DA7IS['$M]#P"RN3@$0..FH2R MXX]:-8=CD(*]9@.Y#\K-V8H,D%=*\Y"RJO8.PBIPTKI M%5B=:;JOS^N4S?^X9'4M#:[S5)1I5+D5" E(IGI@S"0T1TF3@?P*LWI0KQJ! MD-1747R6@MZPUHP:%EB#D M!W6J" 7>>ZL*] JW1C2AT!"$%*,N%:' >G_UP']N9D8H- 1A"[Q3/5BSWE,] M>)PAC)Q)(GP5O$([$#8[N]."(N<]58)ZT,/8_>P.<'@P%QW?JAZ_81L03#]3 M?]^0Q5ZB+/?US9J X.E74FUCT,%Z^5K4*WU\XU8@>/C=( _9N]=E0.7;5V@' MVO3>J@( ]NHU65#Y].;-0/#HNU( P-Z\+@<*7]Z\&0B>?&?XP_7BM3A0^O#& MK4#PX+M!'[+WKL5 '.[= -U'>)?'YM:'M13GT.HU"2'%N0-ED(F@?SIR M1U@A__W="5(TGMRB9./WRIJB;AA"RG0'^J(6!&2M*1SSTH\-\2I!\PA,(WX\ MGGH"W&T4NE6P*]:#9M#7@*_(5F=WK- S%=D5;QGA[-!"D< -:$PK0S.Y9?B8 M\F;K",JEXV,V;1?.N)N=*=G;?@&+-CIZIJV.YNMF^W(T9"62#*R3T"N<]L_% MY(W#>T1'&)$K*4"&&U[^>>K$OO0 28/M6SEZMB3_]*V@,Y<8_96BT'WC'$8Q MJ@GGJ$KC>E ZHJ8C"P#++6]^6%%YGI]%D:,MJVGYN$P%G>:"*&/QO8/XY\'^ M(9FR#P\/OAWN??VV?W3XK0ML%RV@6(=K^8H[CDALZH0MKP-%%H% MZS:#D$ \?5M]_)>/,!'6[.T:/:- ;YF55K:PT@KVL;M:::7B@ 1[43^WB3:> ML25MP%N -11>.:;%_'Y$E,M+U<'^T;<#D"MTF\AS90!)&:["19K$C.%=O56: M5P/JXJS4;RZP/ Z!8K9GC-F>%J$6@+172D .\ M[<9X1OBD_[GX*_6?G: TRZY9$&X[:M>'8+MI:WAY#U*;1VCPGCP[/KN^[#+" M#X3N!ZK,3-_/T5.R_DLTL+6K0QC?E<#59Q$-?3$/$&#J[#6 MF*^PNI4A -GZ,JLK#&@:<)K&A*TX/HOF3_3E4T(*?6V>\$S6$_(I]CUV^C12 M/BM1J24(ZZ_9("B"7HEE:!H@9[_2V(>Q]%;'5<4=I,2A+() )JXH= G-3-M, MDXGV-).)Z,VUI+?1_JC@W! M^"$8/P3C50HIYYRQ^CV,GF*$GRG';'R5;<8S)W#3@'V\CX+@,L(O#MY\%;;# M?B%X+-VI<'MRA.;>\A:)/_QDML5>7.8OOM\0:^[ L[8,K* &^@*UUK8]\E56 M5@/R?"\J*N#R 25)MH0HU_P6.@0UC_9!676$^LXU]@X1_KRKT,7T8-XYRO[; MC?**^@:U:]%C/1;)UU8,]2R:S_V$C2NZ?[X,U[M$M-=DR"$1W3/H\",+"@J*FQCWGJ813BA M3TC2??1'TILDH"DH"R=^*4>A]+(,GQ4 "\D69=(HH[ TD'BB5+VD@ *%#8" M23GU_WC_Z-LQG.,/=6'B,@< N6P]62Y?TM@NOR@$1U.A?J5M6BX3$(#8G)E5 M05A9!7L1534;)30$RU'WL4[!E2D;YIT@NTE>%()WJP>+G ]H#B5E84GEI>,R MSR%_G/ TPCAZ(.0ORBS#_R*P)FU.=CC:6TU%,. ,';9G1,7$<$^(-T?#U MG+X*+5VA9-5LCD5C")7< /2'Q\F,T'SC,-)-O>&MG"*5-YSU-IIGW0VN<->$ MG[[=.O2:0:*CJZ]E-PN9--!'I]F$/PC3;(GZ;<=XI4"NA.H-1RY7+=QX>+ZHL?QA-TEN'!\[QX]HS!%#S,'H^6]JUR_ MNUH3$/QQ#1U=N1O&#((;@X.O#L-79\9@;GG*''5^N9YYZ7PFP/EQ&Q,!>CD+ M''\>7_H!\FY36;!1IZ9UAURF=3>\ M(G \7FPYX0])Y/ZX"ETRJ_K/Z"YPPIC]8^9T?]O>@F8-C_QERZ,%;95\SUKO MBX_]X,Z0EP;$5F1&Q"F]!OHLFB^(">IDZH8=@BFS+$[?UF5R:^.$9CK(W/(& MV[)X+S,-8!)>$B3U\#8+ 7'$>4K&$S8@[[J" MN,O>Y.[^T<$.'!_:# (N*VTXQK1;\BW_ CUN"0AN+5\Y5B;Y)LD U#F;[.0Y M2QMEX-PVV^I$O\$U *RJ,[GF)?2T)K!VN@*RZG!UOIRATP;W@P;5[0KT0FI% MJSI;CR_FBR!Z0R@['(;ROY@C.&8]B1=J[:H05O V1\C*#M"6"( IXQ[%"?;= M!'F,ON\$E_C^X;LT#U!1!T(@M6V<-44! &"E)$2"4&UI--&PO:V/YL126@.: MLUC[>MJ[LF"SJ3$N9#E)]P=:Z*<7$U6- V*RJS2);HC$MZ)6KR=A62 M&3UE([1U533J&L+90F#::20_0-LT138O7NE'9+IILY4I*=JT*?8U0EEG_=O# M69K4#P@_^RX2:$S :&&9)/28Z33T_R8*P\Z2GD5Q(DVS;*DO&U,A4;9H3O3. M2;++_G)")2% :0V(.S\MZ$-Q1I+* \!B)Z!/&K%1U $2O-/070V@&HG)"4(E MMRAYB3#QY/-;6B6Y>\*B$$(A6CJTBFD(60$P&H@3CH@(Z-7VY_0VMFA!&T!!D%U*=>/@'XCFV>@ IZX&P5PV1DW-%@#(?D,A MF00"0N2)-R>BI "#8C/6D"A VWHN]:&%+ N.' M#ANU;?L:1LSY0QZ?_7Q,B3(:-"M#6-D[4"U=<4 +Z34CFC-GX2=.0+^5GAUN MK3<(ED@'6M::_ %[@I[N"P :9QKO:\;MLN^SQ@=.:RO_D7MALSKWJ;DV(9#DK2J7:C#) YDJ-? M'$$#RC8V%G4YF_7K_M&W(SCYO2;BYS(" !'!^&8#F(QQ,@^,0T5=VR+F%I6_LGWSX94&XW:8U MC]L%A%D'6"XC5T[0(O*,]"(=]%U%13[JR][0) MZ52?O_74%M26Y@=5;;OZ_.YL2L-9Q(+2]U#3A>'7#9-IM5"UH? -$_'.K-\V M];YAR;\[]>=8:C8&@#$9[\P>MSD$C&7?W" 0I+O5%>P&^?>(@DJ?'HM"=N=V MZ@3TW4;9=?V=D]"I0A]T89#;D2/(&;K*!HERDA#)8D\V27=-B?7'$BS-)8WL MD=41/,AQ4 .'$\_S,_K71UE$#ZYTU&>GNGW8IQB*0G#O33<+ _2*C$,_C'U7 M]E9)B_V]AY"(UE!O*?JQ*4] YP YUWY6.P_X5?<\X+K'44ZIJ3) M6>MQRCN$)Q&>.V$E@$QJ0]CQ,0/)A+OF9\88)X59D?RU.2.2K_Y\I";Q>')% M#/]GWTN=@&,#2N:5.I! MY=]MK[HR>98I!1#K;&YG?+@/XWW?A]%T%N+&K0KYH7;RZ;^1PP_5MM03A*@A MI)Q"A;C>35K*A[AAI1^OQ;5\PTK34]?VFW;)#.''F9._>5>XI&,\*83XQT__ M)AZ9_XP>"5WQ+ HVSSK"(>O]W8(!1[;@9E#9P?F-'2DFC-]P% OMOHJ-O>.C MMA4E DY-6AL[MU'X3.2 O!9O_:E(Q/L[<&)+DA]0G=NY/&N*OME]KX,(/5#T37E_ M'$7/#[I;U'4.!;T.1_1 W3DB_S@:OQ+_QKEAMMB=.PFZ='S,3KJ!\$_-J!R. MWW8FZF'$; L(\##Y,'YQE6D-VD#[2*.K[&3!&V+&]'T0KQSN.#-&[.,,MK*C M!V^P&=/W02(#< >;,6(?9[ 5+M&#-]+,B/L@$0FXP\P,+ELWU-RBY"HDWZ/K M**8Y(HS9DR3!_E.:T%3.QX@(9AZ%;/N?YH<@;'A5S<'.[N95-:17>E$-Z7;T M#_)E_,_1 N%13/L>.87.1TDT?^]N;4F(2!3Y9!>/;-1:#C<(O)$ MN=(<3JB\QQ,J@$]4&)Y0 7>BHA]W18F\9.$<,%SX-%SXU KW #1H>6*V\$B4 M]+(G2?E>A)0;NNA)(@8 H/;]%J^J<

"B=V'X1!@9VA#N;/ ^'71TQ$13[5"L3>Q$B^N[33N-(O\!! M,/<12NC_H\NM#\O+9GP4)-V&0P3] 1Z"JK\HE=Q&\\SB,5C>;V&0;(KGS"A" M=0*W&A8 K $U1-<1=NQ..64:,NM=ICFY98YD6,0.GWTZ8 M.$@T0%#4 ;^TU QN0,C@=QGL*?S'Y>7TL.G:"(@@UW4]4BP.@8/##[(K 1%! MJ4BTB.6>HXI"V<-_[GQZ?*?A\($V3EX0)2&@N+5T;=;4V5 X)H;$=+)M:)SA:1XN+3^/$KE+6(6HG.YBMDAN8^=:WBZ5%>7P+*3MZJ%TIBYG5"=I M=NQX@SRZAMW\0P9H#9_1;O*2QXKZ>;$7,*6=*^7-<*_)>FV%7_/%J[OTTW3% M\-BRRVX,8;)+6S#*_#>ISW]Y^RC57;3[PLC:?F*TV7U#X]FQC@DM$1.V@O[S M&#QWN%$:*7C+KF(EO 61';J;?.34A6P]J8GXIG8S'"<).*8M:7 -< XK'V08 M9ZII?:;::T7CN:A0]$VP?H>+5=ICRFQ$JE*AXN6INOFHH9/LNR6VRE7*3Z:7 M%XHC#G$KICY'=)!\@(,]O]_$CM4CL/M2 M^LOU]ENCJ/PQ*9,&U@I;NP7&H("9&UJWHHEG ::?M(FB14O:S!H=%4]Q(F@% MPQ"GD#P :6;80I-)_HL&HS-EYCAKF#GRQD96VGPVB12_\RI?T'B/\0(^@)\ M]%2N*5XK9;O!7%O-XS=BYVCS!VMU;2:-EBJM/G_K(',_&9WE31=%%*JFJ%Z4 MZ>&\/CT4K:7S BBUI_%D@(W#A9D&&,HK>D+=W"WV4P9/$]I, ,SJVWLLW4W2 M 6X,\F#X^2W[-A(^_[;@HLF\D+8] GGCZ?@/4//#V13DCYZCS*P4)I9'LSL0 M:D#2G$^GIY=G9V>SV>1R-CF[4#,M["7>*+I:28K /D.T;*TZA*;JWW;P:JX^ M@XA$8H"3"=PH?< )%%V3IQ$#&*>.R\831='2J&A*XUD"102"0*]+W4;ARVZ0 MR4_G#IRD.&&40-?@[IJV,-MMF-!Y+98%I,:T;BPH95^6FB8.JL6"5B:>0 MB6=J1Q0)U.VX8A=E@,O0O>6&_["\!#S!V0/^S&XN/FGPGT.MC3Y0;-(C6$OCL7N\G3=YCNT:W_A_E9C4>ZP0\J*.?LZX2/S*6 M+E)=R+@:T69B:*7:BL]8=[D'.$.D3['A5 A;<3\ N@]GG1D:O,/2QD9NT=IH MDS>G\8RPZ_]\47Z,GL=(JHL9HKHVI@2NS%KGZ_+?:;:E[NU MJLVL(H8>%3NU!&0&..]\ W&V 7L,(A3J,!7Y*HY#]SU)773? C0A!WXZI^S% MO*;,3 V.:?!S:%Y"1Y(_P5]&?QYM0#B*T$='5NFKHSB ^QGTW5%4_;#&<]B= M%?H0YQV,S;,3OIB2>,%[O:'-*-CRU1%Q!D>$HG=Q-#54PN=R23/ \YD#/]?^R>XHS\57_NSWL.9^34NJ:"2)V[9L\V];GUE_Z4^<6.JK,U@IRNI M\HJMO7#*P[F).IJ6WO>R,8)49: \X!9)0L@T%=IO>GF5B8_1/;["0#7/*9 A MJ7%?P1(=7U[ )@AY%P2FN@-E0WO9#$EP0'ESQ<80OD8&2A4!0DH(5*:",X\H M:V;N",=&$$*-@;*!5R)! ?A5JWY[5\>F=USQ@2J=2QQ!P>Y5:_P^" $\SV>. M^E#FT/(C"$\:0<1WTA^]+* (&R5:MS=0SHB5UY"P]=_3 -91[*ZM&)OOKEIH MH.IG$$)4$CK5$T7ADE4*;OC@0V22+' YZ93)5'>@#&@O6V%Q&@^<&=_ CQ)D M8>##?]J@)#W;RL';3!73^%F>XIIN/)>-KEGB+[ MEBFW%/0*58<]A3[0K_8*.(F'ED[8T?CK=]]K,02V5WV QZQ6J 5ZXEB-\DQ)39DMKK]*/[V5'[=A9QJV9K2;0+B519I".F" G1E4QI0M]?SJ MT\4=;#&EM5.U$#TUW,%SB*^]EM$_0P!N@[7E^ASZKM333O,\*F)3,%U>Y?X5 MF*>S=YZ5_'#C;R#^$81_1(^>_036[R#<4S:Q[" 43%?13M7\TBI7K[0Y &X3 MP4,,UAS3_;:*=L3H;\XG8R#(W^8#A.^!6L^++: OP Z6/DJ[]^"@=QD+%SAY M<.!LZ#GP6%2*6@;_EJR!\T9ZLR_I*]K1DIL_I%VG/(B43W*8-:QQNH\3RWL! M40))C#PBL]F?R+9.;9G$*?% 2$W)RIU74]I:^1P&]\A45+(8L:;<8&REBNX% M1%=Q2E[6(B^'=//<,4%'91%O[O'K*@CC M-Q"NLQREV9,]O@U4VX:UF7@$IN^0A,H K?HLV3RX9IVSAEF',:?'0&X"#$[N MT=BC//%U08@OIGFG14O:3#0M%;WW#D>(^ .<49H2?G#-(.?U&:0Y[<= Y@O3 M\W^TSOJAW\@7F^M#T=#NN/'>[8UN >R*[1:)GJ_6Z"U1EDTU3_)QY:4M%T93 MHGU%1+O#)(I<\:6]X%29*89KP;AHPGG^976 M0'5P7$XO9XKLL SJ:CZ+MI)P@#O$_7P77(/]LO%\6 M[1X)D!S*&DIJ,\(%*' _LP2+J(2A7C-8JU0KP46L7E [I;)J@Z9'K'!#4>,W M:TWV_\(5UURE6,70-$J14-<#76EV^NZG%SO >04^Y%JZ6#Y9<1+"I?K!/XGB MN1T'[R"1C)GDD>))ABFM.57:+PUD":6Z M3"AZ9;"W0V*]0L#7T9P;9 TWWA=PRBHU8=*Y<%OB@P^_!*(XM_DT'@$9S8=< M31G"$^$02)UDN+>O#*;H+/D>>N,'SU4IB%&46+X-TH#&]TF,[(IU4RJ?75K( M1\RDG$QPI/IP37LP:%42F7*9LV8-YJQJ.M.!&+,&F]>T2G%.HS1ML9ZI]V)@ MSW#*+9;RPPIUW<#.2O=!6)O">-:*#@T/D"&2A1_@%686(8]GJC\9UZ?ZK)6! MS/ ]9,\5V%'$/:;)'%-:NU&*S[;;1I)^\NT*GL>?7-]=)^M4SB)QR72!SO1[9G3E8NJ,>UZQVXYTI<[0LP0?H@]*49YIKH#>$8&O.-CV0$2\Q[?3%^%R'^$;;[F[? MNI0\K7(:.'/_!5WCH5N[-*<*ISU P#N,%7P#DX3!W"4?+HNS>.92#ESP#>-++Y..(;RKV M>]I,9.+SP_:+F2'K\@ZT9I3266N>"A==V7#B8GTGV[WA@Z"J4' ,R7FW0^=; MD(8I ,X+_&_HVO!?*33??3=N2\<6;1X$$T7A(BT!GV8IM;GV@PU/OSLFUA[( MSG&0&;9+.XF]?J'#D(V\A%POB;E#_7&UILVDPY.=6Z2L S2^%G&_;D%LN1[; MY' Z;KA:>5N!T7O>V.A/>7.:#_5YN+3\W&VBDJX7:OVY!&TIK$:;T%DA^YF^\"]Z9(&5[8Z!DZFEQ>G:DU,\C#?N[WA0D1F M@/$HC$MTAS_M4QW^ZI\OEK\$#2\!*W_31IG\ .^40Y=(#V4T/NC:^ZLV"J&# MVJ @@QZVB&8E)??TF+55_F[?@HD]*NJ0KHVI0%;G'AT$R3_ XPY; L#T G&^*&\9^1D?'G*_1Q2:*#1!]^-X6BYVFQ@/U.EY+PXS;E,3=35K5%MIJ26:JR;8B3@H55RIROG/Y,\@C&<9PE)6 E1 M6[C:T(XB$C1TH(40>>NCJN&AQ>+;L/ZPE;IM-J64.ZUAM %V MT3=BWGP#0@M-[*E8+^YR%<\7WZ/,NQUW24>J4Y5_ N6_/!!B\,,B)9=BAR!( M,BBU31;!1*9MZ2.-6 "1&G?F5!?#XG/H^K:[\4"$C*^E"VI>\^*DDWEQUPU4 MWBYWY "-C,K"\.U0?P11]+:R_-]7@>=]S7_XP'E-WB/7<:%.G],1C7X91BMW MLPTXEHY.1*05NMN+O@%B$&=IW]-N?J-38R_<7X^X]+9]8KK.WLJ"<0ZI_%T[ M/?>KN>H%.1T9337=&$6ZH80VVF9#&Z,=@BS*S3FX$-$KN'(O TAN.(O!MF_A M;LT+TH0VOX5!LGE\O"&$@V:MK*=Z">K:N\'N)JBNNK].MY=_#SP'+5Y6",_E M[L:R Q ]QHZ%5SM+O:%KO+6,REU9]-TOTDRZ4K^I#2%5[R?4H2W9:J,HS,B3 MZZ<=* XO0,0O24W5J"ZQQ"#.\Y6C@(%I-95&=R5_RD1L0[T<48U)0IF]<. M5(_9P&,'>FK.,G^T /4CP =$&8%_'X2O5I4%[_'NISR'%4XJOE:JXVVJ?K[B ML]:(D%;0[*+9J@=QS SW(,O@B1Y;AV %_,C] +NWPG@ =ZXX<,:?+]ZL3_PX M$OVEH;.R)T3T2D>#.<0*!*/.00E?&"CW^D)BZ DAV/9BKV"9YJ/SG=] L RM MSTV%+:N-^KBP;U09HW"ZWF) WF:Q@(!SY<,ETK=>OZ(8-+^:9JBA MHV895;2W76LAIU13F*CD<$_(KPMMLL*GQ(O=>VOM>E]X=1.*FZ-K7B$'<;9# M=F00P1,$NH#S07@5ALA&C':K>'53*YFC]':B2CUB*?+&?DG/)\2W1^4B55Q. M(2YGPZ, LV"YPD]U6[FOG#1W:02/!U#VU** '];8PD;HLH6(N5;/Y-Y::7$. MICD.T*II0Q$!9ZU.,IOX2BLW7[V #4I*Z"_+(6#O_!AV+P<'_<_ WI"U:.DB>B<*IG[.SZCNJ'*T\ M\T/Z8*_V=I?WHNJLTT55WJ-1N.M2^KHL[]4(%-TR[KZ*+>;1^1CR]/QR/+N8 MCB=G9TJGM3I7\ABX_A+=&@<^WL6(HP7MIC%.!6'GJ-;"F[4XUF%X\.TLN:+E MH60.\\7\'8YT/\7%)PV=#BT>$,M:@C'$!&8M%\$W$*ZSY]0I'-PNM.<2EL"T M3_G;ZJQ7![H"3L:SZ>QB,CL[GYU>G(VU,F*)<>8X@P/N0N?9IZ:"+GX>N;2Z MN QT]_/00'W6BF-)%^'@K5QX5]*S\/FMX4WQ85-]Q0"L)M'ZFHCKID M5 KFMI]%0&WUN?-3X+G>9ZAFD)Y;"JO\$3+.5\N*>'1-*&Z.CGF%E)8^< #. M.D/6B\'5*2#DH'!1+Z554A M78XA*]'Z)"NQ_/:6XR+P\P39T<*3A0T*J,X]@!I5]<6@DJ94UF0=LPNIJ.2&1N?"-;/PC M]V)";LUDAHB"0X(]1L-88?=!".#?L[!&]E<:D]]K%9KBHI.[0]Z/D9UW9!3O M>G+(+@[GIY?CT\GT;*(H+QR>'Q39Z!6UFX0XU5$_];2464\;AZQ 8020! <* MX_F2=F1LR:4Z*?L"2^H!C7OVZQ9#C 6,;C'$&+]@'BW[ JF?TYZ\[=N5_:_$ MS=(C<7J>3NLYPLN-#64W5>2BA]QX=_ULHT[9PO^, M+]0LDZ_V"CB)!^:+HKME[5Q_E7XB.9+R-E,=)!?3R\NQVIF$6UGUI4T(!EIE M\FZ0@Y"S&U-:.U4+T5-=_3SB:Z]E],\0@$:_5>9ZVFF>1T5L"J;+J_PXA=E[ MWGE6\L-%F^@?0?A'].C9>&\I7-E!*)BNHKWM()>TRM7;JY^4!BH6/'O3A1VJ M[Y1"7=%!9?2=&OX@Z^ [I8,""?UB]ITR0(GM?:>&I42J'(;X3OW#\A(K>U5K MKWSW7TG3.D@NK(V:)1]K.*0GW',KCM55%X)XLL$5UT[G',IAT>P CS$OP'/! M H76>0F^+"_^>@+Q*G#P9QEBA0$HF/T1R1D1SK,=VC.*(L*!4+X_P##HWG)#!!1X3&V\44R;)H@5JJ)?0M%/ MA\L!?DF5^[.)V10\ 0M=2*W3\#.;)'Z#'R1L W'%M2.#I(T@E_P$=S7%6\$F M,8B;07P%[33/I2(V#1,D5;Y;D$.(%S?ZXSX$H,CJ^F+%S=8W_@8&01B"QNF4 MX91=.85PCCF^GUA>ONOY1X"\/#PX:6&IP%;)'/5WD%?Y#E'.K($<7)"[)O=L M4:]H#DTZRJQ\GXF+(+,_Z66G)?+L0*UDCMH[R*MGV D1+A6/E'>YI"K:4:,_ M%QHR!H)RD53?Z J9(QK\R6X@-"[L;W901]ZC61>OP2(( 0KLZ?I+"'RE7--4 M(JIM[6C%K?^].4BW,(AP M6RY:-1.)U$IFJ8^/127M; G"R6?"^KE<_AYXSKME_\&\RVK3GDG,D0.& ME)U[+Z3Z._"@JMC:Q4,)V<00\4O[R00J@L4.9W. M]=B<2OB0+G@W]!EV0-4I[]TX;]00M@XHE!-1),F<4P:'@6Y- G9 MJ6SJJSL;WZ'@+Q&"\]&-!$Z%M"^91-N^82K8S/1:JY_ 0L\A\-PU%#K\>DY" M>V5%X#E$Z<:\= "X+6(/38BQAU 2Y^TG1\4W$0 V&%F[KQYND**SBTOXJ?/3 MV<7I9#R9*MJ?Z1"D2*?IA5E9]>E%" ;:AZ_I%J1(!U4+T1.3AQ56?.VU+#Y( MD0Z:YU$1FX+I\NKJAR\\2-$$^1Z>Z*=@NHKV#CA3]9]!>.-9$%?\[,_1@G:TD;0B=(5$9G@DD0S9B?+-6I/7#,Y6M&-* M5Y5RD809$4,FH3D28Q[F*3FA",AEP0N6Q$<_Y$I#(A"SNNLD:@&"LYFN>DIIP]7>1OI^,BKU.U6D%_IK-XJ@*'FF\*LE/%=BDZ&S M5S2<01V!$.3.+'S^^(9NC]8;$%-X0"YLN.Y;""_!WU@3J^KVOI+=H-I\Q:D# M3_JSHI,QD/+L2@5A?@L"YX?K><5=Z2Y)V2X'#HXY3'6UHQ"WKNMT:2^X7EFL M>O?]Y+^[IK5D(KU$P6#(<;F/QZ"3R^EL?*8'<[JJO4ZH5E!(G:J,?R-J)J'D M8'0,F" S8(*93!2-C@1[X8Z#,YTXV$\PF$-D'0 M"%F6>3C.2L)6@/N!:M(L=3(_K2W;^Z2JL '3'7KE#A.:CYKG$&PLU[G[W _ M K!\FO [^UO?PXC4E^.XZG=<<>M"ZB%4GV?0K=%]#H,-"..O9\^"&/O.'2R[ M6=?#2O3Z[>.HDCZJ^+ _;O)J *83S[<@B\%03$\]#)K&[QX'C/0!PXZ[9". M 8M.OJ27_Y!=M4;/UA?A86BO?3B.J;ZV=IPZZ.K#-\J8 >HX>@!?=CLX%>.XT'^>,"@+"K&;!!;GHD[M-TCDSY,<:6O'<>$]#%! M0UM&Q%N53S&6%G!S1ETJ#NUQ'K2&"14V8KM(5%RFW<3R@Z MD1:($-Z>_@[:Q*U32W/A MD)+BY J,$]!/A-TK.TXL!/5S&-P'X=IZ 5$"N?_=MQ('XN7PQM>=4N+K9A\< M6;X#A0Y&"_3-49A]=/2GI/CLGP\WPN[YQ>GI^.+B8C8^N9R=7BARQ=8APJZF MDQA96?492 @&VL=>[19A5P=5"]$3?I_%(K[V6A8?85<'S?.HB$W!='F5.V;W M%6%75P735;1WFF#;P1H\XF-U,=<_LHD.AP9G M$?9H78UB7<5QZ+XG,3JQO07/J1)(3Q;:M&W%C1ZLIWT/^@,! ?E@?;0^\&GZSP#Y#N M'UZ!G83Y4R<>SY/3\5#^LTS[95=R6C4&0!#C <( 0)) MM-&].,4UD\%D'3\%/OC*1LA]XCO[:&'43ZEU$,QH@X$A@?^9X.RRO%3!FYA) MH/9(B#+WE)S^E%A 8N>Y1\NGE_=X]U,> MR 'WZH.O%6T(U%K[=0*)@$"J;>9X8$BUJ@9_*GC^A@]NT_!>5F$$\ MAK2S!D-:WN;(2K^2V=2*WWF[#PWES5;N4'$/R5:(]KL;KXH4T92]'7-M)<^V M()G25*7$1UF50MH,^Y;JJ3RUHDM&V"6(G<:C,"[I#?ZTKS/XJW\^AX&3V/$\ M+%(+UY]1X8IIIS<&\'<:XY**06=B[FQY=(9FV[SC4>-[*&)9;;3'I8A&_3$* MI]P2B;EZ@4M=YKZ"PL' 1=&W7K\B2&3\LR=R#1TURZBB/6>-%G)*/8.)\O#Y M?06_$<$]Y;,5QCY<4<+0\I>47.C42N;HO9VHAIAT\MW'"T!HP6WW,PA33R?? M!O-WSUUFKPL^-\"&P^+-7<,B\\4K_&VT@)L2^#>X#(9Q^JP _R1:[$>T85ZK MG4"/F! HJF#O]X(&%6;#M_U;58XIE.-\0+JEBT(X,:L/=7;=1"1[A! M&P09E._2VBOOR?ITUTGSOJWV=_T42.A7585T.?148GMCQB/ER7F]H#;J[;0D M,LJ%=8969+)!=D-Z(E:6JOHJEJRCAGOUMM*:^-Z:!$8+MFC'DM;*YN.- M3+YL "2)DVZR:ZQ1%*1,/FM.#I4V)\(.]!EO[OQZ)@ENUN"$[E38Q#4Q? 81C3:$T8XH M[?7-R9WC=D4XF;[=;2ZP4FQM M_R-P;==?LNY\Q'^YJI[3Z6RL..:^"&*JQD^WC1B&V[E4T0OPT'?>@@:?--(K M1I[ZVO&,>Y,E1F2](FOTL%S6ADZ;];/6B#9T$L,*SC65#0Y!^S/-LHXW 4.> MO!_\YQ!\N$&"GN[#[0(' ?D:/DA2"H!(2APKY43-\6_$A\USF5A5&[)UMEJT MEE9J;"&UK"$[UW1Q5M*.-ZW5W](S2>9:.3PJD?RTLBG[1)9K7-[\P1.R+48F MVFP+[!'&KFUY"!O'A0KK,B'RMG8 C!0"B=2S; ]1KI[#8 /"^.O*=]#CQ0W: MO/"]P3NOO\$K&DT?WX&BV:&\N"MZ_^Q9?ES&A;)CI=:#!#J[N(0?/3^=78[' MX\E4T0RS2R2"[3-;GC1R]>J .8-[WS.UJ0VAQTW@PQ4U2<]OR/X9+*$2R?P@53&8 M(-QB2SWR*KH]>PT6\0\4J=AWBG_>PD.:%Z28W@0196YAKF\PD;IA(/47E%Q^Y6--(T\91+ MK*.=MGG5PZQ@G4^TF*4ASWU]9=NXHP>NV%#4RC[1LPJIN2[G< )+):?K<[]H M5=QS3*CXF2+T4>*<$]Z!6U(TQ?EV)D! R9;[#2 M_Q;B$P*3*VE'F)8:YJ *7F[E^U-!J1AL.UDGJ4_Z+8!=M]ULD@8;#Z2:A#/O M.@AC]]_I[[% 80@EJGESJ2<5H:Z;[<:G;UK-9OB0):0JYM*)6VI#L@V5Q\[> MD*$XRS'4-)'T$@3PC?IL/SW0:J+*H AQJNFWQ;2 M&&+BSB7.K@O>K$]&?=?+#USEC (I]W7"3+Y_#SSGW;+_0)L$U\EO@MG65L:J M0]-O9]ER59_KINJF_SVG[YW:BP_2*5R"Y1K\L*,J?HY#!8@BE(1[@'C M?(VI-#3]=Y J)\'EP$EPG42N#V6^"=;OKI^J!H4BPQ#FQ9@,G5FH[R\<5=>/ 5FFH!&DA56%M&0^V(]SA4/"? M\ M._^!?(W9JB4UUVSO\4-J1Z9%]V@H61T"E]/+F>+(W1T46+U!8Q.UMS3<'=5* M>+)4+ZB=4EFU0=,C5C@&-2K**%45X)NU)D?>P!777*58Q= T2I%0UQNOTNST MW8\ G)" \PI\R+5TM7RRXB2$B_6#?Q+%^9 M@L0CH9Q$@DYSFRR0A ,^4;SCARA*8(^0IU+\E?V7L$BP5=:<2#P+1P>!&=(S M*UI,2$)1@SJQ5=:. AT4R<<*"@:&S"(WEN=E*)!#9NP5&Q0M*)IL\,-AD=80 M E2GU$?*JR=,:>WH(.J$09:PGY"PO;\$L %PHGN(Y]ZA&_\0 %=#?N;[19.*56^K"I2^3GD/7!AV8E-4_/"81Y);Z4(F;21CS M7).(6[EVTRYZ%P_6;K)^"U(/X/3/3=:Y+NU549Q-+R\OA\@>.3A(\+U4?G&# MI5*]@"'<8!1,@O>E9HO0"W# >A/71P33$H2M;1A-ND@MP>]3,PZ5%N0W^)4( M11@O3ZVO<6#_D4+U%KK+)=:"U[%5HSDG!@T)[J<#X.);:#FNO[RUOMALAI0V M#HYG--DE^)X.@%7(1Q?8"0I%5@*(^^A&:^_@V,:#@PR'5PVH%[H?:8B[&VM# MVI77"QI'%B8!A?F_2C[A[POSY/KN.EDWG$+G/NUTWZXM0_@A'H."0I)S=_;G M3WUCA>$7+'SE._>6&_[#\A+ ZV,]H?M8P]_E'TJ#DBS@IT8?Z%M'[^L#\+X^ M'%J.9[7^N@5%9MT/2(%8Y!C5H6#:[608)]5(LK MKCDCR'JEL8(BIE1O.2V>>WWWK2QB)W#0T8^9'PWUC"8*J[Q2PF]K$"*;!1IRA&4;*=+J]\I_ YS^-I\YJLIRPF:_3= MD9M_>&2C+Z?6:S?_=A%H^VC#/@0;]LGT?MI<@-U*&)%ZLU;5C#J_NF=C# M+KJ)5"H+/5]D5EV(16JHP-"'5,5 RG"+:^**5 4!H5CQ-WRG(35^Y'<>OVWT<.NI]S\KZD-W-.PXW=\7+N "[G)NJ?J/5U.3>IOD0S M^'). Z6R:H/_#F'N9+2CAP4' MSFE'E?9+ UE"O4RAA*"$Q9D@/03,%PTGAWM8PO+^ UAA-A3B+\Q&5DB;FO.% MK/6]F44*%H(F%V^?5">R2-4@\@M DS.4 UTK%-(SL8FU,6UH)(\(-+)U@DJO MEU =J(8D?/L1M"577OU()UYPI"Z ?SL9'#I'1D?HVJT\.M>7.D3/, MJ(BZ36QT8A#)E>KC/!$G__8M:L,O0>=^P4A(W4YS7SAUX!37T;]58]HP2187 M6K"-':C!'/QI(E,._HS5CV3B@V8PQWXF(4G'?N8&CA3B!6GLR.#2-@,YL!/D[(M<-C&[#@[/S^;GI^- M3\^G$\@312Z R%@Q7U3U2G+3Q9:O\OUL.CO1P"C#"'S=?X=/3'T==:L2$!QU MZP6U4RB?3NHZ911Q*,HDNNHV%=5.H8P*H6F2()TAWI5EYC>ZZ>(+:JYT@N[( MDS)!.D.4_@(^ N\#/:*O($;4/[&.=E1@U&>="/QB&L*)U\SE'&UMB#RHE3-' M]VRB2; MJ]#W/ZS013L<]'J9L'G;+Z:UMMMLW9@$).A<\<:MW'WBMJU>4#M5 M,JF"K,$#V+ %OA/XZ;OR=\O_8[Z ?0<.DOWQX7K^0M[#L=35FA9\F[K6XAK" ME>?07:>P$5FQ5\H<_;,(IN=J'H5Q2Q4L0*9 M3CUL<@Q9B=8G68GEOP]9B50Y]%SDA%PH/5+>@Q/K:*-T48=9?FFENJ@H.A,W MH9 /DNL@#(,?R+QG;>!?XB\.VN":& 2+R"Q@8Q(7 'IY\,H(17%M16[T"L6Q MG+E?/J2<$.[K6:H;2:A.PNL5QT+>+/7=A_(YQ;BZ"=9K-TX3A@)Z<,[6[1E) M-[%HF!@>%I>.S7J:TC MZ\A02#6B#H9T]?>!G=HZDHX,A>DG#08NF4\1DN;E//6[5*-Y*2ED=&"$ #,$ ME[!2D\B("OE<3]%6?O.ZEW9GGP,M6C"*%J+DSYERHA@D7 M)*Y50U7<+M41IK.R^7C#@894L[6HZ"<4<7&V9ZZZA\H5,@"#B/+&)B$NQ!M[ M[0.G"!:"041Q8Y(1%\*-N?)A4P2+P""BM+&)B G1QESYP!F"0T"JJ;6GW6P+ M7APJ&T@(J+[[:([ BP)=?^610OQ>*31&-:JC<>7!*TULD+5DO<;70"A_F.ZW1 MY=)0/_QO<17JB(YP@S8(,@SY&6?[M[@Z*)#0KZH*Z7(,68GMW^(.2XE4.4QY MB]NX>&SO%[@V+9A;B4$OD5TDULMW%G/(O4PDST[Z;N:_,%S>! MC[U5XZ@^$%:0=;IW NTJOEX._5B*0*GR9>U;@F;$%^"#'Y8W3[O;:)*@U3&3 M#"UD'L3E1P;.O>LCVPJ)Y/M/ICEKF\F*3M)+O?=0]>2G8=:\@P>D&$"(YHML MN+P%=ZD]B[@%86RC@NS96'TZP&Z\$H/O3SKD^TTZ^0J.9F&.B*=4RFCI\4NOELMSK4H4P@<,L)EOYV9LY(%9QPT#P M=Q["FL5&%=9&C"9*)Q (_LR*:5(Y"[C+53Q??(_ %908=[5)J&$H 7@EENJH M+,K61A#JRK:3=>)!,CNW /;9=E.=-1VG^5LQC",B42@,<&.SSM<0%.0"P^(Q M42YG&%'XY"RHH&%:K^J."4F"T6B]H(8J95%&78F,HDFUJ,M8"/*W?:2G2X3B M@U=O*P'U,II+WQ66_1SY=XCEVMK0I97:N;:)5+$%S12XF("*'N"7$=E[/LQ MG;T:5=Q.(&[GQM"%152I\PRW%91A,6G8&C26,46Q[,*)ND=K]/OFSLR,467! MR;F?"O/H6N_HO:\+"*$TV"MJH_1.>X7VH@[B"=F-%:V>+=>Y#T*X@B4^>M1B M>XD#G ?_"0J3 (.C=6>V63-$^M'K.>L[C63&= M-XO"VK!%HM9I!U0B%EVWGK.,,CY8(B.7+F:GIMU5#@.7Z"+Z[3WN%7@) M:%.QY^^>NTP52]Q =6I0&W)UVCR)AT"6>Y&BC=,>0(WX5/<(M#6Q0XM5P"<0 M\#.%$YIX[M0G,]%@Z761(&-O_SM D 'GZ@/^=KES2T[_B)PK< FP>)O1AHQB M[Z!:"FZBFUQY)]&:5GR-&$,J 6)+#0&JXUR%8EF@C3&*;)GG_&HS5S4T8PRM MA BN5U!0Z7,5.ZWX&C&&5 +$[L=33W8 GE=[!9S$ _/%+OI__3S.&Z9G@@G3 M\_.H^-XH6(QV7T0_I45&I8\>@_I(78E*2!>FDML$Y[[3IHGJJ)E.9V/5&:D: M%85?:UJ(UUN<&2$/0+8'QT(\KG1YK1O4CAB=U5YGDF!T3#S$,T$$D:?DRN-K MY<@]-DCTBOFA@'"D5'F\[1Q)QPJ*D>GR.) A9 M9S-'SC%BHE>R/(Z06CA)7]W/IOMFSB9,YH\P/*3>NXB+M<4FZ-4"]D, @ZH^1O2CD =Z<'&MQ:8F'@C382&>A/-6/O &48! MXN"F,X;[9N;Z1VJ1H3#Q=ID%$<*M,FOU([6(2)AXA\P$"/[NF+7ZD5E$) 9Q M4\PB(>:"C[&JN2SIC,(@[H-I M+N@7GJ'SA7J%"8>.M+ Z7E(F4NE3HA8.+= M;B,0G'>Z7&U4D3U3GR2L'VYQP6'F#6XC+CR4.E#JD"ABULUMH_CD>UM2E0/E M"TEZ43>VN+#).A&'>F-+J76@]*$ (.JNELJ@_MZ WR^C7]8P'I=W0I M! &Y03!Y'LHXG57F?1H^97H:GG5DM,YZ,O+2M^&;O"^C!'5FY ?^S_:N.UFA MXZMQT1W=L2./2YQVRKF*T@A8:>YQ3.\9:FHWL]#OZ]M*Q? T7$S MRB,2]J% M/^UK%O[JGR\HDMC5I[L?9;+R-^VTTQ;[G1;I\F'UU*MJG@#*NXU33O;7:O?/ MST\O%:F'#FJ# @@R2/ MZ$MY^=J)55_E[_HID-"OJ@KI<@Q9B=8G68GEOP]9 MB50Y)+ACJ-C#[*\6<+%X+'*O838OI"K:J%S]N6CNSC0L9$EUAF;) [IQ#Z;1LZLH\' M&!.]9MFA<3_$S'W;AH[DXP%&+\?:7LGWM@(AL)";8#?N[=JI(GPQO9Q='C#U M*+B8F#B#$9EN?#NRC(J&*-]>G9RARE:IMI8YKC:TXYD NUQW *0>517E.F-" MA6R3XVE":V*U8T5+II$ T?/F4 ZWJ.8WSE:.#&/$Q)![*U8H:)8V[G:.1&-& M18*-36.JT8QJO,T)LY\HP5%!,M9TS 4.UFG*T<*7? M%C,F7+KP[,BNOBUE>M+HP8>\!U'\X-M>XJ!,XL5?6K,+WV05ZLOI[/3D$$G' M"5#7]_2-SYSU9.-S1H%_6%X"YHMO(-[[>VM.TAH^,K,]3*)RW6HT5\[?/7>9 MJCMBM^_6*VG-*@%7!8P22W4C.M>*+=3'U-1Z!\09BM!Z.0!A0E<5:SE*")[E MIL@@2I]$E^7>XP-?99-((4#R?FP,\E[6?POB-!X!>GK#]T3^9'RR_T0^;0P] M?T_?N0_D@7L9 HOWSG MPQ)77$23V@UTDJ*VHUF&T%)?77 [%'0F$#9 >.MVJJC-U+^_%TP5BJ1Z.9P( MXT=#I.\.+1T*1["R2CUZ*&%)9W(< "=(5.A\G&AT?NR1"HQ1)[LV9RQ-N 3N M>M*@A)CLD3:X4)+<]8TE!EE"4;>,JJXM-TROAIZ A7Y.=UM_,_1> M^ [Y @M \H?%C]=6Y!*C/PIK7[M)A5N]]>L2N>#(#&'8GF?77Z5)Y3X$_TJ M;W\UQ*#DJ*DO-Z0HED D3HSTI$B3"+&S+$J%R!;[S M,81OI@E[^E^9>&'"7OQH,\O4)>)>IK!MZ,L@U].=-:S03J,,IO,%$FW$29'#A12/(;\A:\2>PI-U&F!TX4DOR&O.06 ML15\I,1/%_H-?HT;(>2(?NP&RM: M01#1_]S]*W$_+*^R NW P+X+8:RO'=7:J;U.GVX("*(1+MW>1-&$]6&Y'EH) M[H/P%0+RB@9H.H9OP7N\^PDW;S%6-Y93G0 P9../Q9)WL3.7)5P2B]H+*7[N M6MH/\&^(V"IK1Q@5NZ(.4!DR 5TG$<0LBFZ"];OKI_J^"7P4PA:J"_XK@4O>5-OQZ-F9T/K@&!;T,XTM9YO1PGC%Z.*,$U_-IH.JI^[T#='X=K\.S? MUU&'Z8=%_?(=&_!NM$QK[706EH$@Y]NBR79)%3&;_[P7L$ MP@\$;3JFJR>P&\NS$R_]YTO@>?=!^,,*'1J#97W72%:3649@=J\HFYC]N6F! M_-V-5S74HBILT G.;8MH6Q_:S\[?T'0^]8RN, M:Z-C.JS1@8'P%<2Q!TCAB^5]\#A.!(^3EI";F,A=,(3/Z43PX-LA"OMY"[+_ M[6?$-'_[.'CZ&3P+,^D7,>SW7KM!Y4)FMK%*/&AG*7NI6?ZH5%+*EB"MMVZ.YS _P(7 ,? M+%S<#3"FM#;3"(,BRJ.<1YRNAR9M4KG<+1; CMV/W:A%D=PSWZ,$CO \2SF< MRS D8&]@J+SH**$TYS]Y,_A-L%Z[<7H*0H[\A2.:#9??1WA @CV9+VY@QUW. MJ&&G]0F^]*F1Y3LCN_RQU*TF_=XH6(SL](M#604(&#)[YW*U PBZJU%HN\)IK1VFF17!H,B"3(:XA60K:[%8D[T M&VDJJK_Z"2ILF)!9131%^_O3'LW! U]!.R9TFM(YY53^O <3)WIOKX[9;)** M5L6=:O#HAD\S.]5R2ZE7VB)1+VE\4 A_;]FI+?+)^D2)0:^#, Q^0%AOK W\ M"_;E%D\3VK"'6_D-4T)7N:7RZ4SE]F$+Z3R)HQ@>XI&;4%,F$]9J1O&FC:R" M%A1<#(294@O2/%Y!0)ZL%!=>^U'M/1;-?I1];;3./GSL^ED/#'( M>*3!IJ6[)MH9CV@KCQ;ZO?[Z9J$$YG"&W/Z:%"Z>O0'M>,"A,P:%\\FM[].H MJF"Y4$1C%*&&_CKG4QN-!W3AE=LJ,(?37?KP^2)-%HV2\[R #^ GX'4%<_=LD*VI\"6$4TTIJU-WV"'S>>Y:ZC>]<#SK>$=)=!KZD-4?CT3-\OL,IJ MXG.I/2QNK;6U!-%KD"Q7,Y4?I?_BL4V=U[Z:TX9%;M#S:H%;A[]/6AV*,VDF$SBQKY!N9OP+P MD//B31#%4;K?1!UTBDTG9F7NVI@25PE[!9S$@SU.>W:->E;N^U486G"\I#V] M_MJ5R7M_A3S-268L8>UK,PV)H4S%.4,J1H(6.T^7:,.IM&3/K$H9;8C3C[KK M]**CP6! 4[0/;H_03FK?04O2-VM-4D]UEVKFOQ< MPVN#?<5 M*0;??3>.7EZ_$[T9B76.3.L"E')O.#&L*M B;*'*1?3C3,\[*"H86J7[9-KM M:+Y/H2*.5]( -QBHZ_"WS;DS&TIHJR[VA9Y!(.7:ZND(@YNA:/=\W1O6CD=] M3^R2(#0D$UUK=+*M>E1R""5>60G_3E4I9]/9^$SS36X[G@DD-!>4DO.8*0JI MUAH[>%+-X$,IX>*O!Q\>*Y)TCI(^ C@^?1P4O:-KX-UA&<$\E@CO36+-SQUW MDUC^U@AD'SM>+ [N8K&PZ;V"\,.U 68T>FE?4H<_%&AJZ;O_AJ*DL9Y2^=@N M&05^2YOY4N:%HVR\M/+/SV+ MA5VL 8@P2N9]B]*D!!L$7;ZCI5VOT6H:Q9"NE/W*6;N^BW;AZ%3+0A:FND8RIKWD@J(*JZ:- MF#T[[THZ+*,U ?V!JREN8H *<9I'S0XYQ[F2I7X3M7?[79!SWJI.P MEB$;?3&XWU@;-[8\]%MB^!])7SNRN7=T#;R[*;G1IM=;W&_ IJPW-]GO,\Q& M5OJMX\7-X"YN!O4B3.&D.)@78;25?8#ON318"^4JJV%/1T5#*P4;]81+ [K1 MU=_" T84,,H/#9H\X=* )[WI?.\RJ0M>)C[A^@>(D & M#''>?@0=B;-MH0KDA?I,%7*(0Y;7D#N2P3P;TX!F?6]2)$%HB =$:W32_^13 M1F:O/Q'-X89/Z,=F.>P22&-6%$U:P]_I.+V3<'IQEZLX@FBANQ)KB;6.R_C6 M@5.\%SBEWAHY$40*$^;\#=)('SM4'".$YOE@VGT/7 M!DB5B[X.J(P=,6?-4'AX[8*UA,=E)AUL2="J'43FC!RQA%8VT@[@V-SZZG'O M%+?=T.0ZVWH29",X?N MRC')Q:&FV5ZR.*+46#1*;!=#Z)0UAM#NBZ,H+9+ ;QZ#"1V# M"?403&@VG8T5>:D,)IA0CI%6L68Z!A-2J/9^E%4G!QT-K13<'A0-@PEI0#>Z M^D5>L' "8\AA6W(.;PU8U!LCZF3D!THYJW"7"%E0TQ2B)JGP$:K8:FK'&G[5 M[5OCV\LM-=#4B2!&/(-P$81KRV_%"O;:YC&CH^Q2W_)RLZ-Q%8K"N+0"P9_V M5Q_XJW^^H6/W?/'@.^Z'ZR26U[ MQI;3CA5];8WY$,%R19F2?W?C57I:1*:K ME;MY"^[\&%*O<;?;H@5MB,&G*(J"6\BLZT[B[A/8";*E92$8MS\28EP2:^BM M\!:*VULM6D@_B/T#DB4/OWGKAL"&]2(HXAT<(2BL128>*?\=1WW3.=(9"[WV M%'R,^09^M"7+?M4#Y0D3#%+#:/2X[7Q!VS#,5G/[MPH"%V,-7NCTN+TDHT#@ M@=AK4%2^IQ ],]_]*X$CZ\&/ MXC!)E\5YO +AV\KR.X4CNN&+2A_"RO^X#Z1ZI590.J^OGC@%([H!BT<8R?3D4Q#Q>G M<%35>G <6&H'%IM"NMHF#F!LZ7^R4OTFXK &%I,^!-DK!IW[@!W)O7!8Z2;[ M%DXH]Y8;IC%.M+ %\O32G-5/0V-A9T5(B!YUJ"-3X^%HSACL<6CH.:"/]DM1 M)BO]!C1G_XZC6O-1+4*?1QLJE]E,OT'-V;\J"2;3V7AR'-0Z#6H1^CST?!2L M)CL47%2_$-PUGPX=U:F\JC8[G4[&LXNSRW-57O1P&*#!0PSA7"FDW;3'!7*3+SM5.H(M M356X![[@'1IHB0'FG6[HHC"HI.]X*OP1.!2JA8YP@S8(,AQF\(8I%'ZJ8?"& M1A72Y=!3B3W'F%>IU%:3);M(!,.Q[ME]!A0U7@<"T;G0XB F"AA#IIDBBEQZ MCLJ.G,2(\=CRVK&G-R;42<@'DB%,DIM_X, 9Q0^4(?>K5W[L.JZ7!LI]!78" M%W@71'>?MIS!?[Q^CKK^8&2)LJ>5_4C]&MMF@] ]1;G$I! MY*1NWFC5M*-)WQIGY=QA;-'Z6%A5YX=JH][NJZ0.P?4%F\ ?::$;:P6UFVU: M+4J,+9]4?1??\Z M5Q1KJ;9CLB+7AF?%6[0F B?U"6C(2\UX8@( M>GN@V91)P;W;3K!92QJP3=;.CRBP9 )--2(0#UVT(T<7'3,RAL0/HP^>.8:, M_,A+'QA#2%*;N 'J>/MSM0X2'[= "6E;._ZU7K[DP2'H-9=FNZ/=CG.^> &; M)+17\+ARM0Q!=DBA;(]8JU<1/9O.)JKC@K))43H5FX*2R\*=T@\A\$R MM-972;R"_?HW7"O2(87-O<-66SO^=*)!T^5;>QA,O,)IQN,%H*ML.%_O@"EA MWX)G+ T>)O5:(]./M;_QW>1??\TT[V8/ __'_P-02P,$% @ W'$%3^I= MD$LV" _#D !P !W:69I+3(P,3DP-C,P97@S,3$T.&4P9C@N:'1M[5MM M;]LX$O[P&2-H4%^"R+[T ][&@I)%%A!*U)&7']^MO MAI1B.R^MTSI[#M8-FD@B.1QR'C[SD++'_^AT_GEU^2^6J+C*H; LUL M)&PF M;,:N5%GR@EV"UD)*=J9%,@'&CKN#;K\;]-]V.B<__S1&&Q_J5JH(V;O>0>^@ M'QRSP_"@'QX,V>^7OEYFMW*N)Z+H2$AM..R^>WV-FG0N5ZN&@O[I1U9N+$=+L6D"%WK4:H*VTEY M+N0\O!(Y&/8KS-AGE?.B[>[;!K1(?3TC_@LA"\B0[^/5F)XW_23"E)+/0U%( M4<#33,_ #292,D';YS>9B(3]I8A,.1H$W6#L;PRRP5!2( M"@+8 @5M!"Q6QV*]5"Z*%!F+6X%V1!'+*D&;B+2ED+<1I8)8KD2@$,8)^ZBL M;T%ND!? M,*[!00HA(B()%'H&B.-("I-1=:J6(P,3"],]#BF6RE38CKA9*^FQ56H50X*/ M#=M#*"6 V/1X.;]!B57@MO 4:>]SA7FYSMD#W@F&>[#O;\E(,$S\HWUG4Y " M+SRZJ2=&++D$>@]"\NII7:;WNTRQ2QK[W46!-4B,O&0IZ("^%:C>X_O+D/T( M!C=:&#&70K\-K#9E]YA79OTFE&8C0&C4/?G$K2J-!I#)@J,B(17 L:@/#ZPJ60@BQ5 MAG*^6Z3&"01'L,H .F21T*E1B"HZ\@>&VZN@?D]8EN;3SC&IB*A&#*C2HX<3LW"'$2L(1=KI,& M1XALP2,AA9V3+GBH6UI5#G(.37Y!K%1=$L NA=S4 RHK72*:C=,Q<:QTXAQP M4G@"!N+BJ1(G-&9BM/2G/V9B>X^U21'!R%UWJM>^XP8+W*D$'5@4U:UG^]ZO MC)M;;4&LYQ /B4L';DIJJIXS*:Y!UD<4=^JW?WR67C[,NX/A [LW_W0K\#_\ MJS9P[J@T:997>T%MQ+3+ %^P'"'T"5KEGMY=^,91]%JES:T^< _09IX+:P&^ MEDDBA1*$*B0"/716]G =('$;2@SXE[1WLWSASTK@ -Q*K8K8G6GL[W9ES[ K M.Y6HYE!="D09;8%I6QT+0%C4N?UV=S0#?DW)VJL[EZZ=+G6'L,W)TY/ 5F]D M_*'$ V3($VQHX)8+'P=F+6>Q#8(+56?;2P:#>L%4.<8#)].-ILY##Q[2O7R> MW!J,K>Z;3C'KIQK)HHT1!T=PB!EW7%Z#J^TSIBBF2DZ!TF;!)_6IOZXY$?)2 MJCE@Z2Q3G@CY"G01:IN1%=V7!X*_]E7VUYQ;^LC$3"0V"X-^WWVBPKI=:0Q2 MECRAW>C[5K_E[DW)X^;>#>%]RX^AU5B*<$V#[L1*2EX:")N+D>\"'>]W?3?> M=ZO]!5XE;%K;M*ILK;K6'W;?';X9U=:Q/ QP'16J /;ZXS']L*;0?>[CT=)( M6:ORQ\O]YT+N%V?^-7^ SN/,U_,2+D7A!X&W:I_P3N\#PDPDJ**6(K_2X[=) MP+4)7)L5(#0@<)_22=8*P>'0!6X7@O]C"(Z[P=$N!,\: KS2W\5-FY^-1_A^ M8\G_;!ZR3?'!$J+<&3M[W7?_V N01[4+]>=49G4WM8+V#]4N M]=[O_DTIE_>QO;\#\0[$+WI .Q1N+_-\Y!8VL+5[>0,_K2:5J;_Z-&PS.D[^ M6T(<+^@,M_YRW!:=BC_3M_5.:E?0Q?>MH'6RC/VO=\G(Z)L16^FH>5CR"70B M#?RZPU,+.F1\JD326K$6\?AZHE55)'3JK718GWR,8@EY(VLAL@;5-L@.MNMQ?@/A:4-+*(4**6I.SX?OW- MD))?\K)UMLZ=L^L&321Q.!QR'LX\'-GC?[3;/U]]^B=+5%SE4%@6:^ 6$C83 M-F-7JBQYP3Z!UD)*]DZ+9 *,G7:&G5ZGWWO=;I_]^,,8=;RO>ZDB9&^Z@^Z@ MUS]E1^&@%P[>L,^?O%QF3,8'@].C_K] MUR='KU^-ZE8M)ME]S:VS<1=U;5.A,[U<5Q;V2CNR<&/;7(I)$;K>HU05MIWR M7,AY>"5R,.P7F+$O*N=%X.X# UJD7LZ(_T#(^J3(C_%B3,^;<1)A2LGGH2BD M*.!QJF?@)A,IF:#NBYM,1,+^5$2F' W[G<&X2U)^7MWRX?D]X71:9]Z<34U9 M6>H8L0UZ1]?Z_<67J\N/E^_/KRY__>5?SW"A=V!96V>7 ?L,Z&3VLYI"(4 ' M+ 9M13IG-N,VW(')/')=6?-_>+(KB]SO^!EL_ON297P*3,-4P Q3A,V$8;]5 M7*.KY)Q]@5)IBXF#?50Z]UWZO?9O3*7LG1+%1+%_"PT2C EJA47S%E56%T!&HS$P3$/=#AG.=YIP25+>8R/-%.YL,PJ+W='H( 8@<'U MG$1R?@TX[HI.@\\2- :'E!1P:0P2B(5&NH-B!79'2Q*,&K-,Q!DS%?U:]I^! MAEH)32 71B(%05AZ@J3!E! [ TEOB::I!*I$I*VX/$"4"HIR)0*%,$[8 M1R*] '&-'W-K:-PGB2#% 4E4$@40N0KAY88SSIZ8FXRE4LU, VL-$V&LYC@0 MIX?>;K0R6$&G:8RY8^T>H$\$T*-' _1JS9L_O;RA@]'(U!BL:0U%(96F F^= MHR\9U^ @A1 1D01R/0/$<22%R4B\W3\^@$-_2TKZQXE_=.AT M"F+@A4U.@!)&1YTP%'=!W M4'O%YX M]@$,GK'062Y[?AM3 27VF%=F\RZ482- 5-0C^9RM*HT*,*Y-A7'1$J6@<'J( M\B_C[&JL1C+)'Z$5Q&0 M($9M[ _)LX_2NP'>Z'[P;ARD[F!X\_"V,901_E.1$$*Y406GB,X-HIMH*\&6 MZZ2!$():\$A(8>?$!NX;EC:40YL#DM\+:Z(KM-PECI5. MG &. $^@0%(B$<_8 B5M%!)!&JG*/FS")JF +Z2!2';Z[8,4 MBQKZ[C8>^*5 >T:D? ^T;0 M681'[\*[4* S?,W+7,O]@'M$5*2$K>*XTN3Q ME>QXG]I<&8L-5-5%929&3;_[DA([>*A/BN#%B'5+O+8=#U/@*A!4G"BJA66' MWJZ,FP69H%CGP Z)2P)N2>H /6=27(.LRQ&WY(/O7Z6_!,)W]9AV_+\ZIKF" M:-)LK& 9SRB\KD)[&=H(FX_@)G>H[=(VCOS6*FT6?, ]0)UY+JP%^*/T$2FD M'"20"+30:3G '8#1VE VP+]$LYN-"[]7 B?@]FA5Q*YR<;@_>VWW['4ND;@A MD10(,#KCTKDY%H"(J'/YX@PT WY-R=D3.9>>'05U5=:FM/0HG-7'%5]UN"<" M\@0[&E@$P((I@D!^8*D=7X#JZV=3)Y]XJW%\B..X&O!:G MHW/,\JG&$!&@L\&%-82+*X77N I\AA3%5,DI4)HL^*2NZ.LZ$D)>2C4';)UE MRH<_OH9:1-EV:$1GQ_V_\@&#F4AL%O9[/??Y ^N.=S%(6?*$CG5O6[V6NSQT_C+?=:G^!5PF;UCJM M*EOKIO5..BXNY/GW79PT(#0C< M9UJ2C5QP=-09'NU=\']UP:G;.WL7/*$+\$K_J=BT_=5X(-YO+;6^FX=L6_%@ M!5&N3LU>]MP_]@S7I6NZMSZ^\]U;=E<6X>^P ;:6ZG9E0ILC=X_:/6IW94*; MH_9])B!E'Q[Y3?R\FE2F_G[0<<"H4/NWA#A>4.FV_@;9#M6;G^@K M;6>U*6CBVU:_=;:*_3\>DI'25R.V-E#SL.03:$<:^'6;IWB@"AF?*I&TUK1% M/+Z>:,SO"16[E0[K@L6L :Z=+Y.$O7IJX;!YT])<++_XUSAO MW'7?+/SQAW'7?5WQOU!+ P04 " #<<05/I?<^O7$& #6.P ' '=I M9FDM,C Q.3 V,S!E>#,R,61B-V0X-"YH=&WM6]MNVS@0?4Z!_@/718L$\$6R M+X(PEED$V8,"10C!H6DBDW,;F0:4H%.69*\20A[Q0/QXR0 M@V:GZ31=9Z_1.'SYH@TK@?U6N7,GB_#V6$OY)=$ MFUG"WM8F5(VY:"0L,MY.T)W:H?6G&5-F5OJ +#-U(JN]6!X?C$Z&@WZ%Z/3 M$W)Z1 8?1L,C,OQK./AR,?IC"*^@=WB^KB'@(H3E]SJ[3VO;LJ)KAV>9TAD% M0482=Y]\:7YN#IKDS:NK_EZ7N)T=ITZHOCX*_1GYS +#I;"^PPE%9$1,S,AG MJGPJF&Z<7B5L1OJ!P9ZVX[3K>7\&GBL- ,2S,8IXP!0.>">Y&$OR)U!)7 2#KH#.8'S=V8?WW>W2,P4 W- C('C$CQ"#W06Q*5T._2@ MJ\DW(:<)@_,:+:'&6S_PD/)WM_,#DDBCO;, M*CB=DADY9ZE4@"%!CJ2:V.&NT_A4XJT !(FDRI\CK@.:D.]6 &&P/"'Y/1.L M.+@LVVG37)'NH2* ML(+MT\"V_2#8<@'(FU",-0!&&,KQ9.,B#VT!WHARA'*JF$;DU+&;PNT1IH%N M0"MTI( 772\@+*@(\#T(#'DN&N*.H[+$ D^F3.4Z]0_[H+GBZ)B[3DYY:&+/ M=9S\MFEP3\ QGB0I#4,X ][6G%K^K%,:E,_YU>5MS=Y=:J4D7RKX4&D$,DEH MJIE7-KI6!1CN-*T::[M1M@&MD%P6,HU,:XNF[=A9A73H]US L)""D5?O#_ ? M*3OS._&=O;XT1D[N[K=WYMO=L;T3N6 &K'RQ+MY<%'XQMHORY25342*G7LQ# MV)QSD5_0^.^[+9_CYG,6@%""(,]@PBH$*Q(":*D';8S'7XT[#IO[G3>_#+,Y MK&B9\)"\+_^AUM(M6C_E[2!4]TL_&F2X8Z!U+9"P3;VA@=E50^JN6$JX/27J!R;E4;(QD M94DY!C;WYYKX#%]'F1)HWO*[5GN3]$E))T,2QP5,S T"9Z;@O6$PW(#"O)97$'@_9[!CBC&$ M\:F2EQQY0_!SGF/$-9IBV<]'*K"@>OS9K3$W$"@$S$4"^Z^C 9,F7&MT#Q:( M&XVF1A')4GB#MC)M5H'167Z+K("QUT:@ 4]4Q3PL# ##WM;A-R3 3ZD"IGPF"B7-57U]"AJKZZ M5MQH55]][O55^U 56>^QAU>N@DE0Z.LN65!4OKQ5K23T4O+P/RU6OL3OQ>9? MAWWYHM?*OV/[#U!+ P04 " #<<05/!XL)O\JC @ 13R$ %0 '=I9FDM M,C Q.3 V,S!X,3!Q+FAT;>R]:7/JR-(N^OU$W/_ 7>\]9_>.6'AI1G)WKQ," MQ P"A)B^*(14 J$)-##]^EL28(.-;6R#$5[L'=UMH%2JRGQRJ*RLRG_^[\(R M$S/@>KIC__L?] [Y3P+8BJ/J]O#?_XBM7)+^S__]_;\2\'_1OQ*)?_[?9#*A M=]/-2D)UE, "MI]07"#[0$W,=7]TGV@YDXEL)ZK =7733*1=71V"S2/,'7:7 M0DGD#F,8FDDDD[]WNTW+'NS%L>\WK=$[]&F3S.9582/Z%_8+0U FP=QCZ#V" M)>K5I\W7_53T@2N[R^T\[V''R,,PF-3AAP3@SG0%)$K.(%',PK>1ZD"F,2TI M8P,F2= RDAR@ $V2&D'3*#; 4@J]TQ/\SS\C'Q(7$MCV[@,O.93ER;\_1KX_ MN?_U2Y.]P9WC#G]M?H@FDD30)([^V#QBZK;QT'X^G]\M!JX9/8,A"/XK_'D M";9MOO#TO=9S?-L6_=6M5@1E!"PYJ=N>+]O*XU.P3]5_>'#W%>2O]8_;IOK" M3WI V7L)_'PW=&:_=!L.!X1T^^6[LNUICFO)/J1U."\RB= [\_)<_SD9X)<' M2* O7B( BN^\<]O&[3D$AJ9> M>\&ZQ?:!N:[M#V?@0 %T[A3'BKI'*!S9M#W$8Q2B^-F,XZQ$S@NN$ =4^1S1Z07WH"3 M&:;4G2*K#%)>YLJ.9=O&> 'W, N-]:0N,]'"LC>9#S32WEQZ2&>4+.GC+6< M__@=ON(KQ\K94."6&3A:5S:+M@H69;#<&RE=;N>)^<0J<,G% I0Z5CN3#D& M0+6#4M WH-\Q7M:3>$VBUX.EI8U%E=*!!U61Y[$*U Z>'LZ(7>B>%"I;B3/E M +HK->#/'=?P*J92!=8 N%*>7)3F:JF=,CKYC%+NR[D)Z#[,;M/W_;;OC&,- M=#NB5@:.""IM.&GXEZ=#S1!]7='E@6Y"_3I,36QDO);BHB16F[5&]6Q\AAR,AS[?36<>T9V3:<*_)&CKD?^ L%R MKJR$;TT$MKXFEPC_D 2HSE795251R$H]9=)II_,=S^ +CIQ5IZN*3;%037OW MMFY"=>L&4(:?D_P1$VD3-RK]E($AG6ZR37?';K90G#^E&J26I?LABCW65A\( MINA@'\=XMU"1]1;=$G4ITQD.^EBOQC9"K;P_IZ^8(XI)^ 98W:!3G(YYDA6! M;VA-5\L%!/D,&L=.$E/3Y2"5\E0QP/ &/2*KI7J>_?@DO9'L D_R,GQ;I=M# M5YR:RC+=S=O+Q7SXP9FI0-$M:$7^_9'$#\W3L07?40PA>G71\P*@[LW1;)FS M2;%?L,1.(^6)B AJ= &*.8%1% -E_W-MRT28HEA M5DU(Q[3"S4J\K-?"^1(HDOK$?">!"Z0AU#?U!F E),^)F+Y"^>RP_62VCZH; MV:I#J+OA!_R)#,'PC?*<)IVLT!+F(\/RE&8@B?XPA0YWB9MZ2MO] M@>R\?OUGN%YKAE-"]^U'5RB[I5E%,P0ADTWED_FI/@WMQQT<#(5C^$N4/MK> M/?Q-.]7&U*WGITA',G697!5QEGDF]14 EV+UZ&70/'.+"5#U4 749<60A_L> M4*!B2@G-%ZBU401_4XE\L$'6XEH++>PB-MV4BQRMCM-Z? M"$A^CHZFT\EHOII#/?=UPO])1?>>R0Z,GK7":8="Y+99M^FD5M17GYGL5YKG M_8F&_LH^;LOI"?1V$$01+9EMUR;+955EYE=BEM^:7'JEC49.JZ5Q2PC-T02N0NU]E['?+>CUPA0+D.1\ MJ%0M+$EFL.&K6N7KYU"T%1>$BEXV,PZT(!H_\&7=CB85KA:4_3D1)7Y>&JM^ MQZ!-@*X >F/HS>6I>7X8Q;P+7V/4!K8M39_#19$[$, M5YM@^J*8)>#LZCB2/>WLZJZC!HK/NYN@YJ.]KP:FK^=D2S>7==GU;>"RKAO2 M(ASR9OYOT:=:PO *I>BN@07Z$.4QMC U#]*G"11G:$=+L?5J>]][TE+3YLQL MT(B%<\UIP2WH=#.B1^^KR-$9.2;P9!-\F!B>7QL[V>+2ADH2ZP;:9*J6>Q\@ M!L>7DK:80CM<)SF!;D*MR#21D!CHEQ$C*WL?)L-*X):VG$FW$:%!9BQ\J Y6 MR\;[R:"MI 66U*#W@.'\9&RBTKA(0ZU6)Y^3X==^("Y2^'#A!;S?_X0!SWLO MBF5"NB2B .A]&";\]X>G6Q,S#&Q&WXVB&'(XON0V\'JW\-30#NSWL7[=[CNB MCYX3N-&G*,1\O^%%-*.G1ODM$FY==78.C64+CO61,SMZ)MHS:0+H0.N*O[%N MH9GU-KV4Y%JNL6KP';%3&+1JY6K5L&1(P,T 012JV7[2U?"SI@,W$4T4' SV M9XKE_4C-TX>WW7E@&$)F_5&%+UM,3%W1-QA*J+H5QC\<&S+!]>\?:/'C=_AQ MCQC__#K8Q1$];TW2'A4W@93CR?CB^W\]F>FO0V2=1+A^('(42_=_K_<-J"2. M/%!P\\OV\_:Y7WM@^B"VY,7)L646Z2I #3 2!; MCZU6N*'":T6X IKI:B";C_BI.38'-:JS!""KNT#Q'3<,A-7 ?#TO[VT(;BS1 M6_!KED8+89HO>89@UG$2F*;7RL12M1TDUP8H1]+K/"@]CM)Q1V@\7;X8XO 0 M%39(>),,'P?@AXW[!^ %(>3ZX9[C[^VV/((^]//PVP-GU)VFNUC<_G(-6-PS M['D'L0NUZ9!&EL@H)Q5YU92R-RQ^WAGXX[!XQLC =:'Q"$+<=&-L\;BG'0L* M;:O#43EK9-2 EXONV*(KC1L>;_HQ%M&QZ\+A*P2XZ42%NM4PWEAK^;_GN//0ZSVF1WR=IJ$_BR;FY7(!UWF&JR69.C5LW%!$7Y MC+^Z.I_O\.2^%?W4]\; / M['?'D(TW3^&X[9[FN(WF[:;'<=-\Z4?,QJ^DM(6U) M+CIIIA!-%!2Z[ZYREMEE8JEK+R*D]/$LI;<'3R[ TCTI%=2IC#AMDS.FW=I" MD!V;*#A7H7>_1$KCP-)-:C"^^?"YHR8+K=TN=\R\P&5P;6H:5"&Y,F+'[Z=' M7I[,<>,UO33)F.AL]+1HH \+^.?@H"33[;%5DT9(>3$H\%E61ZW9#0Y'*P?Z MJY7#DW-GQ^9S?0P=VZ>K0/:"=0YMT9X$_D/FQ$L-LKJG.('M-^$DG_3U_$C: MSD 6"APC)[MA='<1A>V\E_ E]G6G\_ MT2&?S9AZ33$<3,;[ Q1#.]G!@L:J+HM3,PV*PD1.5YGOLQ"]*8:;8GB'8CBS MX*_CMD]^W9#QG4+_C V[)\\EOD?Z]46R7S*FC%T;,],^GHO?MGI\96\==WZ+ M46>6NU=9?!.L,UK4G*R[T8'$2G2CA.?O"5>&4[54F>K9R+**5#P,KA(GO=B9 MS/@*5VP,VZMLO@X!2SU$OM[R:7%_49O/)L6,V)$-UDQ+&0H/KZ*)%VJ_,I:Y MO]&7VHE ?)8KQ%KMX6\RI3R8:9F*)QPH!S6EOWPXU.WMF9B=JT3Z0CGN;G MO0\"4=JB#=1M(&V#@SF7]V5*8SWD_S[GJ]_&W MYMAA9ZYCFM%];#YP@;=-Q&R[6;= I'$=F3KLU%(6903AKEW:7YOQ]^8UJZI1 M)$4VZ[*N%NV,/-%]>9MPG2*$YEA>M55$%E)NNUOER]6K9_:K4_[FW%:4P K, M\)I[WA\!-VSF@E%(R!DH0AFPML'%SK)L=4U6]KC\I%D8):L#FBM=/>>/G?YU MH."CR[P7['&(/&.KNV[_8A)\ES'A2"RZWJAJF]+*!(;LC M3=4#S"E.KIW+%['@L>#UZP:\U151A!SFBT@'R;,XMW(++?_:HTV7,>#QX/;1 M]MOJ5I)=;DD/1<%TNFA^0BT&WM6[;A>WWV?90#B1_2:R(%EB\_S4Z 19:#UZ_8; M#^;-L6OELF)@K5HZHO%2IWOMS+Z0_8X%MX^VWV5[7C3FIM$WDFFGR]JX@!3[ M-_L=4Q3TDWFMQ)$BRNE(>ZHU>3 ;=&.V@7#BR3_$H%*G\5XJ%56=I/UI@,CV MLBD&5$L9Q??*G#AZ+ZDS!1G?R^!7W1?+R0=ZTAXDQ6ECFG0F9:5IMZZ=S1=P M7^+"[-?]EV'5[>*KCNUPTU:%"))4">.N7J@OX;_$AMU'.S#ZK#\:-EA&%:G\ MHMOD9"H]CU\)IRMS8$X- T3"OJ)X> G)#P+/'4PX8+F.3J3%J2'&UIE]3H/- M,>]/$>%\6TI($L$^CXBWKKA\T #/B[IMBYR%MH2FM>0V(8TSX&8HU^^2\MMH46C M\3AMH\EB;-<6\6/NF9)17A+Q75X\X?YC>.@56MQ,PDF1U2KS*F!Z39;+2QE" #K>)>QKL06? TRLN/FF M$3B.G@X,=?PT.EL3HQU>1 M;4A0W1[NZ0YA)+MK[KSOL MZB#]'RZK?HT!GY>E0X)\'.O^-"EZ14I"QFS4759W@>([KA?R"\S7-/%.)BXN MU7!4 VT/C65ZJB9!U1H6Z=@Y(F^!^DAZW= =9W1SL$%HAD\-<4$M<;G15%(X M;#'A$5E4)Q7BNT#\(-%N./\:G%_/4Y5TJ4YU(/6-I#QHMAAG[0GSO M7+]&;_^!UC>$OS?:P9:4VCPYQF6D8\@$@2130Y>]EAAEC*(=5X2.8_5?2_8& M8S$O&$9^1J3I>5FUR?B>!(C);M?%)QSMBR0],?1B!E5M,0"B9+=V"37A-@-]ZFJR$OPE;ZCR.3K$]7WJ\9EVB ML4R[0TXR \@^LFQVK)55[<0.D6^4A'^3Y)\+,'PF=.%#\5%?%K'3LABR[3P= MWZE.V,_>_?SG?=,#77<(&+,]L&,50E8/K><@@--G81^V+0M+SP=6#+6!J74# M#J'3?:Y<\BW)*Z[0>BUVKLL;VN!U>M]4P4T57$P5O.T;M!J*47QK332W-4RU/LYG0QZ4W^$*4:$WZ^4?+I MLT*;G7O)ZF(UJW%\9E1EQIZ+:]UKX_"7"NW3-=WE2CY]!!%5W=3A()>\6PU, M7\_)EFXN-UA@_&6Z+8\+ %H66K.FGD,,:X-"Z],\(:"(]6^XE<;I5%J$AB9 M@I.;CX/RL-&Z-B!\G=J_;BRP:G2FS LC[?;Z5.$&!E71EY86,2L;>0GU9E57 M7Q+VM3ET+T[OAH"G=R)L#TTS4[0E55I!CLL@C8;?3_/9=OF* FM[EQ^;2-V@6Q&!7,-\CJ6#;/PN[8NS3QBW_9^/^X2U!H<*1)8? M&676:G:]2D4C"K';KHZG3WA=*'C#)^RXW1S?JB$M<8G7@^*@K_=Q_=J <#F? M\+JP\+)/R%56G#UV\BM.[MLC%*PRBLY>D6]P.9_P:A!PT"=9UE=FE\N43'VPJ,E- [VVM>#E M?,*+EGW^"")>\PG90KZ$8GG?,/(3KC>2^!&;SEV1+KB83WAU*'C#)QPJ9)"K MVUD:H;CVDL*&2BX7OSM"X^D37AT67O8)J5FSD-<0;V9T"H)0S_J3M+>X-GWP M]3[A-2'@H$]H3,UR25ZB*$<-9J4.6<7JK?05\?U+?<*+ M)7'+0;F4M JCF;6X-AA\&@0<] D;4FF>;#"CGLCSG:%L6R@[ZM]\POAP M^Z4KS2 Y8"?^,KR@S0_/*T\#?1).*[W&!M"J M\8=)/3=NSV"AXNJWN; !NU<#0%3@F[A@L M/)Q]=C1_+KOAJ;KMGUDP Z83/9!QO(?#I9C>'T\63H/@,N5BER?D$K?,QDXU MO L.#X>2CR7"GX"("I ] %=5:M&:N,XL6DH]7*9$-%EY[-F=& MWX/MK\W[S^"[-8'K)/>I\:]5E]/,LE7J<S/>0-%FDR[%; 'R0Y0>G?!W< M/G#]Z1E$'B->>O7&E-,:[5M)&@Y=>U14[ 4^;W ,'7 M.W_Q8ONKWM\ :RMIW+\X7)=^^(C026JHVE+5=#M)7!&G?&;BY/5E6Q!B&^*)30W5 M>!XHVE87/A$V5AR'90U$GXJ800[J/2?I]_.QU0BQQ<8[$HOQDY1?>R-EZ"38 MJ(MC+G#2>1Z92D(#+:"-NA[?L& \L1&'=+)/V91WU*9OLDB'&\X))"#DT

.#0:2YQM##A. W4-2,Y<87CMHOJKP=WRLT"EP MNUZ1IKMN/.1Y!329)]'6UWA&M#K[* MN:8T3P;7KG8NCZ#8I%/CS\(GIT;0BILR!:- ;7OJB.!8+> MD7QU&AVT";E)3ZP6JXX#SX]BQCG'K8$YI(X3V.'E]W77L>&?RCJB_!1!FT:0 MYK8JNZHG3E0X,-@W@3 ;]'@ZAF,]ND09&=18D]-+U-BO/M MS^[BZ 0!NE.HEQ<6VCY9+[IBAIX:@N:P!4KI*E91H!?B$GHLV U?+7CI"++),N9V#V+WG@YS9PO9$^>4SDR(QT11XZ MF9 L@>OM;ECG72>85"J9#1S&/=UKUGG4YN15W^@D:Z-T+G[.1YC/O3?-3;K& MT?,\GVTXWZV^!_B:=B"\G8(#9P(-)L0;G,I$5AS@57Q5WK!T,>KU5'F)=8SE MG"(ZXJ2,+L78!5M?8NDQ4XP[-T\:-GU5FW=2=ILAF#;#":)=F9FH5:NV8B>^ MUZ#-XW"KXZ="%J_B)$^D%AU\6"@CR6EUF9P'J9F"QTXG7 -.XA"8>$&?5!S/ M@Z8P7"8!6]&!EU[6Y#"+D=<>OUX^6I/'P@>\)MHJ<">RKFX*)41EV.KR_ MBZ7,;K]LE!9<2X?@NX5@C1 M P<8?+A.@#Y@-.,-1P&6):6Y6N]S%H6DYODQ*G?C6[3YX 1WSRH\G^&U\?(M MA[/7<-+=89$9&TF_0B,Y":%].G8B^&%_\7JXLN=X$6UCBI=25<7HC/$\T^OY M_30=N[V%#_M-,>'*0>_XX6_:J3:F;CT_13J2JS MON(65'0;/+$='6 M?:\IB%M7)&U55-Q!ZM 50=D&1?C&L!Y;#; WP]V%P"M3_)YZX"-(X*R)Z2P! MB(C$3\)^-B@8V442G_8-3Q3DM"=,-,%L=]C_P@27M8%F)C$ M.LF,)QIE?Z'DP<@?SAHWOR#6"#A\3^YG=($II.26DZKQ",4DNV->ZFE+_*8+ MXGJ'[J>0\+(N4"6/G?NN@2!+JC'2O9@O.1F#81:CMQQNU1L#JG8 M6H;C)OX(DU=F'O?X^HOW)IV0^7G&HBM8OTZ)P4*O3CE',G-2;%5!_)E_^EN4 M7E\2GA *0SL8D;J^[')\.N &O2DK:;,;%*YL(;E1&L@SI1'NT1>C2^3"R>P< MT7'LJ/C$P 2B[:US:@1@ZXY;:+.#QZ7,=Q8>>&N2=L.)]21+[R:KGUL>Z'Y/V*HT1//6*^!ORY MXQJLHCQ>'BD9[:X$AH,FPE=RJBAIK.S$KZ#(EG.O3'$#Q0-S_!.CYQ_"0H8A M\R0R5-*&Y>;JHP:;:R[MV&JCV&$AKM'3#V%AA02.EJ/JJ+B\-";*,GYS]-=" 7AU,6#7(" M" JA.K6E(7?883U^%QM<]@C1GY+E<[9S0P=P-\B32:?7=H"8+\A2)NBV)YUV M[!S8RQX6^F-PA^P8OR\+!DR33E9H"?.187E*,Y!$?YA"8X? "RWB/V\_X2+Z M6/NYM]Z^FF 25ERV>*)O9D4^69[F&T !A?C= 7,]^#EK".8K7:KM3VW9U65( MUB:$\]XS=1?R)_QVJXD RUA5-COB0('-D)0R&O3-V"'I:GRPH]_WE$&/;WO" MH6]J=N,D$Q7'5L-@L _<@6P;O*8!^'S8K%),\\UMIFA64 <5JISBEJUBOI42 M^?&X%+M0UY\D*4?Q[0^7GQ,LE]YM4QIFM^:D>BR"6"V3;Z7H6;J-786DQ')] M=;,I5R@3Q]F43FE@9"NY-B>"J5VLT$V_V4Q>A??U727ES[,I+R7.G6?E:M7: MAJ>D-933N]UQLE/IX/@D=K;A*E>NY[^FXZA;#>'7EF-'R:;;?"DB3WIL)344 MA54UU]8T<^078Z?E'N[J..XJPV?3O ZN?K1 RW.N%E>M"E_)^UDDF1;P2A?- M5"K9V&[QQ8^K^'E+AGZ4K1EM5A^Y!0T1J4RSEJ>:\R8OWX3UBY-:]U7PY[DJ MER=*!P]<4P3EWJ@[*/?+^4ILS6[LN'H6%?QYKCKE$M>N9 89I-QJ5!9FRE92 M\;W,(GY0&IAS09O.2P.M*LG!304?Q];4N53P&#,R=D4V M'223*VMVEV_UI'0 MJ.ETX.DV\#Q6@4CW]/TL.,Z4@[GN;Q+%O(JI/ D5Y71;]T%%GP&U:,.!#8X]A*04;N$U@1O&ML.K"-KT.J9-9M"IWJEQ@33M^ MAET,,MW894YM1?\%NFV6TB\1[O-1GG=0?#.6ETE^/B-$GZ1453P@6W/L4/\# M'[!#%T1689OKYY#8K#LO]1&^LZ*$EL!F7>F&V$\C]D6*WP![#&!?>T!6#-,9 M%H"IYAQ7D,WM]I9F)#D3\>F RZY;NA3P2@#O3E6<:.DUWEST5+"1QBCAMZM^ ?"20 M>5<%+N_674<-E/!]&]6PZ5I:2F,?UTS,L"S5-%;S&37OW'3S*4#\.N5O #X2 MP)G \QWK\++.MSL40N1P6\PK)5IV2@5&O:'W).A]A>QQA^Z19[D_!N5T?D4H MJD@6$1XC%(5KRLBD'=N-@1-#[@3I&E]^FOLLBJP*9"]P(W\DNO7CX8JLZ''6 MM@/9W-15:SNA (5I.CL9?Q)E8<4RV:<-:ZJ)KEXQJ!Y[\QV?O/_":9 MXZZHOA::+S5HZIZ1@\[UMKKD#DQ]! <.G4\)!K5"VPT,+W52R,V^'@W3EUJ\ M3/+K@.Q9;XLZT.4._2#9IL%#D<]G;7=:>LTPS2S,*MMTO!@*!#;-MS41I 2% M9^DY-=%CJW2_XAJJCPSF)5X<&,DKS+B.Y*_SWI!W-J W2DU.**>' B>C3:*N MN"E@U6*KMF] OWSBU(E\D#RY*,W54CME=/(9I=R7471V==_=([ M!_4?_C[V=,?'^-_ON6XK.>F9"%;(69)K5Q7S.BXH.>WQC,LCZ^D%.?3Q%^3L M-CW!*:.#,/PZ/>Q]"@T&H]YX@C M491SQI*8V0LRF[D9G?@>H#KR3KV/H8%I]">C'E*KBE1_(9AZNE.K%6_QV:N_ M5>]C:)!1$BUF*CG4R#1[B[J+I5N6>$-#?._5.V-\"3OWLAO+I?02/5122'E M.DFM6)9FG=B"[13+;NQ/6W:?_ A9NOYTIUK1U? M]_L4.$=O.#\?SD\#2H9)"^5&N3L5J-Q",0,5J#G7L<+C*H$?]<5K MG.S:D 1>';C"2'8A-0]WL >GURLW5EA0L=PVBG'Y]@"Q*K7FM-.,;?SLC/2Z M=!W(.-2*?ZD.Y,516G/U4I"I5@DDV6U3BYZJA:%&YJ^SV[6)ZN%\?#-ZP,7VVC;G#<'C?**,K"276M6*K6BK,76\!U= M&>CI/+^GAODX)A[NQ &F"06)M=6J[!K AW]SBPDD^S9'>]QPA@):DFI&1F.- M+M+-+!0_MN[[J_AXN"'GC3G?L'(8*] A!&&4!Q(N&T9QG$G8=!\N^2316Y6M M)6\DL?JBF6OA,[9_G>IDQP]^:]HWQ!Q&3![84 V;D'*L:NFV#BV]'"XYGF F MVY#2=*,P1#IYDIJWD=5R5;UNS!PU\>^)FM-4-7WFI["C/&\(FKX$_JIW27V,S&3-1"ICK-UY:.0=69V&ZBQ-Y/N6:L'..G M*,J\['F&4Q S;8I2"(TWL2M=]L3$3[EFQ!SGIPB%53JS:%0D1"AC!U^RL7C*9^LLOS,3UD0;G\Q%I@QUVEV2:S?'N(YZCI!6LKX@\IM8T M+F5VNO&]W##V?LJ5(^8X/Z7(Z79W)E6R1GZ9ZLNMBBE.D]>-FBDD+^,4@UAY$[,+)#KNE:]SJ1P;/R5NJ)G/Y60?8#//$(:2U7&*DSPJ MQJ%*2WP(]_HVZW%%BUA5C<[SRF9=UM6BG9$GNB^;&T$K]%>581)Q2TB V"DO MVT/HAA%;Y7QD :-7I_P]MU8/(Z4ZPEO])5 YPY)P3&T1O$[*9_?DKXIPNSL$ M'ZVX^;J(%?O)U,)!9QU#UHJN.ZNEE[GX[@W$7<3>L2NP6S/N;$@ANJ0^<0"] MXC))QS$KS69SQL91Q"Y'N->#6Z<0,<*6RU9*6,I^%U]=#]J_I%;E#>P?+P%H+%BJZE CDLNC?9O4 MAU6L9<9VC_8J@+]]Z&M+ -Z$X&/E SN-$=-:YC,:EY$6R:"VR*9H,K;KD:L2 M@*\K'W@#_P=*#S+=C%74EUH26;:5.L5W6)_-W53_%94>O#CLG]Z-F#9QH])/ M&1C2Z2;;='?L9@O%. 2QO^1"P&[0*4['/,F*P#>TIJOE H*,PT;T^6Z)2TD8 MM6:]7F4"H][G*%%@<&Y$3UVS?/["&>]F?2J)49^?_!OG@@AE"D:6J9$BQ7NH MI& :U@-Q ,)%CL8$4(%&5 NO=PICR+8JNZKDA==$>9*7X=LJW1ZZXM14ENEN MWEXNYH_^E[6^/N_W9HS1,]OW;'_;?@Y?],9+12$K]91)IYW.=SR#+SAR5IVN M*C;%/GNC[CD$AJ;NX2/O?V%6GT'61*_;S+-4[$]!7*9X?M ME[ 6/O&)%V:E;":)Z$*5+!N906]*._F2TZ^^,+O/06R].?%XRY$GDHVTG?F=QCZ!TU\?^&#$J. M0-0%>9O MP#V*A;U&[[E')GXB_ ??_!%V*"=&+M#^_?$_+3X#/WH3V7[W*\*NUA_#!^]M MQ[5D<_W-?#V7S5>A54O*ICZT[T/*P?>W9+@:2#A:(A/:O C!X1 @!V3XS^0 M)Q03R.[]P/%'?S]ERB%JOY]@<#);7L*WP&7(WE8Z Z-$0B4<.2XYD6%*Q 4G+"":IJH9+!*4PDJP1 MBJ30-(%KZ@!+X68X>#X]-+6%\ :P \=485NQ M5FQQV8308EN^/](.*Q2*M7R+K_U,9.\R=PD,(0GFX^/Y&JQND,&..9!- MT_$'SN+'>0#9"."Z%;CFL@DFCNOO8'/@E2PEB=D:!]K5L>6G,_ITT7B&S2TY M!#!T0$(L)H2E!9&Y1P[T,'+_S_\P*8+Z^T7P/N'EEW'ED/"],(6&R#9;7+/2 M2S2Y.M]L)>IB4Q#96BO1XD.+T8)F8:UA4#S!-Q,H^9?ZW_47?"[1*G"[9N7! MI+"95@+^C#(X\:##(V+\"L7@5R0]'R7 GO.Z\3LCL=#M,!IRG]SZHOM>8_@/ MFKICF+O]WR^+,,S3C6)N$JH>G0L-A!N+=^?\@7.JD2Y:(] MMQQ\92UZXX[R)(U,"AT.DCC2*79=@LK. EUZKCSWYX$@:!(G49*,A8MS\8#( MV3G7!,/H'+WMU^ O.]R3\EE5ZUL#!*$\#$EI5A-+X\^7D*^&-])\L9;G$YUB MDZMP@O!S+;S%6N;N=-P]0G#^XA:RXD=3#P/6[L.4$[*7\"9 ";>1U81N)W3? M2RBC:%'QWT]P]3QQ645C: T9$)(ZD!6)D($FR12J2!C0Z)1&R"E$VX_+MA1) M5>;T1*A@-%?&['RV7M.'77(.$8,\;>FH!:W+E(>ZU!,;*P>^L_UBO7\3?;-GWW<-_KH-\FQW9M^W?NHR.UO7F*#O&/Q_[_+W MLP[9,7K_=1?9"P]J35QG%N+[Y&O9M98(K^=PH6\<]16=#,LX@>V[RXRC;I1& M"+;43.O+J4J;6W9!P1P5 S&7FTM(!(S7E'X6F/)<#C>=C_."G_!G["7<)SIJ8SC+,;KT:+.F[VCR"E#N4;7T5 M??[O#4I?S8]]U9>H.7?_/6FTXQA:HN=>Z9S')Z;P@8*#%"T!G$E)!$T1$D,, M-$EA<"25PC0919FG7JF)94A/:,Q),:./Q)(Q'30HIG'()RY-\Y,"U^X*1K*, MZF8!RQ--V/* IRNW:T(:BM58G(YLJ3V:E+,-OW'S=./F:+"JZH9'*=;_J>@V M0!^<#*S(#W*>IR&).K\TT6K(SY,>XKBC 4DNCHIC?279!(FS/U[F<"BSR. M0ZOEAZRK_6YP5SWPR'Z;1,YT'/?Z_>38J^U/!(W>.[_8^PM?)I89^"?OMIRY MO1.(DG%%*[/88L[)OC R!B-7:ZAOA1$KCI=@[2$PPXSN \+RVK,_W]A _K)5 M]X8JD>L MD":,$T]<*&[Z1#838 &4J)H[_!JZZ<"[+9*^?KT-<9H(@?KU:Z,X[_O]=>X- MOM FLRZ0'W5$9'K0?*T!0-GM&OG)J#6MIVH:&[R5PX2CR+NM\7_/OH497C9M MUD>._7P+TV&:E-LHUGT1*[)B%O?R4#^\-4N2II(D2A^>ZMGVN!XW\D)8HJF_ MO80/W9]).*_-;O#/!%1H9A!*:D*&+(5DW(K3)_SC3=+$DYR)RTG3WAB$L+J] M[NOP@?6V'W"!FI@$KA>$^W^^DX MHJ@+BOTU^&^H]L.T"%;Q[V-,ETWP(T4# ME=%47-((C) (G$A)#$%BDDH1&,Z0 Y)@M&?;?%:Y5M:;HF L.4&R)?8'47%GBNOT:$%+P>UJEEM)4\* M')8*I.G2,PS4>RLR4&.%+'OX/-*K,:L-IU39I7Q'/P$9< M$M"TS$MIH(>^-72I!V#3 ':\<:\?TK\==S?]>^-N M[WCI6WT6NN AU\+T[X0*?X7 #)M.7*" "*8HMNXC.LKC)?Z"/6OP'R^ 3/5& M3IC#M\UI]D>R_W0^O807R9P73B4]8F&T,;[LA]X M.Q8B6&3T(:GTYF*P8"&#'?U_Z;,;]XPT ']A^RQ/O/0:B_ M"-8(Z S#/ (]^L_Z=37GG*]E4AC^Y+4Q7N]=7/A#\$/<6[KO0VD!)L2_Z]BA M(3"7"0"-PC)1#%6OK$11TJSLRXDP)_RI6GCL8W<)W@Q,L&8V@9"AT#?!,%A? M'[?^6DBV$G^%?Z;^QG#L;M/*'^E1MNXDS-;]$AVQ'OZ#V /OOU\FSSOD#:F[ M$>\=>2:L IZ%KKINZ+338[Q%<2#3[$V>;_)\0)ZAX,@)$SX/$K*B0'F&&(40 M#S'M_H1V[^"W"0BAY,$?/ LJ O@6=VMMH 18<+;+T-S#WJ!5#(0<,/HJ&I0 LOFPSOBPPE.R09AOS]T@"CG]&_M\V>-=C\_G/;X,7A;3L* M#?VF[0M#W;;4[1UMA6*#)+8-&>XZ+G>QRY-B,))F-(214FB8)R7+*8D>T(1$ MIQ02)V2$Q)!G <#BW,P,5LO5!,D/>\5%CT&;P\S!L%YOAB(,8&3 31?\J&.W MLX6>%X;U\*;KMB13:[I2M M IGU]2%L^>SMHV0IG?-FK(??Y8'GF($/_MZ>*OWL?5AG2&5I5],K;@1^A<#OB6>^J9$_ MO\WY1K+:^F+853DP)@PK0 RV M,-J<0JP<=O(^O;?SEHH^ =%?7*)4A43>@G^BS5LZ,,Y9K:=0 M0>=(E&"?(BWQ,A^?W>>Q=GM\M?H,ICH#QNIC[2K&QT=N!K<>U&=:.K?:EB3S&*Q8J)G'7 M]3IR36D ]IRV^MMG76FO[(B&)S0.[N/JVJ&4C"@1 ZXL;"?*HPB\]6XJ?/_Z M(N0#MSLZ;O0N!_R?\]N"GZ2J#EMO7_M5O_W@B8YL,F_5\02M$._/H2O",V MN/][E^C! 5]WLWPMN! MI3J^"A0=+EE_)#SH-\ 9(?N0/;+L8V+3C??OCV(M=R Q,SK7$J7,"]$(^<"/ M5"N$RPZ$ASV7RJ4F3DGL%#M&IZV)3,J&AI<@?J(H\I-!Z2TBMW3XG5C/>"NO M[O,#@L[C^^-4;[*Y^YS/KKLTZ&Z3CMEGPY5A8KY+4KO?:VJ>Q-3 M7H8(VF2T;,<07A Q]W[)TIR+99II8 MA)PA2*YWLF4-NO+WLCF7E]YF_E.4)-NDTD63>ZKRIP].5O&IBM<>"]^AJ^UN%I+ M^.1-Z)]6*!]*F3LB'R[J-PDU%+13ZR2ZIX=SWYDBMQ>R@3*%,K<,KG,GRM'$ M'7XC\]G)3-Y=,N/S'43^0![5^\3V0DKPE"(1_RE$<'M21G6R>-E=_NP$'^JS M?-!FUJ%#]_)Q9&BC0BK\^P/[\:+#&-F?UTC"$'?DV;GZX%W5V6:KF"O6V%JF MR%;@,I-O5MFPRH[$D)#V]#-ZG,;OBLCYW.L*1Y,H1@)>,1 MN:.?:,NB#RPTM]W2B&[3C$YI2S2#X 1V@75J.*($>O=L=7H5 A-CNCX,)O$X MFL1?@2T'JNY'%SR+#!=]#CQ$U(8B0D-SU^T^,QA^B#'M]5V6'F MH@M&4'?J,Q#66+5 Q?$\"2-(/*YZ?&_,B?6@$W^%P_X6X17R)C4QDIJ;8K\I M]IA#]+EB=[0HNW?DF"IP/6X:P(E*&,.0"!E#I1[J]-WQ;I*%$^MQ?P>53MWD M)4;R.HF M)#$2DIL>O^GQF$/T08_7'!]XON./P,$H^D/:R 7T>#2T\/QT>&3O!:5^**WE M.RAT^B8M,9*6FT+_#@K]K41(K"K;\G"M0[*ZIP2>ISM0O:BL+9M+3X?>;>Y2 M&9'8=\B(C"F!'T?U('Y'?=S!P9\&3N!OZHHFFKIG? =+0]RV(^(D+S=+\R=8&B*\$,1U3 ]J MF[KK*$ -PKNA&(Q@*.12)H;X#B8F;I3=#B>R*X\#NEF.F^7X!A.[5LMQK7O &T3-YT&@%#&4S M1*8(DJ OY3Q_C]L3XD/4:"2)G:%\"X_YEC(4)^S?+,4?82G8,%2; MDQ7?<3V)IA"$("YF)=AO82;B0=%P$(G-*&[6X68=OL'$;M;AJZT#Q2U&<,J^ M)S$4F4(O9AFH[V 88D#,[0B^A4&X):3&">HW@_"M ^Q",5]C6V*3$R04P]%4 MZ@+:ZW$,WT)_,5]42^]")6YV&D[B7F=G4[XF10XP%:"X)%,T+A$HHDD,SJDT2#N>A>%$XK%-4+WCQ4G6,V/'DUD3 GA8H.&.- MG11SA[]08F==#">Q\W+"L!AK*LD'G7U_:4UT=N7-7\%T39;-R^<:+LLG;Z^EE/:@?K'271T MB'[@>3\W<+*5NP=:K)GWCIM;+U.5ZLC[6S_%X,^,[R]QYP[P"XUB/H+O3T*\ M*>!^XH*HS Y\(O%7T4[X(R<(,^B\GPFP4 #4]1/@KNLY)F0KK,#KG7O@AQTM MZGA':Z.V%3E% AD'$CV048E &$2B26(@ 49+,10MDSBM[.GSEB(5C+0H3X*L M+7;:R+A0\(KY>6\85H9]VM) DT8>RZ-CD3=22YNL*LZB&+8DG[8T$33GZLU9 M"@GH 6CT*Q0Z3\TE['F??K6)C)U.9X8D.:'L+ #.B?P0MGS6)^O[(C.>$3U$ M-@MOYV0$I*_DS!4R928U8U4 %D4U)/IYRT50G:&XV1D9@6<(^:'< M+?KN4&*>MU3D:K+.,T 1 WU(KY).O5?U60E%GC?E!X7QK&_A64//-&EY9O1* M.@(A@AZ@?;/E4:E*L2OJ@C(:H&[*&N5@K]CSIMJ4"_1ZSD>YCH,NH3SV19*" M30_POERDQVH/63%(N<62QAPLK.D2-CW _*E@LGZ/8UHB-? ,W6.[#H(W)/0 M]TO]9E?/X'.5R^>36<+)LLWYQ3ALV/0 7K=I>CAW/8Q%+UP:8D:]D6! M;1>,LJ-5O0'4:0?@DIZFM;[=&^I7#!4+ TV/<"M=HWM%IUQ2T>$L8QG=4N@ M9!9F>D0W)/P 7=&\Q<^Z=3DOZJ-.KS/VALD.RTKX M4[I*")Y2!@.&EI2!K$'_$%'"K'Q,8E!201%&40E"?=HY69X,JU.AZ""47THM MQ%P5ZZ4:8>?XTZ;+"3>#2_BBB5 9 67SEI\K!5%3ZIGFR-.H:%@9!2DS%#>4 M27Y$08U,/.6O!-U?4J$'.$0T$?H.*56"8-0D)$4P"BH3E$;N:P6)4+$!A9(8 M="^@@2)D#94&,F0&0Z@:@J- 0]5G(Y\%@M6JU_VN6*Y+CI]RYN0R!X=S $.! MGP?)@I2DQ4Y@EX6JLA+R"#3C!S!$N6V-90R_9B1!0TLAY(*L0-$@#F"HCMG) M'"@/.6[)Z1G![TVU21DV/8"A>4TQJ7RSW$.FE7P^7Z)S1*O=D(@#$C_L*,-E M;D!GN24UEAF[5BODIK#70[;<+/FA-L*,LH*V<9T?\/,>G-8!B6>J37ON\Z,< M4N;%;BJP-;WB#,.FS_3SK"BK;7Z5)\7ILE!H@*G1]9?SL.E6/W^H5NPFY!*% M;J*HZ^:+==PF^N:(B>NJ-NA+^0IDG="'\134-1-\)?@/!TM %V(_Q'"7^2C*$W7 M;@GN!JV_(._FH[Y>O"GQV82 M%J\:YC\3%BARAV"QPD46*, : '>##?0@-FXZ,^8ZDW[7]OZ:Q<___4PAG%<[ M;B)+&X\"G2P2T99T8IN2%",IP1"4N2YU>66(V"C&ZX($_7XM^3^* H"F?;&B M?!\86,_;30-Y"^YO3.E[^HTG)L8;<;L_BA9OQ=+.GMP?:^I;X;DY$?XA"3Z$LNRJDBADI9XR MZ;33^8YG\ 5'SJK35<6FV!\)!;X;OC!ZBO4D7I.H,"LU#-I):1,W*OV4@2&= M;K)-=\=NME"<_TBH0-$MV?3^_9'$?R2T\!2=_^\/?>'?VX&E.O[F]Q\)6[;@ MY ,O.93ER7TH7:RMAO_A'D6+]3.RZRXAU=JR&8 ?"0_2'SX%>][F)(-L*VC2 M,Y/+3&:#6:K61.9F0R+#A$TL]1.GT7]^[1/B&Z\B+RVN)[;+7RNO)S>Q<9!7 M% MSP\.0JM0-.L7IF"=9$?B&UG2U7$"0C2\7V-DP5^#ZGK- +($F>YV\)YB% M4&"I'[]1@OE)H-@K$ANS]>L3%Z$:E>I8)_D")7!U7P>'W8,_P N(F['?;KS$ M;^$9!T5Q-L/.SF3=#$4BY[@"U 7"@V!DP0%&X[XQV\"^YEBF*-,_!]@R2]ML.,WQ9M1?RJL*^ Z*C3:IY=3L8"Z"R:RKB; 8A+>#+0NR.;X(^ FE+TM[UM\X'B[_\5IC.>,'UPN M(_-[N0<;.>/68L;:*A_*V#K5\F7%HZU:LV%?6$X10:*84H9IT%-Q+M&AE\#\ M3)'D+:3PB9#"MQ#3M>7_P\3T?)[!Q^2TV"H86'ZF3XPE3_?1X9Q8@2"\2PLZ M"*F?-/J:G%Y=1"&Z^/3'[Y;CR^8Q3L(MG' +)]S"">]=H;RA<5K=' B6!-Y% M AU#!-=*U5:9N13= (62^$\&OV447&T X8KF?@L\G%2L>W-MB+O+;($#-*84 M1U5C13,-*;JM#668GPR#7T^H(0HO.!,X@F445@B3$2?A)=+1UL,MGA!SPW^S M[V>-!ZP%HV[*M@^7&=Q6-FK@D%YPL#9MIFV:,'B"D)JS["*=IN?AQ;K0WN,D M\A--O9:/=(L%Q#/\?S.VYUW+OTO&Y-&\1,MZ">6P[G"<76:GI7:M$RV%YUK6\; +'I)%]F&7"1/('DA$?$\Z6C* ']8K^1=-]&TU?UO-WZS] M.S71@\!50GEKAG/C-=$#T7+@@"IJ-AN+>1),TMRTGVJ0/$7Q@U9T.7ZXO*=^ M(E3JMKJ_UM7]+3T@!H[#2_F%[Y7407G*" R-M]KS!*9SF:$]I#W!"'12V%+\MQ:]0FLZW%']%G&2F-3$:@P*-6(R85BH4Z3/E>3@6:$%) MYB=%O"9.5[3J+MJ0*T,]/':WL\:^;9G?%MDWDWT*DYW3X:A 19\!]5'4UAMN MAP-^ZK)7QL@2KAC4O*52<(@S%?H9N^X J_KY[?I176F5/O#YWRX0^W@,&I @;?5Z@/.2'?7ZC/G7E_0*J7]'C!,"U<,I8E MVF/S<]_*]QJA5%.A5&,_&>2=&Q QKH+U5;=]7YVK<4T7V?^)]];_ =?47^<6 M>_RF&+-+Z+_CG?-A%Z^5$*OHR7#'>LML(57TM4R_?KT,%H-C5 M%JL1EYFF9UZMWO!*8D-"HWNS,/0G3G[O:[,N+9*WTEMQD\GS7[+]IE#V!TA0 MZ?:TF;%"B45"25)7-&E5\_-O1N @_=K[ZPD;]F_\3#IM\.V MES+?H9#L[!J\K"R<45I0$>+_9^]+F]16EK2_OQ'S'PC/3,0Y$>"K??'<>R*$ M$/LNQ/9%H0T0VD + G[]6Q+=[;:%<;>[H8&NB3F^;CHM*E/Y9.5666I;,CK^ MS&2*"M:9Q&!9:1,.FB<( G;P7D>X"T_?7L]._&)\U>:!/7>1$BU1A9Y@5!J$ MW:_/$WPE[3!8GB)?N1G?0E!>,F8&$(B>\XV-X48P*+_9H!P>RKVNK9T'7Y6L M=&2&"SX*@&0-_]$.[7YMA7A^'S<"3)M(G6Z3J9AC>A6M@!5"'W9Y"H-'<^\G M:H='@AOFXWY BO#]G:VBY.J:_%TF].*]?JZZ '?()V_ MA>5IA($)@.M( %P?B] /^+-!F"^ I<_4JUW367:DR.2W\:YG=]UYG,#RGB_6 M/N(6V)X[+X2&[P"IJW"&]HUD$FZ(=>A?O,:_: (X#@ :2P",O[9>]JI7\PI" M5T%VFD#CMNF2KMF3L706&$V_S*6 V88KS#;<$._0.WFI=_(R4+>Y8G^T6?%+ M@3*KJMXJM/O4C$M ?8O#N7_O>:>()AAZ:=0C%9O, M /-4R2HL JO.!-603\JEZ4 Q/$]@IZX,@LF(^_(#X'9_YGFAKT&F9^X5G*.& M56G$#P8T2=7'!2=.D DV?R(/5O@ILA&N%QI/APU@,N)B \;..C#PAD0#YYR^ MAW<2FS/S6]8 M_BK8K!*/A3R43Q"0%_I4%V%W_3#&%8M>\;_*D]F_**!*OLGS(_ _,A[EU->TD2N M!441J]1DVZ(B?;;A%N1VU 2F@DK'K)-X'J=>YF5\ F?BH_,B\)3&E>0W7H2L MRJSC1 NI2PN=BH-6&DJKI1539"5WH-!H'F7O(:]QY$S&X;8T;_:T2S\F.6!2 MXS8Z+.!9C2O?VD]V?9^\NH'KS?G&HM6I"@:[4B2WR&R70V"5Z'2_I\D\P;RL M#@*S"E?800'/:UR[Z_#GR-4K03Q1G69/Z 3<%K';9;+1FR?(3?P)G,YCR"E/ M_O"(YE/W)3RI 4-_Z!^<_Z3&2?LRF.W]PG*Q#R7,*%-U$=^)W2*P+TSJ M&3!Y GO9P*5/L/]_]#9_?2Q"+^"-IS5..^VM1G$PY8MK2XGDLMMV!BMVET+S MK@YL_. 3P!,9MY,ON"'6H1_QIRA%7*PI1IZ]QK:ZT9,QY O D^T"B>8J^ MZKO77I9]@,3'&F,VW&9_B*S93JG3VRU#97OU!B.N+'. 5%??E)3R&.(^PJ+F:YQ@#9?NL6[MM'+,+BS#R M(DI!=]9.I()&:=(QL)L?J++T^9(H$"0@1^<"8R" RKO=FC#AQV_^&1(/Y]?\RJHB[N!/"AB MO0:B1$M-715E1U^F4$\NX,K3V WE$XZ/68!9!9A5N"G+<(EA"D[\%@IMTMB2)(GD*A7==PAS"+2+J(E,4CD!J7RA577:DHM8( MK2R(-CH+QO-> JED*"2-Y4^/>K_>C,$-.="WN%_#KH3KZTI(>3]AR*Y9&+>X MQ<(*_156Z%\+@M>P?V7!)'@$[SF.&3H@< YRP.]('0OP!8:K);'D7VTO-'(H M\3<,*N]T+_J,6\XGV%D^P09R:_O$G_,,8R08(\$8"<9(,$:",=)MQDCONO=] M<,0DAIYF+3Q;-_P@G>E"_U_.6$<)-S!*NM/=Z#-N.I]@;_D$6\BGWBFN)$HZ M><%8UW\\'A(D&TL^]S^GRX,EVF%^4%R =\9ZLQP[DMK6]L5QQ5WMXWG M%VW;^%%NJ9 "+@H7G@\ I/]<=D[E%4JVU/+:]$R@E+8Z0&?3HJ_$O].;/^?] M? 7V/V"^3,\;,;^AFLBN+!E2D3':^PD #9D'RO("73EPGU.>ON4J=:80&%HB MNMCS]F7IKI\O0_8YI5&*7\J!*%F#1J#8F$OB9N@N*9C@BD,N4\2HCP3VHM<='YM-YN%(MT5 M1 F?47V2\;6@=YWNYOMRCC'4OD'WAJ9%$5++'8S"R"- <((BR%V%)Z^4V@D' MO4Q;Q,;'/001JSVI;+;*TF8"=(4@\BA"9P7VW"=XOKFM?*.0;F]@;TE=]4<_ MX/9UKO,]Z#@JPC6GU(;U\4RU1',1F(.(:%:WB0BQ/'5DIO7!MS@P?/C[]P#G M\/.S*.=%\E;"7#URC5P.1_*Y1*'2%U R-,-1#?_P3!Q-?\7D<^!K5P98RL:P M=[EWS<+?7,AT.Y'1C05 MW5RZQGB4T_DR%F3(E(FD$K@U05,Z>/KIE[>-KB> M3*0#:.'!K2NI:LU=R<.L%B%(9H[.0+<6R.JO &U>LJ%?"XP11U&E$W6BU MC0//3CA1[%PRJZY@NCE-69G)&6J8R8293+B1O\-&_AUC70"QFLL? /;,&ATQ M1,K"Y;TA%C0%DYZ.Z55[W_:*P!"ETUXQX%+C)V_AAJE=F-J%OL(;?(4_ NU6 M&-&+*C7")+'08K<%J:ZH[12TP'O 2#:/XM@-CE9YUF_>-4#%=0Q<4WP62"9[!HG1 !3 ,@%?PV&.CG.GB M8HS3[0((VY<1M]!-9BB B/TPLA4G\@R536^^TVG3F]N^;VB7OO+-^'PX.]\. M_#:@=1>]W;H\69-6I=/Q6(LI+6232X"6C&W%V#R+9PLO?]]^//]LD_;2B:Z: MYZQ\8V&X@;DQ#@;V<*[K)YKK>H-^QS-DI\,>^>>X/HRS;@)PMXVP M,QLHVU.VD=X,5ZWEHM:S3*'BEB9HS%5-X(0\CGI%LT'*41<$IA9N<-;K#UY\6/9L3\ORLMY "XHB=H'1]N*QJ.T):+X8MI.$B*Z0/ M0J]TJ"Q+Y'&4@JT),,-Q@[@ZWS;](F")/=O82EUY).TFBR5>V./RCH@38*4Y M#3K/HJ=J@C>7TGC8FMN>6TC>A>_9=G+$*KE.SS>"$-Y0V.*V M_8*6Z7H^4-;: S2/&"]].U<:^V&X%#IRV;3PN*UX#O *R(?+ZG!X@>W=YAS@ M_3*W[I^\ .#,JF4NQJ/2U(IHO;7EC9HA5.($X$GS0QY[K6]R32[((3L TP+O MD1:X3KL#W8>K2BO47,V.$H%U/3]A@ M#WU2C4%%M8^ EMUM]#PA.V*0>72RC MC1J_L QWWU0Z35UOL'.9H-)4!)DG"'A%[EM2$7>!9>@JG#F5\4Y@%G>UQ8;J M2AU!Q"NU)K]E^[LFEX Y27_@2![%7ME=>1/IC^R-=LDYRE?Z(C KW+R+8'GVZ#B0'UR8?Z5^TX>![\T3;S4C04+6E5 M5=Q=4N-QO3!Q='SPL9L6?.9^>D35#W/>+!KZEY_Y$B$JJ$+)J4"B.(XS,D+0.M&"FRPI+,K*B&!0. M]B1\AB+@+?U+ ?_IYN:??X,_'K])LPW%3S"_>%C/$Z23=3U8- 3YWS^WT[]D M'".>>:D'*> ')4T7F?[Y7__O^6*S)NS!V#SC8F$DYN$;EMJ=N5%0?4.Q"LH, M?/$WQ8Z57?#HJ+!?\4<[]NW)7N&IRXPD-B[W[.\)^QG9. &?GQ@C$"_ MTN0[O!HL&RW@WU\$4*V%GUB__QYT^&/.]$O?_N''Y!\"8P0LHGWX)#XP\_#1 M,Q5)A)<@.3%."4;YQ!(#Z#VIO?+/,QWYE2+_^%Z.B?LL(/ZW^L-3'YA4@34' MORQZ0!&\W,@$RS""('](/("@%E@5]3F>^4>#Q#^S1^*3$?)FG97A T8>('UY M3IX6F'N^PMSW)28O[F&1@.")O1S MQE8S -" ? X#N7** TQ:&)Q[B7^^P6"$AB.(1LL8H[,RP! \<)Z,>46-I26$QK9*6&862*M752,.3 M9V98TA:E*BBVMC('@ND, M2_:07!-$4-,$3-X/1 1Q!:W4D^DL97G<&T?E2&>1QKAB$\%(:;";GLQD*5?- M[3!06\P<<=K^-M96-K&>]F0V2UGLQM:DV5TITFY9G;H#1_."-2>C2)9T8]7[ MT^4D[ J[ M&J!9HOMID8\)XE92H]C.NVB#+26."CI52AD'C%)9%&EOWR%E%] M9BH)#M6@)_QLMU1K $QXEI0TX]W(#;#84H8DM[5DDVB#Z!\ECI#.B+ID+C%' MPJKU8=?2IGUD 4B/J!2N[55A,G4]A&HL;,WD]AP[!6L]\JJ*VVYUV[!V#,*K M)719WMGK3AL\]ECDW$;G1'U:EAJV6BJ%3,60&6(DC;\MN*:55M[;>2107<+.> MA%J%79R09J BK+IUT2 E%BET! -M4T(HEWL):08K8HAN[28?=86&UMW:J#D3 ME%%*F@&+W6R7RC*Z:UEKE65V9%A?-K1TK5FTR),NC^^:Y0+X^D&WN*F.ZM,! MH#VB+],.MVT7B!U@!T'D?KRR%4L%*SBB+P.[Y)2G:#<2&KN],!,&;9'GN(0T M(X+FFAFV>&;- R6(,5)2JJNE/D](,R(HCOEPZA7"LE#@26.3'/= M)KI58#&ZMDLZPC(FJKV$-+M5M6,.1XOBWMJA=L=A+*>Z]KF$-,.7/T7ZK6Z\ M]1%G-H^+Q*BM$FQ*FN'+,D>3J=ETB]+(&G2X M3K#@9B%8P7=XI3F I^CJD-(!D96MK +CV^-?GOL9U%/4< ASE"CT'C\XQ#CI M)S^$0L]20 \TV= R]!]7\1#FH >?Y65]'!3R%4%/91B?Q0G/GN^!9\YL+WYT M@1Y_3F=/?CL$CLE- ;\-V!Y"YO2+'TD5%7C&46B\2PS]DLH&^HK*QO< ^^WU MVY/G'J#@SR9X!(>"_P#!4U_IDV5;*'AH:NY-\-#40%/SF00/30TT-9]+\/17 M!@H>FII/)7@$"AZ:FML3_$L:D-,DW)LR9N?MP,T42=^I9>\4WW]J@:];$H#O MY,/_?"&_O*]4Z*\G4?K6)KY7%]$'"]\P((*]+T0.T>(-(20Y!'9;IA1JQ-DU@H$:<4:- M8+XREQ\B &W$=6O$;?E561MQPX[4O;I.-\7[Z4+J/?/^N[:)-Y^N.3+0_6J% M 4'P.7F'(( @^/0@^%VI&8+@DRC"[YH][IGWVP;!>XU;NT0DU#=E71Q+^S,LY!*T6&F@TS(Z&'_!X ;_$Y= M34VW)37:.QVQ5KS29I(=F$T&+I-Y!,M>5@\1_(X(/C>W$,%O0/!/6W <*X6I M@6T"2YS+SLBKK2JH]-$(=C;[P.\79WUDO>$6%"9*9<]*$(QB ,(HG:>IWPX< M??FU+)>(U7DON?DM&8'N'0;5N?.;8 KJX\V^NKO4QP^O'T!]/-<9YYMDZJ;T\6;*5T^#V*GT>6TCC#W? M2J;I@[ 5K1N*9]V_EM1[STK?MZR5LGT#2WL/(:=O.B< Q MW/2G(T:*A :E(%.[*;,QQ\GIG3X8FV>04W>60=!"T-X]:,];ROHCT*(UIC4J MSN>XU1#6F#L;^#CKQG)Z30]&Y!&&@:"]9=!>$;?WGB4_;YWKC] ]1D:]T"7H ML=0HCBI-I+WC]&*";O;+/Q2:Q]#+WK+WZ=#]B;B]=W2?MP;V1^B>;.9^@9." M'F)XZW$LM&1=D1-T)R4O$LE3Y"EX7UO%ZQ?AO?=T2=/1$/\N+=#UN1'O=@7Y MO;OXYXG+8W-F9FT$L I/Q?%3!N27]J/573:113>0*KVRR!LF-2NR*/L\$.RQ<4GC)DM., *EHTV9]:)D< ""(/Q&L3R- MOM47B)G/@]5B%<4\/\:7$J44@^9PP1+-9;)=@F :8_(X^[(F M;XC56PF-(58O$ &?!ZNE^8J1@E+7DSH\OJ]71G1K'B5834)CC,R3U"G?]E9+ MXB5C8]C>*KG@..T;#0UMX8+5SG>P/'Y+27M8:;O.,/Q[QWI@*+ZVX%S]&>2$ M0V_V$6L4='>[O=E4YTBGTBXO%SQGM(E89I- &S@.)]-T$*X0KGWP.XD71*D38CP7AHZ6W+H-@G(Z3U 0KC<-UROB]MY#AG,?_7P=KKO# M1E_=NSPA*+O "FED/UA1',!U@!D66D!T%A9O$*W7WH MU5\P"'_ !; 1K4=4_-I"N(.R+VJT*B,\.]MB%3'95\V80DB M#"+LFA!VWKCY50@K4\Q@41*HBC7:<5JS5"BS;"M.$);,0'IQD@LB[%9B8.@1 M7S#4?144&['$B%;1;$L5VE97\UVQ5;-2*+)I5PE"P4KU?86M$(L7C$Y?A<46 MSK-+0]NBDF',RPNJ5!?X.'4\T]@4R3,H=8>5Z(KA&KYBIT&KHCNF:P:AG]YU M#2O1MY0KAZ6MZPZ"'W &;!'W \I^;9 $=UDE1TS<1L29N]^W=GNM:0*#A":1 M,)U'4!(FP2%B/S-BSQM4OQZQ;67L5KF(6R$[GF?M>;VD%A=<@E@JR5W1^*FY MAA"Q5X_8*^+VW@.#\P;IKX>V'\6X6E\/Q\)H@RBJ'>.- IMNQDFD3N9QY&5' ML""V84GZLV/[O$'_Z['M=M096VRA541LCL262UGVM#-/L/U0E2:P5_:@7U. MSSD>6,P^?0,Y;Y8S7?#^YJ9J&SDE"(P0GM8^[5%<\.+?L]?7+LW+%=B$,:E #MB=# MZ7D#^E>CM(1O-J.EI\J6LGX3@ODB M(?RKP=S;#09"GUQ7)=&*&[SH=38K(D[ G)P*SV/4RWK*(9P?PW$(YT\%Y_-& M[:^&LR+69H3+82U!0=CY1&XOZOM*NC>G07L>9T^5QVZO6H]BZ0,'7JC8X#W] M^L(A6+9_YY+"E886[ULD_(1V[2*9@73L!>?J#]G'H]-JN,+072[5CH5MT&)7 M5-;5L=&343SM>*?R- $O%888AQB_VKS""S ^(9>EYMZ5#6NM]X)=32C/V7V* M\:3GGLXC&&SFN6N,7Y$T/GL@<]Z\Q N,@7L;XT 7/.8) 556[J.*56H@RPUO.H,T3JV6ZN27QX2#S<]ESO1X/U_6#/ M+SV(MN6,FOV!UT0JPPXV6UH.PVYB&24/X3%UI/?OJ 4B-0CLEW_P/(YG:^W0)L!B.[0)MY&]^".;T,+)"F-@ M_LS:]4N;PJ@B[-$-E]B$-)EQY+C_WU==ZK/9I:Y-PMU9+VI^F._.)M8'G!"J,,-[O D M,03L[0'VO-'_QP)6$Y'%8-"*BPBV1AIHR\&7HV4*V$/5'X-5_RN"["%O>/[_G@H:G[!P>8=I!V#Q'K*2Q0-<3Q8L$+_49<9]0UJ/9P4?#=HZH@$K M1J>7T+]L,"#$.\3[K>#]]AL5?@WRS!AQ,T+HOMB/!:H>[3KC>K<[3^[TH).T MPI'[A6 E\I[ ?472^)25R$OD-UYB!:+EQ.684F$@.-U@I$7[IN GHPCI]$ # M^L+C#- ,P(8$: :N-!?R$C,P('K[,3^51I+I69S6=>E&NYHZ^H=[![)COZZ[ M"Z%MA(]-!P^="#!O"JN8GSO^[_H> /\OSE35X@5B2$/'E)P&J7ETK3CO>, / M8))('SMYZ0C$$\33=>+IO*'V23PM"O2R8'M2"<'TBC6I*MW%MCM/\'0HVL,I M&->$*%C9NX&@]@>\_3)ES6^G,]NB"S%"M4C?15O%L*-S"?! 0$OFD2/ @S5U M6%._<>2=-XY\&?)6;'NL>MUX)!6,0%PAH3H=$NF6E\20&(7?2\G[)3/ED@#T MIPA4"4/?5*-02>Z["[T:>^9]O)U'SSH?W@U, YF&B[T7S[)RRFW57P M#/#\O2>(>X;D@=?VW&?T+4'0 MR\ M!;@B:7S*6MN9!P+\@7WX92A5B#B1,MKNPNIP_K+2T5VVA/420\%^^8<^&4A! M0P&+\G=L*.YJW.%[^!36M#K:H>-15W"\J(4%G6:KQ*1!19)U8P>O!P?PU;THD>9%K-G_G.DR\@OP<05V MZ/+)C6-3CRO,AB L#)$Z4;QW"J061WX,EI(V!QSI%89XA'B\:SQ>,-=P!(\5 M2EE.Z;*\0WAYWS;$(K_=%KD$CVES 8J^+), $7D_B#SFJ'\L(N\LI#\5KGNS M=H,IHX:)1-)0J8^4-=8O]A(\IN?X69R&/0=OB;\A(&\%D!>,ET\!4N*Q;NPI M%5_ 9L0@<%R[A-920*;M[&"'?&U#^VTT(WQTZNP6[-'[5A0^"[<7;Q6^+O:A M:M\OMU"UH6K?*;MZ1>Q_.M7^1-S>E&K?1*%M9?BY8*'XQDM*;M]@S>VF M=YC/X2-!?83Z"/7QNE[=7>KC37DC4!]OSVV^9WV\F73[8X-!CDJ?5U0"4X,S M;F\I-W.TLG>SB<37-;V4S(VI&VEI+PWS KG1+G4[XP[C2LIH6O/ZA3)E1O$[ M=Z)AKRCP"8KO H$%7<,7DR6F"'NJ[R%/];TI-:R*I:ZG(@W1;3H>LA].^[&, MX4E#&K "+QNN 5$*47JG*'UU?]HY4#K6%M6IYI8=:]>?"87)9(W'FWF"4BI% M*3SO!E%Z30[L[[ICW@C-/^U9>P]H_M0I\QVCM3[5PI&^6K4:P7:E%G*=G+H5G]P\/L C"/VP!9'^'I!QBC20";>%)UL MZET7V /B5>$O!!<$US6!ZZ(QZZ_!A38PG.XO=PO+P#!)*5M;CAOW$G"])FJ% MX+H9<-VO%WO14/,[HG[IQ_8COKGNJ&9)JK3,@:X-6U3;2J'UJF 38NOC0D>( MK8^($%^ K6Y_@RVGS0B1(DT,\2JY9:6#3_B',>)UEF"O+8%S"Z;EAG+*5\3M MC;:80=6&J@U5&ZKV)U7MFVI\@ZI]]?6S*^+VIE3[VHI./_/RBVL;1D8B T// M*6"URMPX'(@*%]1'J(]0 M'Z_KU=VE/MZ4CP/U\?:<\7O6QYM)XL-S5+>>\;G4;497V_+R-"GQH808\)VA MS@SGOK2VM5UQ7'%WVWC^D4.]'T-9[A#)MB-'-?S.+*TG!ITH#!(.@$!_/+WQ M?89B:SD?A -NATE.7&W/NH4=/1C,98Q.FLP((H\0IZX6@!B&&/X,&#[O(/"W M8K@=37>%!<'V+='VIQX2>%0T3S%, 0RC>9:"&+YI#%\1MQ=WE2\(]HN,&W\K MV-79@M@"-@V!M[E*836?KYL.EX ]F4*.YVGF91=U0+##6A0$^YE'F;\5[*M@ M/9B/JIH@C>K*M"B.^\-!-=W9DW8_L+53Q*E&]6LKS\$S8=?F6?PZ.H!!P%4$ M\@\8R5B,(\8"&[,R,E0;MB2.)UW:P FE,0:> ?,0RN,T P^U0.C=(O0^)/Y^ M!?1*'C1C*I$=M'H)])((G,QC* NA=SW0^P05ID\2-K\"HU-S MPY>QD:Y)A9(\-'73MV;M%*.O"YPA1F\E#(88O8IH]Q48-7%J8&TMV1)VQ&(A MN,UEI%(I1E\>[_XK[+!EO-T*6"RK ?CB2#_^R[VY$=Q8\2S M!,M!",0!&NDBTS__Z_\]7VPV3?AP7>$S+A8IIK]AJ3F<&P75-Q2KH,S %W]3 M[%C9!8_6D_WZ=!/BMZ<;#Q.V_PLM:1/'WJ!F1B";[YA VNW,9*G__#<]$6$WNH;!G;C1%/ CP^,$>A7 MFGR'5X-E$UWX]QH8V&H,0E8,!*<1EL1PG'Y00N5I MEH:VK4F+$M45HC7/\7%S1S)A+W'F?J;IV-6?C)G#<\.PSVXC1T$8[9RB(Y6;?H5C?&2XX0$G^3*FH M$;ZJK*:RA!FD[2WD14NHSP%EYMO'DQVMT]:6LIRM,MUMPGFW4TB^'45_)JVU MRYZG3K4BXJ!*$^_I!EO$YS(I(S]34O.5O&8I@A(JJC5L%H-1RPIC0)EAR>R[ M=M>K]7FD(_C:4'(6_*S: Y09EMR.%^_F\\H>*80L&03X>AYYR3,S+ 5!H^WC M[6)-PE;]LH+5 M%"6JLF_0K!+3-L/)=):R*K:'&\$O M?=Y8T\P\('7@OY^$O)&^M3,FV)[%92TW.I8XH,*,?2: MD^EVV4M(GU[5X838H]=UN"P:>%RVL@J,;X]_>6Z(J"=OXN#^*%'H/7YP\'W2 M3WYPD9Y%K \T69#^H >C]N+Z($Z?BI"?^0_/GN^!9\YL+WZTD8\_ MIZ?QOAT.W(,KG7[Q(ZFB@AT3A)?OXEO_VM(_(P2_?&DZXKOC_>9\ MR\D,/Y3[V>2.0;E_@-RIK^C)1@0H^+,I/ ,MS<<('H6"_R!3<[*4 04/3QF@X$\+_B6'[-,4W)OR9>?CG7FL M%3ZOE+S389)3?/]A NNZ!0'83C[\SQ?RR_L*A?I*DN\J%N:-E;3!PC>,7 O\ M8A'D!%=/#V>HYU2+TQOS)]4+]BM&795>B.;VE%9 :PFMY:6LY4/Y[,'#0%?; M7-HRD7OL7;HBU-0CUSBTI>!(_O&X![2F'V--[TEOH+V];GO+9.1PZG4?WG#V MSXRM>$((]KX(H;_BV$T!)#E@;8OUD;]@]L_Z[]JRSS\N])F%\2-1]-;R?KN_=,^^_:QR" M(/@DBO"90?"[EA8(@D^B")\;!*>;+:X;!.]XG\#9XZ"V$?YT&]=YAWU>5*4_ M>K+IN<.9HS>-O]\0\@N')'\XO"6YCWRBK4;#8F446)VJIY3T];[I4MQ'#A_L M^M[,#)/3Y$>&L@P45PS]:C 6"D00CPK.AFK0R?%6_,L_&/:RP6;OIZ67W6(_ M&I-GWU3/#HE[0GG=LX4G0,M[(#OT^$U@-85A& M"HPPMBO)27,*@#9/HL@1V%Y GR%Z;P>]'Q';Y?XZ%R0O,J7P!T@"%L$_/X+- M0H_8ZDTF&%E*:=G&:F7=9M,-E?WR#YE'CF#S;XA*B,J/"S;/CLKSSB5\&2HQ M@FO7&Y69+XPV]$IG1VS+2F>S)*,',0H_!ZC<"1>&G]YD_7ULU ^A MI2YT-V;],W358;6,VVP0F.?*,"B>35='U$X@GQ2Z*ANGTFP;Y%7%[\>#P M4EO^1:IC%]ORF\.5'E?7K"44 J7&23K9J,1S.;TB&[_T]=C0&MPKM[ 4=STF MX)>^@8K:SM)0:B'2D=K;3KL=\BTRN?,@+>O1Z"V5]7[*6DBN;X!E[ T]-U=, M-P>4 =!:QL-U X86^69H&D>S%O>8G/B3',0%SZ]> \^'G,6EF;X"!^R(DF3;.-*P5K&+=T&SWXI8CS>H]1*FR$[U:CJ:8F:"9.KQ^%/L_ M".F[BBC^*(WP"2%[D33#'^-V;[AKLX'HG%!I]GOM0:?5)L<);I,+PD_=.PPA M^PD@2UQVVLV50?;-:8%WWV4[)65J4J2UL1K-;G?0VPGM\2:YHC )['^_S=Y, MJ\+_)3?$_K*+%W8DP(X$V)'P+M'[D;3D8X(1_&1'B22[GI^F(,/0-]4H-5L# MK^VYR:I]S[8!22T92V8$X1&35=6;4WDMUA%N+Y#\8WH*J39;+5>@CG=6R.Y=WI:"!S &\TS.W&)$]0@0!?D, MOR)NX='<*X#_+TN.W28FCH=4@T(*8V(P+BS=AB EVWR21\BS1Q+ZL"$)&@+8 M@G"9%H0+&@*\1JJ->C/2+-$CVN:L86\\*W$(DA0%B1,WW'OP P:>JR>0;7I= MW.FT12ZG/)-M+O1R0 R%9^(%Y ?YOF=>\@8,P\WU,/PZ[(&M";>1W/C#:&>[ MHS<<22S75D.E2AO64A->&BA\M M!@XLANY%B? O8B@4W\Z(3%$7O'CG%B;NC.5C!HN3+=;FR5[\(#W) M5:!Y C_9,)6F*_Z5AO0?AL(W*\.QRZP'"R.G:,D$=\7=)2T1KA>"YRD^^-A- M^R/FOF+G5HI_&..^, (C>?M@E8&1W/OMIMDY)00_S$Q7<343D #DBSKP: BR/^^B]GX4=P8\:PSYR $\@"- M=)'IG__U_YXO-FM 'TS=,RX6AZL$L=3JS8V"ZAN*55!FX(N_*7:L[()'*\I^ M?;*BWYZL9<)V#D6^XN3_YI[]/6$_(SM'V1:>2>C!R!9L8Q9^>_AGCY^E!O/I M0R\P$TOPS3>2J3 ;(WGZ#\]-7T3HK;YAZ->D9\D!/SXP1J#I-5%O?C58MD,* M__XB@&HM_,0*__>@P_^DG*]Z^XJ8BB? 2^Y%F M.8%EX),=(9U>^Z#VRC_/=.17BOSC>SDF[O.8#O6'ISZ_U?++/T4/*(*7&YE@ M&480Y ^="V"K ;9,?8YG\='*>3/Q67)76$? 'L@8RY((^0#GRW/!/]EH_KF- M?EIS\LZ>KSH]S$C_7^ZP^B=.+[_POR17B73@4>E_?^0J:B[8[+PH ,Y0<.Z% M_/F.@M,ZPI(&(6,D@LL$RI(RHZFTC&DT8X!?L#KZJ(+*HROD"7U\+33&0ZO" MS2BOH4KEL!+>F(EHD[,^DI6A/#,F]/9/6N#'EETBMNP!.(YYEWR\NIOTVM9A;6+AM MC1J[)AYV$\H,^\BVN"LLJP8A4/;&E;J;PI@3$\H,^X->)01.+]I%1HVZ8-JU M?4U"8D")(C^34@5%[/=C*A Z.#Z=HMN"1$HI:492\P%:0_;[ 2H8F^K&G2"K M=GW92T@SDA)J?&MIKN85R71MVM)'ACMP4]*,I)1V6-YK0-VLAD^+=NQ+I$YQ M,I&55%LUS-J^VAY9#7XT:@:L5L2LA#(CJ<)H3BU,9U9$UA6KV^ILQKNH%@/* MC*3,#6PDQH%6E5(K?42T@SDMJQ M,BJM^-X:Z;#]K;LD[2E07A O99:J;KV-@%.SIE1!:T.:4\H#J\L!RHRD=$W: M6D'9Q@1JTRR3*GC!32^AS$B*V15*7;O9V4B.8!7C >UJ>R\&E%E)C?MBV^]0 MI1A98UB14H?]IF$G#\U*BNY93G&P6%G"KC:<]%=B4QB[\X0T(ZGU7B$Z4R.H M"A$M50/7+6]]-5U 1E*BT!P(_D!W!;% E+UQKRTL[9Y,9R7E;!2S46'WF%7A MJ8TNC*M\/$HH,[9/UNE!)!B5&C ^A-@TIR6[Q"9#.U'T9]+AEI^6^I66+A@B MWD<$T9>"1DJ:D7];=<6(8]BM%2TFTP'"5;7R@33S B*W*=E\'Z<1P]KYXPY; MJ5%53F:R3/%M<:1HZF(KF7@!G5:+TF!H)(-",I!:M1I"<^M2LK#K]QBV1[G+ M<2L94I!AO[-J+\2HJPVE=:537:RM>#76Y\DX@PS[]D#LS=UB3;,BE=VA6K'$ MC8F4-,.^@ N-D>_.ZM*N3U,D&13EGIBL-,N^5E['3%3V1@(V*8D+=LACU#HY MK)!AW^"ZZZ;>[P42'P6[;:V =*P]!R@S[#.(+X[&^AY#1N2Z79VP4VY*)L_, ML,_[TC:>X3,5);]2;>S7>VG@Y8EQ@LN "N-3#-.2#/L MKYN[=40T_97DS.M-=^;HI;63K#3+OL^K--^O"34+ZQ7I=;>\J]8*:2]DAO]B MU"_$:+E'2TIS/VP%$Z$\;L0):48 VBQ6MJN!U4$*TZ"W**QW?J"DI!D)5$HK M/!:021%1<,3E.)DGTX0G(C,9J" S%T%Z15V(6A%.\*PZHO1TK5D1$%M)--"X M90A\W4*5-5:IL-TTCYHUP"7*W7>:TZ: U5#=0SR[V)^DB9@,7Z8O(@19"#K( MFJN6EBVJ4.P1Z5,S?#&8,]W/B.WE2F=G.=6" M6XU1=3:4TN).5@L&S5:,"LT%(>QP727ES119K+'WEAJM < M]Q+2S,L=$*K6[&]EPLA"EI1@BKZL!%G1"O(14C:G)ZPZCM1G%" MFA7"CK6\/JZOBTA$H@@[45#;:Z2/S0H!:43:8.8436G$^BO2W8;*/-$$XH@0 M#$:4Q=F8G5J4UFXIZWBE,DFO$WGL]3;V(='W&6'=;(IMI^&RW4Z?6I6"/0Z]K=H MJ1-;&$Y06*7*[J-Q^MBL$+"H8_HN39+(J#+A"ZWU=%)&#[09(8P6BM-S+'9A MC1JX1+J4.].![X(><5YZ?!T138ZL6U0=8 )1B:D7I:09(<@(5M\P';4BC.SZ M/HJ*TRIQ(,T(8=X/Y:F]K^ZERKHITZMX2+E.2IJ!>=1:6>RVZ-*"P[8HS:3# M>AQR"6E67JPB=@VEL9M*3LTO-E8+I5T'6VU"FY'7'A\B]G W'@H*-5^Q4K"? M[BRPA"-N250JC920)5M(0W":.T\I67,V),TP%GS/-"7!-T".^25AW^2FQ9$Q)]/MH/QY9IN*F3\WP52(4 M9[7Q*X9%M1&&6C/C6!ZGI-EWN]:ID-YU$1X1Y4)G+,=+)>Z %1QQ.0*#F_M8 M=3R6^(GFR6;=IW;"/"'-2,LO^K/)@%)-R4!7KJU3@U4PY!+2#&C:O6*1IX3I MQG*6]09K#K?."KC<@#3K:$9UKJ) M"%BA%@VF11 ?']G+ VXZXP;C/OUKC"B?6YI\O59#\04V!$G 7@1NPHM("#X=XA@Z8E]M05" M2D":==6K;(M=%)V]U0B[2Z3:W!EK/4Y(LSH>41*[B_R2*8C42A^%S4XG[O=2 MVLR+*-8&HA)OQ9'4P,HSG=^7RCA_>&[F3:PG0ILQN=Y 6!=F!-UP:\9D#99[ MQ*>)"DL&PTFW946S3GU9WEIJM9V29FQ"..+F,ZO=W$N1TIU%=;6,LP#HV!'W M![&W/62VVVTMH[29U$VN9%A,^M2L$+P:W^(9<=84Q.F0JK-RKS"RTL<>$<(, MO/V2/Q(EC'=D@^@W!0NX2M@Q]V?7%,/%;F%U!#&>X@MK,%J,*/#<(^Y/N)]( M0K2L+4 M.Q.DT1Y%4=_8JE$W)J]X3PAS3KX#E,6EM:F:6%L9U#4J8 95'H):583IMQ&=V.I(3G^ M>-%LE-;-RC8ES>P.PGI/\H3HB)+(3-"P*V'JS$])LS+@*:XDX^4A)U6:M66K MT5B6= 0L]HA'LZS4>P;I^'7)60X#JT02OA/W$M(,7WK E%#'VD>(P0VFRM;C MU58U3D@S?%41X'I,VFM6*LCT9*&(ZXU=YQ+2#%]$7*VS,E\CA@PC(U3TBS^LUC>#G"DH MH>S8(M*H6P6%V*/K:GU#S0!?1S9^N=ZHA=7R;"9AUK:KU&5-G11["6F&+[&S MKY7-YD $WDFL[3JKP/?F<4*:7:RZ58=BM%HAEF&Y1=+$%9ESTQ5D7]C Z %S M.S -Q)A/]T.Q0"Y%\_#<#!@M5N[OAK2W%J)A7QRUAY7I'N&2AHL,9R+C;<0X M*(>2LP*\&8H0#@$6\"-9A,[&:.N%>*((':3%N1++UY;->4*:$4)M#GS;ZL8I M6A6G*[D5K>(;XY0T*P0\MGH]':7'DB+6G,EJ3-&;0KJ"K! Z,W[A1O2(M_B- M-%PB5E?4\92QK! (-!BO^H(@6V9W72T&;3RRP3O#C[@I&K58%??!8"^(421, M+7\WGVDI:38@XY:%?6ME(E('M5AKBL3E:9229H1@[I[09(8C-V!W8J!LBAJ\N1TXQG.W* MA^=FA! :4VVPPFT+61L;J8U,F,5H 6B/N!Z20#4,;FHW+*=KFUVB,5;F>"\A MS0AA5)5;4;7 CJ5*B:2*E1$!_%8N(!B3S-U5>(T\!K\V@P*K*-]*E9>36V;(]C32 #K$&U%D-&W0_X=+%9>359 M8H'RM:DA\$1ANT"+G$[VP1*.."EH7!$,=N3H21R=7>+%=E*"TM),S*8[P1ZOW $ M5G (LM=KVF)WAJBJ)MF2[ M451"6AU >\25$'8CED68%6&)VG+:J!C\H"#T$M*,M&2U/:_SU89C.>;(GI$> MTD82ZT5FXPMROE.IK55CI(ID-KK>N-OHX^D"LO$%C0T] 54U0JB8E$).UMIR MN4T?FXTO&@4%F?9WK9DD=GB&4*NDOA\>:#/Q!=>7Q=:X/ZH)402B7"%N7S0S"\:_XR9[69ZTASY[O@6?.;"]^+((_ M_IR._?EVZ!6*@5!^VZ/ST"65?O$CJ:(&GAV%QKNT3?VZE/^,$/SRI;VVWWNJ MWGR&F#YY#!(*_DR"I[ZB4/!0XS^5X)&3$P*AX,]G:A@H^(\Q-5#P'V1JH. _ MR-2<' <-!0]-S;T)'H=>S<>8&H:"@H>FYC,)GH2"_PC!,S!RA:;FDPD>/7D) M'13\V;P:!!9"H*GY5(*'&8./D#L-+_S\4ZOPA^F-Z1G MVM]IUM,IOO^T+O=J2= 909PZRW\8X)#]\^E4_SEX_ET1^/R3!* ^O%4? (>) M(/[S!?ORKOS37['S7J%\V[IQTEG[!+IQACO"H6[]&$*_.GP= M^+,G!1,,,,3\) F&]-X+F%^ ^86+* +<#Z_?+^HJIEXP8:;I(URCZ]*$FRW< MWH4V7%WD_,-UDU AX$Z1W'SJ>[8-U@#5 0;21Z[0@V$U#*LO%U;_>+LTNMKF MTLL>SW&Y])NQLE!\(X!Q]P?%W3>D*9P#. [A_OI![M8-:0JOK,Q,*ANJRJ4" M]QO2E)(Q,S43&I6/"NIO2%6:7G!V-P7JR>UO/K6$W@A"J"P?E0FX(641UA&0 MV?TE!SYM+N##0_\SMB2F=T'<@B0^K0K\;N3ZW3+^NY'GGTKW/] Q^%C=_YR, M_VX&-]3]NU>!CSV7<<_',*#N7S_CIZ,?V)5/SVE]VX9_]V4 M7&CF[UX%?C,V]F[Y_MW8UBM6_95AH.(8; M'I+X25.PYX(? VYK!D]4AVD5:4=@*]4KF9]MN@N_.D,DBN^W*U0_[G<4\*6Z MH9F.8@?_^5+ O^1FGN\HX7^^F-OPFQLYNA<^_/Y+SE4<(,.'+_CV[ L.O52U M((@,_4LN "\.T(%G/5Z*[6#LQA\%A-5H;=:C[EY4FV)/II(+H0DL3U'LO__U MH_A>9M:N1>,_PJ3_,>_O[+MGT/X_9P;Z^P\1.PO0);$D3[35:%BLC *K4_64 MDK[>-UV*NRV4/V\I/JRDYFIVE B]Z_F)!+@P]$TU2F\('WAMSWW6E/Y8DSYB M%&9\LSZD)NNU9*I\M2"8!.HV$J- J-P:7MP^Z[MG]N#,T_E.[<]>%_O_-;M MP??)1,DAPIK[T)'X8!OJ'LHW]B)9D+#YS%RTBBK;97O79QNTP)19)AR-K*A9 MW3:')<87N!C8!N;+/QC)YE$<@Q;B8A;BG5/\E[80[YRH_XV%2$S"7]=E$_I& MJ)BNH0N*[P+.@P=CT&KXTW ZC%:2$3G%=G'1WQ+2%3@*0*K@JX]8A:+9".C% M=#B1**?;WXR4JJXUY\ JH.B7?U",S;,XDC$+?T.[<"[>W[G\<5F[\.Y%C-NS M"\\.EZO4QV?>9A'(UJZV6'Y"0CM&9]?U:."/(*LP9&NVXS M =!EJX'6Q*B@[FA42\L,"-CT<22/8J?2!D>JAA]<'$P**FEUT)N!-Y0D>L$C M@? .!36@NH9_^"!GNLD)$."VY5:VX@:Y8QK_T5625]0%8?GO/U]*D:\DCY)1 M.<4A*P\\&7\ )?OV,L&B4=2)Y3(0*&];;1:+@Z"JQF\#]:$ "!:>0-GP34\_ M% ;3/XM*8.C)\D!\D3)V!,%]==80!M2FARBCO5Y0IL.Z-(EE.BD4HGD=8\X73JJ30OT MUD,W(TN9U7Q_TR[NRN@; [OL?C%4[,AX\78Q5PK[P<)MB(*X=_=FN[-:;IK) M=L%\^8RN+M'9BX\JH"5,FWLGCNW/0[6KL/ M3S1!U;KO.#3;#BC"6ZFG*!#GM!-_0(8E#%BD7F^%B8=AZ(N%O9QJ;T[ZNJ_C);>G,]S.VWF%]'2BZ8/S]$Q=GL)P]B_X@\1".>$P;>U'==X="0Q)=E,-IM;A@%$YF MDJPACN59A(:]8??37'X)NW#-:4BHI5?8ZGQ#O%]W1A-J]RWTYU["!G]X*@IJ MZ4UUB=X0ZY?.LWY X/%.F=7W#Q:BCL+BOK*4V3S@4UR2PG/:5/J>6/R#62LKNKGLRFXS'R)/VR\3G0 EQ3-O*NDHY0M>XAA7A7F4*HDM>4 M][NK]!Y4K3M(UEUY3N[#/?!W[GW\ *]9W^&36(R%4%K/5OQ2(?AA$"=>02X7:?5M-AC?$^SV,OWW7VL OAN'N!0$K68BYEC"+5+L3KQ!.*W\^XZKK M>S,S; *7^]24RG5<*R/AK. )SA)I&,O1CBPK/1E%THFV9!XE<=B*#)L\89,G MU.ZK:_*\(=XOG3V^^CWPY 37,A>I"T!N?F)][)ZQA\VK MQS7 MVI595B3[1K'!SM.=D/[R#Y,]QPRW0=AG"_ML/SJ+_S)P-TH:H6P%&T;>JY_T;2_[M:1Q6^S^-I\PN^S^L3P2%[_GE4 M^N8\IS_*E7]VE2:@2M_/^SPDR#^Y2B=Y1O_JVY+ NFV$G=E V9X*L&=:4[3E3:\E M5-+\4QN10^[\>HS(A_?!7F^F_856 MY&?C8=.<'):&+"&(^H#IA(40;X\/QH-^Z4WLT'0<3:-_:LM!7YGEN/UL^UO= MA+W(UL-0D"6+5R:<(PTK1G$Z3Y">7I#&O#()?T/][T7%3N]14\)<2_&U10Y' M\[GD%<%VZ;MMB'__&]D.%R.^WQ5LM?V@V6E6PA)2*(IXUF'/)E8\8V/'Q/$MG"W(0*?!@P1T> M+#C+W:E7:R+.=O5J==LV9&U0>>X[CQ$^[;_+KQ@AE&E;%\ZPU5UR+]?T\ M,2S)K!N,R3,("KKA=)UU@+/H*LNL>+E1?3&.Q[/$1C5%V5.LYK" M3JC,E7$_XNS-AD\#HZ1LB^51[.(YW$]L7."9J;NU+3NO+S*]@LI85+78(SF2 MJ'/K*\R4C*:334-4^J*U*VCJ?E^AU?4F=3>2ZBY+Y$D\6^&]L5-6244K+>1Z ML^2LE>,EF #R!.\\@MB\*(24@)"30PO;K)S,E,#;8Y;*Q#3@[XJVV<2+E=IX\YSE+=CHYQJ#> M:9&<7@<=^')??1]TK%)3>C6?]RE&!97!,+,J-N<0!N+(MTLS+T$ D8_[ MGC>6I#CSB*PQWE4F,,)5]M]]>ED MB1MIJG-\ABJWM=$IQ/_XS>YM^)=^7MW/41RW\5MK=G6NW'E# MMN25W7=Q?4.\ J:?;,G[)HZ_/3_\!PV^.HUWAEN@B<96=_J/W M:MV#.)\'SHK3J79JZH[74T%?K+#6C:CA.[[W(N#.(NOPGE\T[1$/W?1+LAGN M-N^'7(1!\E7N-U^%E$DF"11WDD#Q$<&(MT>OKO6Q_OK;T-Q>J,KD;*>#%)ES MD4&5MCO*K]0ZU4X6A])X,I/DF2#3+.98$R_66B5H0O(E;C-?@IR5)'#_?@/W MR>XF >/?*F"<[&X2L7P?$7=LL-RA;RV9-?( M-,%$],NVR4U$*&.^/H8OK<:W0>Q9^0C8H)_)-1!W0".3];H'4OBNN-]OH/I\ M R;WR@G;+_>M7R%]N_?3OUI-&CWUU[< '(0+E[@-G)6N@L#!WP*J/;'P4["O M_XPRQ3K45BQMISVJ76^V&DXWMAV:$YE.X-(X429)DW!:$DY[B^PLV9+WP+7> M%:5*MN0]$*1WQ8.2+7D'K.:5DY=?KO)?.)SV"]3T4EJNSORLLA"W5G-DZ+NN MOT&WWR8PY_DG/?VVXV]KMA4[JEX1T%>TNJF MV%0W);8EJ[(RZ7FMVGE[]="J;MD.KAD:O"4+5 M/<-3K0I>3/A@NU@E/D&D.%Q2FHQ1%+D4@\;DD/O?Z2.T/! 5* MWF[7M?)Z9@!=]'KLF"IPE0D"!7QE[)] X29"=FO 0S6#[3D)SKT#6IFLUSV0 MQ'?%!7\#O><;,+MW1>"2+7D/=.SML:[7;,<_<[^A)5=-IQ>+J]*RGEG8>7W; M;;??;L$W''NL>Q7;/:=N)W;3SLIK) S1!Z,NO:RM-EJR"0UP?#4A0W,DHIN$ MS]XBZ4RVY#U0R%?.%-_8>?.9O/&+IX[!VX)/Y]J.U%NNRG0U/QP.Y0D^=1#S M>\KP$ F_4P[WRJG:+Q?P"Q.W+TIEITS5DOVIQ!J,0#= -];5UUL!226.&W[Q M>L?;CAK&%P'CZ@F'FX!#@C;R3Q-.UK\B))[T(R.&1[:C 2<6-/Y%+S81US9U M+?(/"O_O:I5,L@,N%5'\B3O@AN8F8)F)=-R>YG;9B&0B'<\3WD0ZOK-TQ,G9 M\2+W3J3C.TM'@IP=+Y+75RT=U\PD"JKJSWT3-M6P[9PY-IV+V'(.:<5R2Z!Z MXF3-4CZK3'=V>]5A>F^O>O3?=Q1-F>HC;%N=-7AV$R*>A9(J327 MFU1C39GF99K]\9NF$J]B' DH72J0G8#2\^Z+ZP$E$@C_]\@#YQ$^^ P$)0?S M$5_LKCBQ/)K/%[6:N>U4UAB"DC]^G_K92:3[1T:Z$P!ZWKUR/0#TY5K1A=TO M;]1>>JE1?]69^)01HX6$4=/B,E\0$'0@QTSJ+_TRS^R)S_*UI!53L5004;Q( MR;? __D'S5'_B5/1X DSB45VF[6D\?R*KAR??QF?0%^/+&Q. MO>+;E82C%P0EZH.+5,_(]!2,NVQBT^:DK=;JY_U**U^O0HLD)3,_?K-LE*:2 M'Q0%<>^"<IN)PN4AR$!E5J'ZG(\18JMOR?OY@Z X=2_]Z7 \!%LX?N@X)G\FK68]Q1. M%]*F;AX?SOD6B1WQ M5M]BU\DZ!38=UZFE+2SGZJ9,4==H1O3CXP)7!=6T$;/O'NGQ_YF0+Q2L4998N)]GUDLD9 M@*MEV0UP*@-=P X#Y 1,1%GV;A*T;LAE?HL.E:N][@&/_66;XFHGXSMOA%LL M^'6UMT+!X1;_+Y^71N"HK_FEVR-MGX'\[2?F#>PRV(Y]]Y'*]7-C_,99F- MI6/I_ERB#3#,5S))OM=;[@0DRB2OX7INLOC M 4BQ:],2YA4G7Y\U[-L<=FI ML'Z,*S&B(5R?1"]+,KJ=3QY26W/@B -IW!CS^' .TQ*XY$M!"$2N/Y$Y_\"L M@WN((GZS)#^355"I:-HB[2U]2K&V+0QM^HE4Q M-Q-M)A7PZ1QD%=#1%,DJN)K[/SXP:>!;2_/KDP+TU7 Z:0HI3>+RFWY+5+CT M.G,%6O>S KZC,V4+U 4XE;NDHZI)^-FVB06<_?&;3_%$N-^3$G#MPGU_EZ&\ M4]1?C.B?VWE?CUFCF+1L+F/VHJRVK,X5'-]/A;I6'$P632>?%_6M([=&E;YO M[@*A3CZ7Z4.D^BM\-1\8L'_70MW9+#B[02=T,=\MU#-.NMT8>5PG(/]G+B+[''BE[C.Y-F=M(]"RP ,[@RCE M+<4T-VIN:'!2O;)BG+BR&T"+G$&NKV3B5%\G$D7R&:X^GX'<"W!E*TP2%6[A MK/SK"K:7."A?]E+-%07T-;.TD9BL+K#;68:5WNMW/CTTNXKI@U>?F9FV7.S. M-$J1E!*?2G'"9+6N3="9R?_XS489YM-/S6\K6R3W@YR:][O")*F#[.[[76&2 MK4%V]_VN,$G#^#X&3\5P1W)GS$\DGV8+UJ @# OF%QLI\Y[*#"M:P328C6?2 M9EH6QT83$WO4GZV4UZ>C?*%#(* Z(VO=FTZ!J:$)CGC*!IQE_;\!%7E['/X+ M9Q!9KWM@B.^*"/X&VL\WH'6OG+W]B'C%V^-KU_I8_R5H,]_U4(?J #G;Z2 %X(P^I&Y6PH!?C=I2+\\QE71+6XB<(#-Q1-IRT3A[&CA!0A/O MEH.]*ZJ5;,E[($[OBA\E6_(>V,Z[(C7)EKP#BO+*F<@O4-XOQ#U>7N&>KTHS MINX->T8L[:JLI[0*0APKW(B _*/&?=NQRIC"C8T03XMBE0]$;01LT,^ 1%'> M;5SRY_C5ONT*WR(+2N)D[UWS(G&R)$[V'GC7O0OZU9K@Z*DKN@7@(%RXQ&W@ MK'05!+[K%E#MB86?@MW89_1%IM:A&&LNB6([912!E)\WN"74%UE$T,:C\5[(P@$QW)4?OS-!M3-4E /N M>Z!ZJ(*'$E&GBC4!$=V***H*Y<.#'8M$%HYNJ?K"!)?T<]T>77I7O#=9KWM@ ML>^*K/X&.MGQ3.%K+]$H.E*&7QKML2T4.'6@ MMORWE]*"$RD<5-"&8UOP1Q5WKNYDL)9:M(X;A!JJB)79^EC0[ 4:<=-78(,Q M7/UG6^7TB5B>E8>28[/I9+$I,PE<_CH>91*GQ:\)4MPKIWM7U"W9 MDO= Q-X>WWK-A]>+Q9]UD*TE%J5MF@)>(2?1+5\8YZ__"./&&;\U&])+BJFK M^?*.]5S/%O 1EOSQFR,WL9!0;$)??P1]_5D"WJ%R4F8LSB0JMDJM?%M:+-/N M! EXR%DSW,=6F/XLYKH&O,@_3=MU_X6*1MMS$I--8K+)"I.8[+NBN4G, 8G) MOO&8;+*[2:SOG<3Z_N?::[M\#MT.K9>Q[E6@ZOW257*+54R*ZVEA9K2]5"&N M2TYCOEG+#+EQ M*.M.62K1%9?:>IU$*948\>N)@(_#Y(_?;.(E5HZ@!8E!O\D8]"]0F"],V[]. MU^UDUFPE[4VK8JQ4;FW3J6U\7L#"C4AW)II,QO^R5LH7D^OX7FM<^>1PL74$ M<>W7&!U\TOG_\P^:HRX1Y1 PWR/;T8 3"QK_HA>;B&N;NA;Y!X7_=[6:Y5>O MR_7Y, .>^Y/7\\.V)O^=MN;-:2MO(JGO96NR9&O>T]:,WP]J(L*8;,W[V9J) MST7-ZYL"_BMTFNLR^?ZR#I.J!OFL0,-63N;8R"GB2**0'MJ)RU3!'K1W5'G4 M,:EAN]$R1F\W)9][&S(N:\"KCSO*YB4C=1N)T%*W&347K_H58WE%<]2NET\4UXV4W M4^]J?'?B2$M3W:;[>6N[64\>"ZC@RO7QF\]C^/'+3;P$E7GN&7SE$X$=/;1-J46[0$WCHFSZ:\X;M MH D0/,_11[ZGC$S0L<_;$&<0I>U(]')M2#[&=\_'>!^@/). P69!K"3DZTNCYV?E MB5#JR"GU[53BQ9#D6>9"&G&%>+O2'DA*'FB]U'B8KX_6"%)0\@8-,245)^D; M)'WC#M,WK@]47N^Q+%OKHK$VC:$12]M]P8JWJ>+P"DRA9W'&IYM))YL6"I0R M3Z;SC=2V7)H$.,/^^,VG",:0)!J21//IB/.B7W03RTZ+BCQ(2SVWPF]9J7,HK3SJ5V=2=O-#&V)*$.$TW&">E"2+1,E-7.B '%K8'6N/4?[.W$9" 2<4+CJ[27WL(J&"/ BHX.4Y=QC<#.'IE5A:]A0',CI]-\2">J+W3( E3:35"GUYH3^;A7 M+^WM.6-)?L"=^_J^O4OOHD?2RQX^UE+*\V1[JX@9=[3.SJU,UQI?_'C"UXN] M^G32JQ65,=J)'+44$K::]@=6O(A/)_[';S;*,.2.@??DL=WU$*_@-A)R/MVY M7^?*W3=D2Y)K+ZZ?[2=;\K[)XV_/$?]!B2_-0#*;-'R&XH;+SFA8;2QBS#LI MX_5\@8><+6>. 08NL=6\Z!::& M9C[B*1MPEAHF*0UWD?Q#+E4@22OWF[1"2NZ2+(H[R:+XB(C$VR-9U_I8_R5H M,]_U4(?J,CG;Z2!%YESPH<-.9H-:>T%Q&CTH;NW,N%99HSG@ M47P0PY[6Y"71AR1MXN;3)LAI2>+W[S=^G^QN$CG^K2+'R>XFH3E#;0KEQ7R&%NW?7OUI1 M&CUUV[< '(0+E[@-G)6N@L#/WP*J/;'P4[#+_XPZ-5PU,]D\70 2\'76F2WR MVXHIH!0V'EU&2B<8$E5+HFIOD9\E6_(>V-:[(E7)EKP'BO2NF%"R)>^ U[QR M^O++5?X+1]5^@9I>E[;E['0[6TH2G8W M"0\EX:%D=]\C]WFKX:%?$$%WP3:YZ<4GA3(56U:WL;6?7*GQMU<6KNJ6 M[>#RH<%;LD!U@.*"G&//L\>P>4,EFO>R"([XH'_@9:SS=@=>^*O"5;\AZH MV-MC7*_9AG_FDL.&-!-].YVO4TNYW:0+=+.A5]]NO3<<>ZQ[%=L]IVRG\JM- M'L;37Q.=.\L?O>(J<.B08^3JXVB^7\ LS MMR^*9;4:H\:I?$L1V\OT;JD.E,*V-T%BB;A7)IJ@7[K4Z;;#AO&5P+A\PN%. MX,@_33A/_WJ!K"7QI)>*&![9C@:<6-#X%[W81%S;U+7(/RC\OZM5,\D.N%1$ M\2?N@!N:FX!I)M)Q>ZK;92.2B70\3WH3Z?C.TA$G9\>+_#N1CN\L'0ER=KQ( M7U^/=%Q]S*F@JO[<-V%3#1O+F6-;N8AMY)!*;*5B[%#7&CUIWHOO2WFHVG5EQ-S;DB1R' MD\+^^!UG2)3I)P>Q$T!ZWGEQ/8#TY=3G]3HW7HE(3X&(TZAR5:V:0T-?4DMC ME%\93BD HN2/WXG7W4A,8.A"P>X$A9YWL%P/"MU^L/Q[U1>9E99JL5'C#+_F MB:6-OMO-%(P:V"O#G<+&FR+B/\O1DE9,Q5)!1/$B)=\"_^)04#7;'YG@IO0%%U=SE]U,O:OQW8DC+4UUF^[GK>UF/7DLNH(K MU\=OUA'@QW/;PO720\5 *2_47MQW3 F4!]/^J#PLYRMO5PR.7A"4J ]N4SU7 M2573.)9>3+MB.V[TAR.IZ34T08XG9.;';Y:),HGX!P5!W+M@G',G?;Q@/)J" M_[I8CL%=R/=KS^4K%V[\Z&F0N1;T!![DIH_FO&$[: ($+TA]4^ */9?Z=NX& MO:+IS'N]RD2**55WQ13D3GN"L2 !L8#$0KTCY^,>8.#$5B$P\.82[)V^1%.) M2;Y(]:B\$!=W3J'CK:\/$MBF.VP+C)H6Z_/6F&U)"DB/,"3P4.>/\U&*)J76 MWY-Y*,#<]ZOQ/KBEI](;=/NT_D%MQFY;W=@?CQ"\&8V,RJ[LY'!=)M+QY*&367> MQ C!XFONF%,V@>##FUV6-X@/Y[R+Q(YXJS]1Z53'C#K(^H;B3,>:[C-V<7$% M*L137&"\ =7(C]25!,1Y3RO,B[K'!KB01+B02!(KXAVI5C>/"N>\?=\,%6:, MD;$JBFE3F5QY;/7KG8&]MKC[:+"M $/>Y(9PHBBHHRMQ1KBVY\L&P//D]Q MX,<6OOYAXBAF9*$X7L0>1Z#FYP*T(S1T-RZZ,=?"OFVD%D;&NJ58J@Z;N_M# MPOWYCJY?;L8TW5V8RA8M+OC/HSYDX-2,'/W__@=N(!"; B11OUZ!EZ\8 _5Z M-%7P/I5YE1^#N#*2>2K)R"P?5^44QR;E)*TPU)CEF+$VAIWYMP+_T_35[_^! M_^Q[I9I <1!D3<.N'Q )]2.$78KZ[[>?(,_N)(9]P)P0=[A =' G\;__^W\= M=_8TWB+$RJ-1A&O!8-B<@-C( 8H14\;PQ;\4C+=?![A%PX[0 MU,]XXK\C1S^CX9_,W5S9Q(YF*$3IF G&WJ_P:_O/,.0>/K1=S);^<@ TC* = MA)[^Z+EX(3Q[\8NA?W)H5\%?PX&Q\)Q/7&!IF$>;%:]!_&$AX-::.@BY_]&I M9]ZXD?'J![^B+T(I@G!N!I^L@\&$'QUM$31Y"%\09"+DR*!3! +"8=LKOX_V MR',;^?&ZG)ON#T'%_QD]>FHXR!$\F% ,A@TW@AWIZ; ;P'7#V MX4$&L&QW+ M<^8(' ]JLVN/,XH[S9GVVH7'*$5SB5"D/W\DF0..'W%"UX MJ^"[4F]Z,[\H;S+CQ&XMHH.68T51Z-&""S M<34I\RF*EEDJ.4XE&):FU%2XYY1#]GH1&+:3$&IBWK!R(GF6:XXD1.G+_FNA,OG2ST.FLY<=K/ M-%.UQND$6Y&6"M_3>M-BW&N@EB?]K*:T]8(;^!.1RZN=DJB4O.VV"37GD[=7 M.IT8X]3KGKCM3M/+W#:676F"G#QMRI8:57%'NQMC^9]^-JTZ2#3 MD+;JSFM1^0S;3#7:E*AGX!:A3YLN],U2J[92EK',5]J+[60Z8^ \TR\"9)JQRHX\*EGEFH9$Q6% MBW$UR>^EMP7/R;5V'3@#9]9*TU(BG4^OLD9^$NM4YYU9K:/ IF<6*R&WW&8[ MN9I+2RK9]KQZ8C,8PJ9G5JM65CNUFI)DC9YJ]IK*O)R8]";0ACEMZK']6#D[ M*]Q-8-,SJY4T4A+EEM2,!!*+#-=CI-QL YN>6:U!HAW7V/@J M0_E@,YUNY6)ZFH;"?V:U!+XJQJA!HB.!";]A5:8<%Z=-F3FS6NET(]82%K&E MR*VE@I=9NU1!6LO,F=6*B8(T+^UVI@&8/)^N) VA4X9-SZS6K"FD4TF56QIY MGEODQUTV2]7@L,ZLUK18C(GSXJPL 6L]WS8HD(E5X;#.K!;E#JM4IV!WJ)A5 MSN:ZFWIQ"N"PSJR6'VLTMF >7DES3OU M;HO:;>PVA>\:41=K M/&5:;"$_QA7J3IHV:VTWGE)H3]I.VQM*R/L[JXCC9$^EP!8:P]22THU>JRAQ MHK3<9E=K9$N?-.TWG666:UU?;(KC^:,+,8R\J*1 MK6[-3 XV/2=;2:M;;:D",/2JD:RF>X-=S(&GQ9G52E?CR5VC.FA0<[V7K&SB MC42#@4MP9K5FR2*UI:EJ6LJKF5H)/G-1)N>G)D]*1NH<@W1BMQ/L[6&*M1 M7?1HV/3,'K"H-96?=UE/[%G4:-UI=+8C$_;US!XP&ZGRQ!08D0);C1Z,Q4*! MJ@FHZ4E?]73:3S;:I8PQKY1<ZZ$P-P7F'3D[["7I73OK42C.40S/J)AC-. MR/"I9W967]]M>TZ_.3+J6TZVEC+?S36;J.E)!YQT71T =KZ0M@[=D6>2'1>9 M-6IZTH%-Q^@QE-+;4G-_Y"M"O+1H\[ #9_9K0YUT-R6H1QESKK]JY]:F,JJN M4=.3#B1;NE(VFYVY..^N%%FHY[*ZB9N>=&!4K%13LFYNJ+Q99I?=N%S,MO-@;98U>41]*-7$TZ$'A9L\H&,/)&F2,^+ LSAU&9,8T-1A"*6#/ M:!A"-Q=?CG.Q+,4TXA.SU+'8.MHN9V2KWQIQ-6YE-26N!.WN66+!57W<]*0# MU30E4"M=-ZAR*K]-3J:YKEAIHJ;[#F 2[&#(!^0G-.)-9>&"7_L?CI5=[F"@ M!A:UXGOV_H/ G,:?/+*ZC\C2L,TIB^$Y^UZ$%C4=*,ZO"]9/-]4&4$CS/? 1>B:UQ#^ M]%\0_@]0,U]33R! MFJ^#&II,_-LG_C5U.+&Z^B[=\N/&GMJ[:HZ9ZPLE1;\T[KYY['_B&-\=I'0F1>UJ)X,(P?<<^Y_8KRL6@K^L M-?;11]TAGIO#CT/7;J/[7"(72)NY1>'\:AD\T4,ND[]TX2,C]4=A^;AJA'10 MC3!U7(TP);/J$DSGYC@A<767EE5FS S V_.3'ET ]7S%@2UK=9HTJT@]-UY? M%)>#M,@WY80<__$[$:7.W -UB6QB(E;7(U:7/82N0*R>%/E]Z02:&9T<< )=(U4T0L?;'L;Y/CXS D<>.Z!K3@M]'VK)WZB^CG1#\G1BH1 B($Q$B]=B,5)\'^^)T%"WA&ZEASB4"- M)Z+,4=6 7?"!/8[ DP\>==X6_Q$L?7V!#E=BU%Z)]KWWG-R<91N)?\Y5'Y]B MY!Y+T1DU?%HL=?M57=H9,2&]T[P4FQQE4+XBM&[CB2C/?TCI;2)?5R9?GVKB M?K)\?:RU^P?YJL5YWJCFAWUJV:I:FK$8<%YJ#>4+FKGQ9)3G^(^]1OQ+3F[A MR4$-K5?%FN@HTTAQ7>"=)YZ))GZ%FOA?H,[5FI77!4]P?BUY]7#P(GH#E M[@Q >?VLK@PZ/B]Q[3'0)F4U:>0F,H\4 ";*<*\KBD=DE\@N427>J4K\M>RN M*[F!['E'CT8 @ MARN*BK_9KF(BO6*L;X"V5RD0"7"J:$R!J:$5B,"O@"BBSJ.XI8VJ'A-+YE[9 M/:)R?+S*L=;'^B^,30_"FIG",0)7L#3D_ZM;62RM>H!HS^+83"W[27Y0+U., MRX/\?,$I\^Y:3@4DQ(>4Y25R>P]#).K&&]2-R\GMF(UM^!)7[QJ*08MJR4JM M! ,5)D/Z1_POM8^;8#9P2>/82 FJY@;#:$NSA8%7!^*\,^JD.<"6/4I )1.A\L%&X_QI?!\1=B+LA#BY M DWFKX4==KZD@+0PHI:T0]/5&;5A[#42=JBQ<%'JQ2M KIPQ>>ITT< 8.,Y# M(7]K E?(#8D2#8P\1*6H<.=ZF!9!7U'FZ%*";FP1N+*!0M,,_^Y0U[D MJ?+QD(-@ JB71?!.B=GCF._N73/$BKH1*XJ$@-R&LH%YW?I>\"I([EIHG/6Q MY 8^Y&,I/8-=17K6+)<*O;2H3VKRN,**>ML1T#T/<>1/IMB7&%TBQ$2(B?;Q M'NWCW?++2N6FWFWD6^*\;0UCVIJG;!7?T_)6W>.:5(R\HEON,WD@8*[[<_?? M>T+#Q1$?\%$&".O; ]5WPH(]Q#8BMA$IE_"W>H5D.2!@!)$<(BVTF- M4 P/YE'=JAY$L'V0P#/ I<6\2B&I-A)2+[>Q1G:YG34*371K%.(XF%.U@U18 M(&),E(PW*QD?*LR^[0XR=MF92LO>,*UG:_DEG1:0,-\U Y*9*M8$H!H.QP48 M'D)335W!PD"*,=R0U71#8R?%&(@0$"$@Q1@N?KSQ <&OAI:U U2@K[!5393P M:Z?ROOH,N5N;>.\I+%JJ@XBZ+ C^OVCM!:5UD),S.K(TGW>&B]*N3/7JGMDI MM%<,Y>(+C5'& QV-)TA5P6\A;J2TX&>(6U\S,K-$+C\T8H7FV&@U%E[%P>*& M$A68:()+WE6]P?#,AC;\0M&U"-B@F$C@/B0^DC(,-Z:#?P,?_#TJ Z$$9L-0 M7#$01,'2ZD@*G\VKVL@5KU-*&C%QZ7*CDK@Q0%):RS2'U8,D]SK=@ @R$62B M9GRI(#/-FMU8#4<;B2DVIQN;EC.JC@4953D^339X6>FX)MWBP \LRP// @QK^'JC[VP+V:'4FL@TKL7X8BT7(G'W M(G'$E_V9$I<:C%VF53-<"5BU7'(WF'&5+)8X>#PG*?:NW-2'<]OQP5E.X,A# M38@!8D\0Q>#3% ,DD94'Z=N;%0^QP ]_.X-B>FJ3KAC6*D\IEE10,^-<78\W M91J7<(Q'.>YU&8)$O(EX$RWD([20]XDW/;-3,VFWFDAY:6L#7]528"D@\<95 M'O'UN[<7TQ]H(WL^)>* %;!\PB)$KE84,[ L:2D_WIAG?A5,/G#U\ M;,_I!AU5Z->'[%K:)LSANLQLISRSEFE<6I%.11,,*1_P'620. ^6/">O>>0 MZV5;^I3G=6,^78\6%6/45%("DD!\?"=>]N;=*LU0?Y+_?\0M$-OC(VV/D>UH MP(D%C7_1BTW$M4U=B_R#PO_[IG,3:"&?.#=7@) ?F QX"H^/TY8?&S3/0F-V M-ZD[0\_;&ML6HZUZ0FJ\@ACZ18H=ADH=8U0Z-);R07:$2X)![D[@TBY<7/-"1DS*2J= M=JVP7/%+-@L1"==IC#/1U(NU98GX?A?Q)9K$1Y$V[Q+?E%G.-JN"5Q#]\JBR M&-L4.ZI.D/AR6'R3W#U$@Z!'C!X]8@W0EH"],#7X1S1_D;%IK]W(V+'G$=U: M ?=$YQ@1__&M^(]O:.RD@ $1 B($I(#!I6UJ#C^NX3OJ5$$!C_:85 :\(K?G M]0V1)#[^K>;=4+;H$CFW8POJTM<=4'U=J3"/SNMEV4WV167-+F8:VZS'FE#I MQG7_$HDHQZ1(&00BIU<2UG!KQO)SMQN\55IUMU$TC,4Z2^552R^7TO1LN160 MM-YG8;] <6C#6?@[I8'8 ,0&N"I#^+IP[8-5$<>&DZZY.<>>(]$5+*VJ>$A: MM_7Q*X%.GG;]1+VXZ5"]K)R>;:A56:C5/D3D@"!#=(!EP7$'R< M@G,!#!C[?VA9W[>0D[:1UOXDPX*8##,Z0(0L'119X6YP)"J!"N$#: M(;&ROI]K\JHB"^Z0%6F$DM8P%T,_O";O*Z[RU7: .EUW[3L!#5. MKF4&5XA,QJ-\XL7J,41HOXO07E4\P>UG?KQ+:&5Q"YCMKIZF>HV"%NOWV]T% MTT1"RZ%[3**I,[F:MYSL\31!ABY .!5G/A>./0^"I9Z-H-CJS24FN=E\H92JG2K_-SBQ8X@,[A0)4US4?K,]=0DAX,@P=WD M8MR^QG,9).@4"LFJDEJ.1$6.5_R6V&W,"DV$!&]5?6XI3G*\OR+\%7&2WP#0 MO@''^]4^G:\(;B0[]WONW#N*2+QN>SI@Y[-@Y$5TU_7AD0*@8N!Z),R >!=O M/LS@]FWF/3=8'R,1+882FD$">D8C'DUB9FR:Z1>HS%#<9)?6SA[G)S+#!]4- M>/J5UQH3.2=R3J((OBY,\G72GNSDBHNJ0',22":*BWZJX*2;6-KO(5X@#*@( MC%W5 9KN1<:*BO&:9(A/5["BO1"MX96_A:.1W/UTXAK]0U M,:\D>RNN,33H;A/)Z3TG3C0,CRT6?Q%2G?18O1"L>"VUVY"@XH''?A54B0Q@DCNU>@+MTY[ M?(#\.FQ;63>$QDBJ+XNE4G^2:;N,@.3WOMF08Q<*V !'U5V U [7LU4C8B_0 M.$F@![&1;IX/N5N_3!M):CT05#&48.T,PEDY/I^].I;:*713QE@V(P+'"47P*; M(/;&T57D[PC("+09"!5!K)*;IR)N7YG8BW(K<$AV[(ZRZ3V(=,YVVE/% 6FH MC6L9>[X EHM[=P8*I6$[T1T4=(K*"+M-O#$KU+X8MA&+ .9=5QYBK MT83MF%5C&S-RKK7SZIG61(XG@E@/BHH3?H3(][MXE^\EWY]5//.5\EU-.FFA M2>+1Q&SZR;,KB\KAGE?N/0E MQ2X/46JO*W&7TMLS3O.W4PEL^6XKFRRYY@9:3ER0\1+EXZ36)1%DPH-\?JW* MOQ1D57.3HAKP[8J%/%FH"( M@R)R<>XMG#IB'1'KZ";9C[N**@VDM#X60QEM01&M6PC:T'_HBH$5Q"Q,^.Y= ML^@/@J4]_N"H9=%231\M0%9W%[:KF'EX0BW@-^#O:*"ZY0.MO@A3VY4O4H*N CV?5JTUID$MN M9PV>RK #?IA:3_QM8X)P!(7NE8."8A&E@S2M:,#R@(:M5;JSFW98T1+D>%#^E6&B%*&+"!H0NN@C]:3K00-^!L"2%[(R MI5ALN5?LY1>IUAJA 8>OE&:8OXU#_N+K4? -*$B=>:KD1!0O,@*PH84\6NA^ M63R/Q%J\2FOQ^]PG^\'\D>#*];%,,ZB. 8:ROM\K+F?UA" !SQBWG''.9Q-? M!&5G *D0FW9&PP'%2_7$1%Z+C#AMEJ"1AFO'TFPJRM*G=52($'\_(;XJZN9S MA3@I=S8+SF[0"5W,=POUC)-N-T:><#5"O!.7BB P4D;LM:Q&E:VXR=P "S%B M6K@HQ_]ETO%5DBVAMO%*/@7I'P!^_*+F04RJC[EM,@ZQ0;/]D0D^!>?^Z[/O MG/WX\7TU^#TP,VDS;E2&28.A>OU8E^_/G&RAN+X:[!,Z;-77.BU/R@S=+B/7 MS9W?:_#Q3P\HPQ,E9%,6TJDRN/K7Z],Y#3 MUV/+&/WAKEM,*I;!N5NE,$FQU6U#0% 0D"LL]U+-I>OC5EZ\>K;M+Q8F0&'6 MBAG1=%Y;)^CYU++J?] MU/C21Z,_7I>% V)X97"M4VAZ>UM\^B![?8&.J^ FVP@*CU!4%8[2.Q0-BZ)/ M'!]H 7$%-BB!.:PN9GM3X$1,7<$3"X^NR"(#K?C*OT$L_UN5/'/#I]8 MZ%"O%)$ :KH']4H4&.8[#M#2OE>SO0'P&HI^KOXAFTNK\U65-RA_K )_+LQ& M&W8BL[CH:9R-)I-)8H\3$;[&0(>[JEWZ#A%N)4K9)&/,9V)^G64V/;'MKWL" M$N' G9!,G-8&N5H[^FEI$-]1ITI0NF#)=,>3,;]L5M<2, 5QG6K+#!^!DLFU!@248H[S:2]>08D MG%+8+BR7&ANALFMPA1_JKD5T'"8:U/=8O$"'$ N(6$!$"[G@77-'THEO;C@I MB2@&Y.*YBZELGJE6,VI-ZM7Z'7[%MX2VL9997!^5/5,HF@@O$5ZBK5Q>6WF+ M\"[]+->JUA8[*M.UF5&>*[JE0A,)+ZKID7HIEOE&B(N% Y4P-)&147C]WJ,; M:X\UCM";$GG9D4(LI"L&(Z(P?-;EM*%\N?6QX+H F4#[ZRV%!_%RBU;E07+. MX$]B4-NUMR76-^9E!927U6&>YD%E1$O &4*.#MV""S_1 M48RJ@B;8C4R!J6$= C4A]@NQ7X@N<4%= J.86X RAFYD@!)6/ A@*)OHPW,E M<]A*OIV)M3*2WLX7JUQNO,NJ4'O I469U.N*;Q'1):)+U)"_5T/>++5)2S=J M,E=0#5T5I6)A'L5CW][* #R\D+U2C%Z=X"L"M"]*H\[TID"'.(Y MAZ_9HFB)X(98Q8$?6_@BEHFCF)&%XN!"I=X4N "MNX;("N1(L7!^,;KI9A]R M 9N['OP .ZY^OJ/KEYLQ37<7IK)%BPO^\Z@/&3@U(T?_O_\QH2X;FP;I&Z_ MP%>,@7H]0BIXF\I2:A8_D&]#28L&8@. M[B3^]W__K^/.GF)HF)9U-(IP+1B,C!,0&SE ,6+*&+[XEV*NE:V[!]+4ST-& MVZ]#9A<:=H2F?L83_QTY^AD-_V3NYLHF=C1#(1#'3##VX"<_F=3#9QA5#Q_: M@=GSRT%W/>DK@)[^Z+EX(3Q[\8NA?R+%?PY_#0?&TC_9"ZP,ZL MJ8/@^1^=>N:-^Q@O?O K^B(4(@C2YG^.\YW"CXYV")H[!"\(,1%P9-!182$G M:KCKE=]'6^2Y??QX6<[-]H> XHM)76D;[@,[TM-A-Z#U&PWBX(N6^O.0J!6( M,[[MU$-4;F:/EYDCN,SMT3*4Z,\?">X@NG\+=C%RZ&/DN).10R\C[0.F'\;Y M^5W^IV0IO@8U*NU?7]F+H@7GS/9=J".Y452]&T")<]']*0%_OP!.\&M$F>/L MB8_N[1L.QT#7J?ESX.CJ):RPQ[&M=6>B6/H./^AA1\%?@K@5%R5%HE_KX\,6 M>]AAV4.N9 =V*FW:JA%JE/4#_# 0?*5![)\\[%_DK-40=2;_W*\X][<=3N(L@I,.;7/?D!R)3906Q(P+/1>! A7L..^V%P@1_T8 )OXN+IP0]]C&,3X"%:OZ"B -6 MP/+AYV/'GD?64QNV030CTN)A$W>JHP$[P%-@A]!?PO(LBH9M6#?(/W9L.)^! MPG^87MB-M>T8<-R]PU/M\1A"B#5Q]WY-E.KL.?K(1P-7T+EO*1%WZT+AAILD M7.6LT#ZL;K XIAE1@6FBI9CJZA3;(.@#WU0W(B-NQ"-S'W3TX-= MC@K..' 3HLTP-FU%B\(5B>7TB&/#OUN3:&2EF#Z(02T.<:YAE%P4.6I7:,9, M903G%'\EF H(.7BVPX"Q_3=^1EK!K,'-I_FJ]S#FX'6'8'2TX>9(8A5GBXX# M%^U+,V+"C8DON,1K/T*AZ:J![_Z6?K9_1@1G#H]ZR+K#JMMI>_Q6+YSJ>W$*1C<)&=_%O5=W2Y_Z\ M"N8CX,B#ZM;,Q$5?I,JI57PS;E"U3?EQ(:?$:UD^>+S!1];'$$^@U*)#IF![ M[@+^!R>XA[:9@.>BZ.[O*3EP!UQPXM3@&LG)A=>UVIU5R8AUW'Q=;:>4]5I MA\!IB6RT["::1O7PSL@T?&FP:%"GA5(N' E;*+ (YC2X(X$5&6WWJ[I AV<@ MLZA>DJ(C3$'(!1\*D+2HRC@$+51>28&3?ZBWM/!')CS<,?L$]V[==R*J#W52 MV*^'G>O"7T/;/N@?ID.2_W&A5#@3^,B];"'8A#" Q@6W2" ?[G[+'^ 8M@H! M^@"6(R=0E((4CC#"TEY;N#%$RC64Z&=C)K1GZY=,J%VV?;G<[3YH7BB@K40TE0%Y4(=QAU9 MA /_:MWS@_=*N"6>+/@V^/=TT>-V6VO9J=F"6HKS26'1VRRGFG"ZZ.?;7731 M_R"6+U(-:-"X.MZ1)%S"DKPH2GQ$/TYH:7PEN#[_&^HY/!+Q+>PAK8VT,G1" M>%,'!-J5JV^0=NU-752)$#8L^18(9"].(4V=3N%VR(F!-5)_3T#\C*!.'GY] M?0]U*]!=D(XPA:?>" KR&QT#B&!MJ/AY,:U[DUQCQT?:MM!OX)A37PS/(## MH[LM9O#X]OTX^T*H=N"'PRE%2C/\WC:BH0O8O8,Z@/3PXR[BLD2V[04SZ*"D M"-1/J* $]H8);3VD4"ZPMG\$3%!M5?4%,D_V.G]>$!H/)EUP6",=$WX1FT%X M+ )&$.7P):08'[Z$!HAV!;3=P'E_ UH5]_S?(N[4]DW8=60A*7BJX1+-?"M0 M>P]SO5_1U^TP[[P'9;_5M@!9+WAK98&*-=QP>]'18%-H)V@3L-6P<9]\PX]&B$V1!_O MT%#+9N, M!OU\W;>'RVPNH^\,GPH6'**$$Z4[(-ATC)@%O1D5# M&LX\J"**'JX'];)P%2W$.\/6*&D:6ZW';2V 5'MT?*+%4")CJ#L_= -]'\TV MA%9H1^*M9Q_NS'DM4D1.0"**'XI+>T%#=/WPI+]!FD!51@]ZF+\]_8UF&_;U M]-O!3'_4%FDV_ M]\00,/4Y'"5V7B#!0KB$>G=T^ 0<&=HPUM$K,"4?,CJ+\!6(<],"2'HXS\*- M[$8"6-<#-TGX_(!,//,H#YJY;L "N $\'[WQLVULD5R_+JG'!X12/C1 M,!V *B% H=81!P?"OBE>P+[!)^RG#&)WH$)"1+?7N!]HB-[VRF%J ^$_%#>YA& *6"(4Z@KB'4+SL2'50A> M'/I'[("N"D;FAOL-]0#@>SH0*!PK-?B=P3$3=,,]NL "^X:?G+)T(CAE,:NJ M:#;64N#VW6];=)J5%/A 9_OH['PXVK6@BP$VZ>Y#)S4=JY5[KA:J2[!'2-V" M6T;%YS8^"3XG5N(VU'J(63DP#>N'.=ZK[U#Z3'2E MRX$<1D>9:L-]KP>*C7T>MS*X24!5':%7YH!>/,M$(R^#5@6_& $0U)[;&?25 M!X! K#@(X.$@,_L 7LPC'Q5#P[()C\Q@)(%LXY^QX.!3?6X[2.> BT4S>VW! MWI/%1^?Y3Z@W(]='V)]H>&SB#@1R/XABX3RAOPO1_(9S+*/.X*&-M\OM0,\QW87(31@K RUH@4\6A1U&JS1 M6:;MY/?KCJ'A/S>&AJ6?#Z)A4@]!-"CPA031W%4031A^EN+&8SXYHN4$RRHR M2RFL#>P$\! MA*0]R",7W%31 L<03OX(3;G'4!@<#%"S\N=^L$:Q0!DZLF[W43L06;'JLS\< MX-.P6Q>Q"7 +6-@MJX0X!5Q?8KZ7"#]&! MH>D'D@5;?E@?QLJW[P;3 %NJJ-L ]R\\= +OZ]Z\"^VT4.=T0[,4G8&XW^8!.:_L&$[E7/X A#3WG0X .U-M3!='0Q7%B&&T*<8Z^Q\HQMAK,O"U;( M]7&3!PX.:]L/[T<]#O1*T[4?M@(:-L1FB+U%7+GHVP#;N\CRA0_%%O?Q[!S-BX//WY!A"A6/_\ 7 M_.$-J$/A'#\^VXQC]FC![IH3]>\YFL/NE8PKCFRN8Z].V%/UB&M=J36 M8?E&AT7,'L>@Q!U4VE;]P2!_1OL\4J513Y_H9(%BC8X91$ ^J-)H1?::7*BW M!F* 1N6/T)J@9802YUO!)8L:)%EXH ESM@./A2._DF-;\$"C?QM_[X*CZ&P?5 MWA=Q=&X]]LOA#T)?SUR9V8X>!A]ICZ)7L2)W]#K<_I6XMX#JK#R!6DVC"029 MRHL2H^_H>G;2G;Q\;Q<*?JNOPY!,C&HH:DW.0/50F=AP1\/N.^A"XQ4P;5R* M+@\M_D6ED@EA;3;0W5:C3ENBLAL:O5AMFLZ-'L$:\Q>H5M4M/#W8:P-<[]"U M!G 070%5VO2VH2"B^8!T,>8(ZDI&;C/DM_F,D9FL"]MF>KA8P.[\3IY>ZO/? M80 8?#HV;8,A1PYCCAP-.H)''7H8X. /ZM87K4\0\UN HHN.)@6E?>I09;.! M6_$T)5R:S70PT)0MTS.V:X[M28LRO96$+UN:>B(K%VRMK1O^UDQ4J=1N-)NB MI3FME?9D:<((YW"XD4?C#9<$COKGN<@%;&C2U)\8ULQCO$-$:QU;."A@60=N M&) 8> & BZ7^,31@,T,/$Q<#QWE@2>)[EI ]!,VK0QP)>@344G&@ _PU]-WO M;800/H[=, ]>\(/O27O+$1S"A[/7 MG'.CTH8I+"0X4'FY-LAZQ'WT/=O<>K6\9%X9O3[, M,>:T4W41_ MCT&PBN&(_Z.&6,PA,L&'PG,98MG^#R@I"F@!?X]"* )GQE'\$3)$$3[$F3_B M0Q'?D8;/^S!5.PM&045X,7 FMH\6#CN*PQ2*/7V!0_CW3?8^)-P"10*A*(0] M 85G D>*8,XJ .$*E.X9V [4X=OU**!]Q;"3 P[/4= 59 ][OKPN4?3@[YX MB%\(PAG@"X."M&CJ$&9&; O$<-!"&*D0$;S'P27A>#[*$/NP>T2%_=8)D_4? M5@FMW\-O&73E@77>FJVNNN6>/.^UI/)\N%S,6J7$W(#G%LM$DV>*;2!4/KNE MP[0:[?HNDX_!3J)Y7$.Y<('U$9,HE[=Y+V;GUU1LE[;KE5VAOAXV?_RV[#/I M"V]!3@@@FI(DX8(HRG2 TH02R.8C\$S7_5P1Q'.8#>MA.^(GR %V!F\2%2ZB% M[@8XB_C),>13AE U1_EH#D([%14\>)"6L/\H'M56@RM(?D9J]B->\J6Q/&A( MAU%IOK-WW^YC-4)W 'IV#NXWVPE/&@V$46,^5NT"BAA]^8'J/C\.1)7J#K81 MCKM^L HQ^ZAXX:6;Z#?]<)9$#T]'GQ_-R-%ZHN#&,)H&[P((XP5 -(QH@D_6PRKDN'.ABG9H_C!L[/H( MQ[$_];#I&X@,ZO$4ZCE/.H0^#@_K+X'L"WY&_V >Z[A=<1RCQX L)W(+PM+:VD2>" 84SE(M#L.R^RMM! MDPEA9!RZC7#,!))_J T$?H*]J7*4CQK&;*#05N_^T3?WES&X!S7)>HQ;CS'S MV:7" 2_'"_2<*G&L5:)E.U&0X9XXQ.C>OA*GAHYHH&&C/'-\1A7Q$56!$_B\ MFO) Z]> 5Q]WE,U9':65D0S0+@\X0^?,3'%NQZK:4H"*WBE!@3G2@W?\9$VQ M>& H43;'\6(W,O%!H:O+S?IS$YZ(%[RARI1V5'M15[.SQFQ=@X;][U.N[BCD M_"'@7?/!/@IA[)LFQO(P_ MYLC$)A/)11Z;N3I&DX+7Q,&^G@3' YS1R;U\7R[BV;!/0X'XY^L10Q_%>%P6SX27]1'^PC=GL/A&Y&' 3S2FAT@[F6]79]-LJL%WTC(_M,NY+= M\K'"I8MY%FNYOS&4][G^@7 $5"3N[4,A8NH(_CIJ;6>JME^3ZH-U+U>4:HE8 M;?WC-]2_3@'0.3PS$D[!?Z"Z]C3U_3652,*Z&H$W"B4\:8%^%RR%MB]O$=!. MDXD#)H\^QG4E[!&*U A+D 2R2Q0Q[*2T#@9:#0;5X"J,#03AB0K^U*O_)"5 M*7W04RE=*W;%7&$TSL[7Z QZVC(]:G4Y$\SZAK)K5E()ME"8S)JP)?^TI3V7 M!_DAFTU+8&5:TWEQIM=S@LR[.Q6DF?XXK+=&Q7EZ6PG[M:PY6\.6B:!7':U,Q'7AL"[2*V]X$MCQY>V[5VLVZN08T5\Q:8[E<-,;M)FI)TT^;3HWR M8-9,#'U*!\U%RZS%W$)*D.$L/VW9U^N\+[FKB51?4,W&JM[/4KVFG#AM"7*) MRG1MS!;&DMZ!0:Y@Q.@2:GDR^)Y:$7>#>;\OMH5F*Y[8-5<9J)PF3@>_MI?% ME*+PFAC+QU+K[I RQGT!MCP9_*K<+U3SN<%0C)78/,<,>&G4F<"6IX/O"7HFY.U229"3IRU-9]O4 M=J5\5_23"F=R8\F?9ILR?]K26"4'3K_JTY+?&:S=A,TWX^9:3IVV7/9'B?E* M2X^EC,%3N0(O-N@^W,O4:5//*N1=REUVI7QI-E1*G>V,8M>HZ>G.\XH%KEF> MSL58S.O/XYO5;&%-4-.3V;?\O)\HN)HA9GBYI.>MS3!;P$\]F7[=I3NJ)<@U M8RO*DP)=+[>= 7[J8?[_/L& ^:L$@_CS"08O6D,?HTR@4(1CQLJTT3&%\[2? MW@J!79'H9H@_U$_ _JZPM$.8HQW0D&Y0NN%@)\$'*@?_)33HX7=<.[+>5TK0 MY_L(=MB)ZU*G/BH0[1"*'Y0==!]J\ 3U H):77!2C_1S.*=A2;B'>GB_/J,P M3EN= LTWTML(J]@)EK:_.?:4 M10!LF^^H?K5.*;)6[=>'JV6O(GQ$2:0@FHC\2_XE_Y)_@W\QAH;,2VAE8HL0 M69BFLG#!K_T/Q]#R@.N!M:?XGKW_(##U\">/+,)CJL\YW -P,$93@9'I.?M^ MA/8>'9Q?K[N0,D']I%Z\9>K(8CIZ/JK!@#*&]L?A_O<8ND_D5V!"(U;LCY9K M2![@%^^;*B/,3H&+L F7+I;X0#6\^_H]*D$F_@LFGO[)\&3BOV#B^9\LF7@" M-=]HX@G4?!G4D U/D.8;33Q!FB^:^-0?+CPE$T^@YKXFGD -@9J;G/C77-:. M6;AW$68?-W9^'QYQ'&YXH2N/7QKW6Q'XNF<"CAM]^/]^)'Y<=E;HG]QE[U$^ M!'B^\7; #DY7J 9I"B).4S@$H))]\6G[@OU)OPC?G[XOVOKFI5U!X)*(Q:?! M9>A#"W4,>K&)X#H6D7W YA6)S:.+#O8^00*G7P.G][1O;AAP3VZO_T8PS)], MSTN[X/FP@M$S@L-<5G "*_*&Y ;%GMT6P-[>CN!O;4?P9$=\X(Z@:3P!M[4E M"$B0+?$R2KQ&P?J'J@(P'G^YCA7&2?]ZU8;^0Z>OQ;*XD-;WQM'^R6]Q7Z/] M4[#5NW,S<43JU0Z?;.W['>T?@GO(SKZCM?Y>._M/'EZRM>]HL:U6;W6 M$)6U.&ZLUDG);J+2#O$?OYEDE&.8DYI-1&1O7&0_U^KX9(GECR66?Y_$3M2$ MGVM869[BQ.Z68R9J+C=\J>+X9TBLD*K,4NV*4I3*/6515ZJRMNBALBT[1+;G]'/U3HWJ2-MXPR^.AOHPKK_].KK+ MB.QVJ&74W)0?2KY@;W/H2K*&CJHBI7[\3M#1))TD(DM$]I9$]I*G;-/++SN^ M-)J*8"IM$C%[$P?*5Y^R&:FP*')"DZ>6WJS@^Z>G!XPA11HBRFW#<73,UL!>LNE-%DI7#HPWQ+^5M MTUUE5@ 4H,MR:]7*,Y3QU;Q U2[DQRDK41/S&]K<"69JK1@3-%YH9;#1>.KT MOF,"% 0H;L$->LV$Q$LX(13R)9K)>X:17XB#J5R?"NG<5YLV]&3\=>Q$00G"$Y\=YOJ8@I%K2G2;39;GQIE8=[JNY7* MF"U\-5!TIAU-&G +5VR/DB9']T5]DUC#\2(.A(HRJ3@!"@(4!"@N3;Z\!!2M M7FO"4EFF((%LDU65B6BUEE]M>5#EC8,N01F)3'7-&"M[2W&L ,>+F)M M;)MR$G$>-!5-HC0,XJ:Y0]$E_,/K)5=+BY5E8V?VQ4S)U$>;FM(RZ*_VU@Q; M3'Z3F.0KU'91 U66SLT!AR07L1#Q/SAKB.3>GJE +(*W4P=_EO&B.%C(?;]? MD8!28SQ1X/VL]]6G9-91Q M9/LS;)1+_J7M?Q-1%RW@*;I)V$["=I(XB[C3=V363:QKQ>49UUKBK(/.(9XE&>?5TT*,$&@@V$ MVGB52G06&HRE62XI6YH6N=&JU$M4F48G_=5>TF(JT]AMINV9L6PDXA7&F#J= M^ 1" _?C-QM-<"3JBD #<9)>DA(YBPW;=:=;;Q7\+C5O4I6./JEOM-E78T.% M8G)K8=%6# X41JW%K,9M%NARZ]2/W\EH,DD"* @V$&RX))5R%AN:[TT4:TX+T^%78\."W36%RDR?B/.5,_?55,8<\ @;$'&2BO+)EQ2'*X^9 M$#3<&Q?=&PX7/F)[4^!$"+?[$E)]8GG##P^J^.RQ7 %.O27HXDA,!$NK(R$) M$:LJ>?)VSJ[*1EZFW575T;>L]=54K];P![FZD62EO%WM-+W*'.^I<1_;FW6*Q/XO_+Q/"_PW*I5R(\I=V7T"NUV(^LMTN[FJU645)&= M"MQT,A3KJA<=].XSY&BCA$"LWV1R;X M''P\6U[HLL$@GS[ *\#"\Y1)=1KO#+= $XVY'&>T#EO7$\I71[)V>$ +37M' M&>U\8KW+47EAZ HR32'N@^.CB01+7#D$ ]X5]/&-(>").E2:@60V:?@,Q0V7 MG=&PVEC$F*\F0_)5:S/5!]^SB(D]+7PT"Q;*^'71J M0D)J;]7RVLX.FW9L@D $1PTG8PFN3]6&OVWI\ 5_?_LO5E3ZMJZ,'Q_JLY_ MH.8^Y[QK58D[]##7_F85(B)V2"?*32HD(Q )":2A\==_XQE-&A)0IXKHY&+- M)9",]NG;7_RQ&Q?/K\EOND#-P/CH_,SDWP6#\;K@HC3#E>CZ0PM]#TK^JKNY M-75-7G7PE">Z*8_990S$4:G0*"OIDZJ@H<6C6'XH30;Y)@4RO':DE)TMSXGP M6.I' N%+GN+%.):+WH9%FR]A6[](MOF$A61SB!$)'Z;7/G)?(.(CUM%#B2$R M$ 8?Y)G.5 P!"1M_L"0]89NN)>,)-(.AYL_$7]K?B=-R.R$SR+ 3SDAR$I*% M$@[2\0%.$N84AC3Q3Y@B(RNAF\8PZ2!K0L "0,L&HI&0,)6V\?MF D]#!L4# MP9]X)](0*31VB0R&/V"X(V!N'^$UX$5,6)D>\I1%XLT"BZ(SV^[ EBUM2FCE M5)<,.O$$+V.4=,PD^2-A(&=A6F-O/60_+AY((LQ#7^'A#;0X(C/%30NF81TE M71OQ,>@I8LIE)TPU,<*;TE='"04_O$K@!=" K.AK9(ED?WB#DI^!:">@OD]B M:L%I.'B(A0&;)'OQZP[SWS7$-H$_SS4%D>?X)C7#=O">R%'2#<$9X)=)81U\ M\\3Z;9.?;'3%^0 2=RM'8?Y-C_C5> 7U'Q9[QN@$R^3I4L M;T%UZ'HMGX#/'E,)L] M6Q'9S!3##@;*D3;%EV(00%O@D\"@-<0\$V&$Q!P8(TMBBH'//DZTPTO#SPU6 M]"UO:W@N!]B?OQQ_FS)&<=/ !SM "1?>5EP+ O+PU2<(,F# @+_9J^$CA 6/ M)#MAF G7(<0!T 0_/DFX>!]D ,V@E[AYG.-O3\$8Y;8)_6'D^PF?]6*$[U/R MZ T%2"ZAJ:IV("LWMUJ&';QV=HJLBS\ *-; MWHT?8=S"(R:D"99$'0KF%E(Q371L,C2>"7"(6<)1X_)_D S M&,G&> LG@#\1*H^7R4B=?Q^:RD^$K6 DS5'PN0D>6=8PHIN#1WQ&VAP=D3?8 MX>++"I\FOAL%31&!$\!N>I6 #T Y@F="9Z84F,]_E#"M(!+9/AAHQMI*8;O> M0N-/VS]:O%Z\)H;3 *(F1F<#\5'7%L;8X-$Z\:3T30I$]7K+"=XB3(!I%D ^ MS$I!B5T&N0H*4<#._9NP,0ABR&&\-4$H_"48$CY\;2I01;#@: BM8FW(H@8\"NR=G8"*/#Q%NC<._-R:]\_@S_P<+) J2]H[B#5$P$/,CQ3O0C M#_0X48[9Y_IA>H<>V';D@+V7)Z82 &XJ%#(J#X /="4Q09B\*O$W $P72#Y3 MM\E>F("#63.CT!B=,+I(F@'K]FESW,T_NS#9Q0*=1-:%?Y1'27?*%_CMF7EY M$_/2@(4PBDR8K'^._()48$0>5!/@"L 6$YX"/ L3#HV"+)A0 #PYH<3CE]N5 M1%[('R7^HX6V2?[^B<5_+!$&U$8B[/MDF$ '5YQMK,K_PI#MK9B4L2S\8T?A MBFQ3)VH.)=U(PD3%V]*&LV$["<@^DNTI=F1+@G&(>O^-%5AD0^3C1< M*T!1RP^07;G\"3DFR@9=:0PIUW L>)"W92Y"RX(H,? M\6?91O4I!],<- EP'F GMJDK@8L[\@T,(0D,-$0%Y%%,:P.<@R[U.'$-4@<3 MFS:!#LSH@7;"G .9!5E6LL/@R&=;.TT/K;R[ Y1+##'[L!.>I2YH08Q:[OZM M:/-?_\'_<%HBZUBV!F/TB-$_S]8,=)#9V@7A?]_%HBP3V9X3VG0V$#I%J6Y* MH/L@JR3__O=_!5<;-:XS,WA@&R-J3DL3B_@0)0=86!@G)2R+6C\E?2&M;+:M M0NDXF^(F]I^>*3U#(KF$XW3I?Q.!O^$ (J&I=?Q&,2N6,FI.%(1"2E"%0BE=%,)O(%3(I(4\$F6A6!2S M:64@E@0\97:04O%;2J$@9\-O9+-%097P@H2BD,.?"HI8*A1E4M#]%Z,!++!FZ39HS7&]\QVCA-<@-2 VR$;$9D&Z]E$'#56S( , M$\\EW27:$ZQ,6N*7O[TV<"NMB.0!@H:-#\!:4=[+Q;7D8)7TU "AOB.=*PI MN<,1>RG(QZD4.&6#@J2';RXCP#W_OF\- L=;(.R1:''X="TMM8G+&S6V'N]2 M-:-E5ZNSLQ/=OF\].!<0215PF29M)/]47&N!62*& .Z7@\AS[I2[]66;AB?: ML./IP$:I.^X&"Y[BT^IF42\ZF5ZU;9\(HVF^<#;5%C]^Y86$@MGPNKA"70.F MD<2"CFL1^S0[(J8PJ)J%A2S\*M?@N;L OS=S)0L?-)BX&6++*YFA9'0\\O5S M1B';M^G$SPSX!:AE!KZBZD&<-!?QD 0,+EC.DZ93L![@QT$/P\H.L<@J&F+V MLJEK83Y&?3A*C'8CA;0*53/P%5';Q033)RXV$UNS9\OQM0U-/0+9UK>)XOLE MGJJCH&T8]L8T-\T$]<=9 *DBRAA^S%-^([;KY]1?3YWSOL4WQ0F7%%6A%_B. M004 *7\%QF'\&[Y#:@#T;'\P+"6L,>-*D4&#@TV (H-VK\R#EEJV\3=M^,BG MW%QQ4=9N(Z!!F=SD132_9R_Y.-$9<<:WXC##]1+-F)L:>9Z2)(W:T_#Z,(8@ MT.O\$8D=(>122%!0Y_S1_YYHJOZ; ]=)8$(%,(D?GP - IV%*$:6J6J8/U$G MDKEVY7S_QXDVMP/KGCYF,^\2I0\JU@"(@.A.\4+A*! U)<,L 1?O^M!VP!P+ M<^O:&.G:""[, V[O)0YDX #0',+"1Q:EZ"-PD2@<*OCH+D9:,B_Q2AJVB_DH MT=K @MUP$5()E\08S&Y)X9Q(9^:MZZ \ )*>7#VD!$ $Q5 M>6*6]5R<#";Q(2B:8T?\1N ,P>M0P9,,MX>0$YJ 4UR;M #&QT\4V)"5GLDF M05L_+!\S38U<6=A7$I:.[.@*79M+:<2P3VYLQ8V^?XHU$NPY/@P3:.$D(?Y< M*=FV\>V K6>;LRJ6Z@>,P!02$1?[Z(ES%]7&*Z&F0+;$\/0; (%NBE*D@#V. M^B/A"[Q$()68.L18S^!-E[G(O( 2]$W!VD&%:>(Z0P"4&"4.<8FF/;[PRE^&XX&'Y85#6,BU$C1 M5&"8A+V0Z /OC0!W"IG]>G002\% ";(=4AB[@B.U$W_YSAG;1H[]-^7.EJ_. M!,S1GL#F37:$N3#3LO@K_HBZ1LFVAK8/2XQ+P3%I/(Z_2"XP4,\RH!>>PP,: M8AHBNPYC!%\F"HSGJPW,;:NZ#N8SY)B8WN:[;@/2YM%V49?S3E@6C2^!M4 & M+J'. TDG8I ] H: 01YI3.@,GSXQ[R9311V0H=O:KD @577[,XMGN,2S6^*!':Z(8(0H^K^8Z"!>T29": MMS3FP_" ,097CL"N +<'3-Z(&6. J(+/SRGHSPN +1&(Z0^V<[06,;0. X0$ MPT>)>!&YTD1D*W:!!@@!$"*I!VS:_E''KX():)N-L)HO!#(>(TD".) MF[M UQ@XC/MNB7JB@J:G68+5RT J=7_2$",Z'A4 0*8G @D)9*-Z&J%YZXH4 MA6%D$1BF-BN0:@SBML)2\-"2L.9#Y%J8-"2Y,EF#BN8 F5B;(JG<@:_\5=%= MAK8(VJ8V =G!@G"A8)#=R$*4C-O:DDK1$.D$9H$+%^\G(QPEP(I#@VN([DED M)R+08%"?2II"#LNPF16.$S[,N@P?Q2 V!FM(_&OZ$/O1?#F)?]XD 6Y#NAQV M(I)-M1>+63JVG=,:*'C:/Q82,1E]8CR Z=K$T^K;1==5_B-?$ T29 Q%U'5, M%0RR$@H.1)TCH9LAVZP/M)$HEPAS"<1GL,WC&T,@($O<$ZQ-\)59G%&#,F0I MY'S)YL&IGTD)SSOU/1&"N.Z_/;$)K8,\JH#H1P#B)]%),%M%_ZS]LN8+_/$+ ML\J=KO1SR3-QJM)PR;CH=AHI&0F'?U%X.S4G:2"3<-L&LR4].W[ WDU#1T'B M5X$*O]G*O;D\RJED;VR9\YQ]''4N4Y/N(C^M(CM[D3.4VWQ3;K[6/M[R9;A; M0L "]G"UHJF/O;PQK*[:1GEU,VR+O;/RCU_. J]R1:A:U"C.3=#2$',0RJ?\ MH_6%-0,MP/XS9=?6Q@0K>E6>;RL0L4UIM8$7C^DZV%UTR;5Y=!YH;":-70F: M(2&5P9$H3PV.A?F!I%.QTV,?OH9NA.S6H0@_^-H+"@*JSU@G)>%<<>+Z#36O MX87+B&CS3(L@(!PT@#6XU+Q-.^!'&!M&NR'_Z>O%5:0.<16'N(J=Q%6\/AXA M^ZIXA-QOQ2.D7Q6/D'F?> 2?&&T7\U@W<1#Q.(4&(1XMB=]CCF*2T\"]-"$Q M!@C_PU33E%"ZP5Z22V'A0TRP7RS$,9>?X7GH66NWA0'3-".>6+$ILA;)(&GY]HXMKDTB3PV0KB&0N$CTZOJ" M@O9.EB@1=O9OD(36C'XA.=);XU;T@@Q[F]T\/4,,GR.\*!(!S/.@".(2U7K@ MY1 29)>8?9.3._B-@3\LF0,-HVL6=\I00R+75*CP!\Y?3%?@&N@J 9='&I + M9H*F;Y%4.WX4;,\,=^.(&::P$VE,3R&X6>JM#;ISL=:/ETG$=&X9B%VM9D'8 M&,OY8&*ZG[81/ EN!>'I;FP#=OR51"(UF.F'[($S0&;G8@<+C@7(.24$CEA- M&)%G419T690B^API[F;6(]A#CN=U"+3]+5%@(P38M>019/8$/&K4O^&C)0UK MMS$\#2U)H?9=9(P NXAV!->(X8\-&NM0#(;X!;S]Q"CU[FAN@_F1:3NV$Y-[ MM+Y!BC(D#Q+XCA5LU?202!P]?E-25C3(7M?FU"4!6/Q!VAE\H358!:Z M3XWYM.S(?"/XP-5T)6FZ+.I$Y;D6>&./)/EL+>DE.@GU(]@>>U7\2#/N9?!R M9$$^FSHTX3O$)[^]:6N+'!#,AH%HS% ,E$U#5CT&&KHO[DIEOBV>UA\0.X\" MYG7*>X$OQ ^F!2T)WO)H4 $#4Z2JK:D'BZ:_0LT(#G%1#28F4,FY-$"4VE% MV#\XT)@;PW=?T>(#0&0].0+2 MY",:$0DD:K:>3$P2&>$E'<4(O4%KTP8Q(UC^P0L^XB:F 9RD[;),LR61%^/T MBK64TN@#8)@"6F&^[!%L M+; A&@&.,1D6Q(X%])HYN$L,%VR@9(VQITYX%@T!HW*-Y^N!)%P][BZ84Y\ M:O0.>**V#+%X1S23EN@U 1^.:S ,H,&"7J3KYI,(F:5I]!Y:8F1W:.J6']^T M%KGG"R,;H2\J@CO;R *%@G!4@\DE ?_I !.@6B[$)WA O U3%O$R";%D8EIK MD)HNF#A(%M5?8K-]MV8A>](_E-FA9P-'R8XO!L>I"!6]'1G3.HT$%WIN!]O$ ME 1^]H1W4D<'A$ZR+ZJ^D)L+6KZ?GT%-8 #WQ_!RQ:F$S0MTX/EHVAR-2%T7 MT_%S6#PY!8=-:O$I"H7%]4.(!$)0@=2A, M6]<+@E/#":Y>-"6I*L)T%K(J/TO'2\GI^9:+M<#$S6&4/)=78S&8 M+'1.BDWFEY1'C,7!:#+VIF9P6&1@3$*6?$Y -QA*$/<-4INRDK^]P/I,MFXP MV,"UME=MV6ZU\1-?YKQ40PCV/80/Z6!>2;$0*^;Z#0?(D 6606V0<^_5+7X' MUUSZX)H[N.9VF?*<$Y1<#DE9L9@M(#&;3Q?%0;:0%S/YU" OIP?Y4CK[V\G% MN5_'3VHZIXOD^LTG6TAN.>1%E](B>-.91@+13\%W!5?-6^ M:Y!H.0,P,;#*B#8K0)R -:>%?W@5G$29ZQ.)OWHD&(]8V CR=;&F0,O+_DU& MKN+_\'=6XHKZ OUWR:"I?T+)V\3^ L. .(01&VN''A\/5?\T0_4V:1CVQI)F M)!)ZRWF\/JKE _S2X8*=$5]QN+2<=S,A9<';#ZOTZ=M$R>!$496F4YA-E61R M(&#F0-*$N"[PC@VF3C+EK((5:ZQ/>T6.0N=\\-2^LZ\/G,$373,)\ OT/\AN\1VK7_)^A"]2?S#!0\JX?4"V-% MOX@- QR-K&PB/0D.,^LGI)&4"+#M$MI#]O%1\96<+I<-I47ND\5.UGK6L- J MG^K5_%-K.4VE&A7GJ?PNM05:U#U;85N,#:P]0.LN[5VLCN/&\SJ9S-BW0&W2M!DJP@F'Y %T2R MGM 2\3H.'%&,@^!",.5X_\3SZ-)LA(AA=]D!B^.CLSXRG*$:%5=#:O*BD:K MJ"G,#Z,%Z[P&K?G^UMK!0Z&^0UC,]N+AI(0$#,=U?K\J 4OZH\2,1H[X=3JW MG*'-BI?@"R.%2T@M36I[:[%12(0$,7F";55A9A9$/2'*;BF-X'3$#A M^O+D>/VJ/KRTOK(9Y*(5X,,3TC+6WB^\K(DOIKU !-K1[>VE3O->^J*?%+DG M*][_[)>U7@4OSFI9[W$0F]-"4_L^,*F%W/@9.:_?3FXYEXN&,AQ=GHXKBMN0 MZM;CI'CUKLDM@\RM.B_?3N==E*Z;6FMF= QA\>,72?G9GMKBGSJ8J;]73@MU MHVAVD.F]6W++BTP +VS3!)51Q:STE+.:9CO5G?2<6:.:G;6^DS5ZAG>E?I4&LG(0JIACMYK2IQ0X(<&FKLC[;7WDD( M0+6A9USKOFZGNY-KR\PHJ/I@/#4A9"$L.6 ME']\WWC\ Q2)D#PR2((N[Y+"U)D-C5+6-?=(F2 >IQ=)EO#;O= M.[/*J\-JPX%>A ]X\;2!(,X07GUTI&RL;6A3N.RW5WRVQ'L&LSWB>D=% SM# M5#+<0,J+Z=PXU.O".M\0R1F:>6,D9RBNP(M6V1*IXAID90IO"D'L[.O\2D2U!&:+AA!_GP ^;/5Y-?B M4S;L,)8:TX.4:'BS8R8)3>:EXKB!8M. Q%#!BA5R'@(K@< HI,(9+@B*D8,E M1509,[%9E;G <)C;!@GL2[84]K2QJ5:1POW^R1%VL+&-SL;B_W9P&U@V@&%( M&HY7X(KS89:FX3_-&"\_'"GHG^$,AD.-9-M8V:3,D44U\FV3D%C5-5C0I>WA M]_'W273/'*)I#M$TNXRFR2OI5 Z52F*J**7$K)I3Q,$@G1;57$K(E8KY;#J7 M^^UHFORKHFD*OQ5-$Y=^O_GIW"ZB:3[9Y;46Y.M%1@;BJ!V>PJ5+F)Z.$,O0 M7'MS:V()YAN>X +AM7A;\HJH(^LAT&%9EHS,A"8:P$L$-"]ZG[5>"_;7TRS9 MU3RA$WB(24TZ/$V5&O'9/ $YF=8,WQ:L_5[QT_%E9@-I&6N9&\^7$^8ED4-' MZP79+[RJHJ':G$'%V@V6YH2*CM\N(IO75MTH!SI1;" 0S'V1M./&ABAD%AFS MI9O\=1N29*2G^X%O.>.9Y)-7M".,OQ7L( M.--(_!M89/%E#%?!;ZEMWQN:]YO^M]^Q.3 "Z4R-R:\+9)+(H82'Q$8+$J2* M=*^F" ND$),%8J?5 I; __M7IO3/6FD9U30=O#:(M#(M7<$B$ TR(/;$EQP< M:P- *F%CVNBX3/GQ$H%B3W8Q\JV'X071W?K+(A88PB*2M &-QQ4I(0QN\,5N MOLWMP6,=?E"!\@/=?1[._K:SKV8*QOG-;%@45L+H3*PW%%T\?74TUC9G7VYZ M<9]4FNEFM9%,W4Q[\P=AD89*=L07>BAD]P&^ODU ^G'AO\G-@;]^W6Z&KCZN MQM6BVHA@E :A0#F6V*I44$PFB>5;,"):IJ0,@CV@@[FQ \QD:-OR8/@Q!!D/ MK;"UY\@30OQOF'S\@FCE+Q ]#&;@ -LP7><+AQ;'^K3B66%EGP0(7EC:];R^03Y'O;O7_A-P M8US>"GIMPT8:+)]!R;VU@0*O;FP=1,U^-O?U;6K'1.57:"0V8>7SMU,_\CKK MI^#7I62&6A/J!X4D)+^NBL."S2R:F/:,!!A#%MB#'EWA#<-#5C=J&&5MNE4N M:[S*EM8)6_%XE\) [Z!P_''8$4N'I+,&^BPP=^*WQZ UP\ZFOD0V" GX.ZR0 M&2C@BO7J_H0M=K1$XB;+:C@2_&6W_.TOXIT,=66_W\2>K'A?ZF@$K$Y8#K,< M9G8*B+"8 2/6?8G&N1 PWM3%@U<1"_PB0:^.H<%,!1(3QFC)J.=[) 2,6_YW MGA #A8YT/ZX!2V=X$Q0Y/0(N$=D;;S@^537!VTZ21M.FQ5823%;BC6VHR,V> MLT?:-+310*!2M'$3B1>BY:!H' >I.H:,H<1"FSP>'0AJ!O'7X3E/8(O0-7E, M*W+R]T@VS[<)+\@>P@L.X05[6D>_\*I@@>)O!0O\OOL_1.$#%(;KAKX*0$WY MFJ4PDP287WF].L5<&+HI*8S2*9H]A?ZY6ZD_.A-#?W9;1)"-@$QWZ;& MUOHZ._'L%EPO&9B&"Y(5X@1W>[>H4%:+5T9S4YP8]3_%FL; \ MW^@:+!<87IQI, 4F]"[9OK9FT YWA(5:?!@6-ASC-OLL!8KWL=#2L9ZUT5*3 MZ=>TQ'Y["?[Y)'(B$@M=H1\ 9@-):!U5%WWRJU"-I;- M37%(X4ILZ&-KQMD)]?KYN;B\ B@S2P7)&+<,T'N%U%^JM0>Q.F " MI/,1<"8YW0-S'NSC'.HZ3H*):2+3/XF1N<"JJ,4KNI) ]L!V 69)<5BOQ# 0 M5@,-)1:Z!'WSF$$QT"@@8*ID2_-2I]:,9YZ7GD,W1C=IZ%=(YR$NO+DJ\>A. M\:))0T$>*07]STGW]E"G *YT!+'.MT&"[,QOD:[1+ZZZ=AD)A5;AYYI'&'>1 ME6=H--'57#??L%.BG%;3#ZC)8RU<.SF4I.G/*RBYBZZ@2K%-:X]U\/@G&/[' M/[A$/LEW5:ESEKZN5NZ1G1_UY[IYL?A!0C.G8,:Q7/11@;F#T*!,+QJ8NH)_ MI*O^S[\'.S)71<,4(HOZ7+N53P$UTH,@F!M&["4ZJ48=K$6.50BO5PWYU8XT M #;##U ;:])4:;$.TN+ER"M5%&A%[K\'=)O&9B$V"96T_4"N%[[VFD;QF&6= MA5^.=C9F*4Y$ZO<[DZD-<-$]'L:4NPP@66M>/9QHFS3'#X6*L;N=CUQ M"DHW@3%!H^YTXIQV677X8"OS@6E9YH)P2W!]A;:B&32.CN10S;&@2),\-ZPL M+EHL6 M0DMDR:2_&GQK,F)(6(K76YRD^\7#1UA^(6'I1%0&TDA*Y:\%I_M;\QO',VJ\ MUF" ?)[6&S=39L"Q$)!!RZ MVB\JG, (A>RS(Y0I52'F"8SJ[*8Z]*:T7YC94;QGQ2JIM93-2M4UPMA">5F\ M%8:JLAXOL%W"W(A*3R*<::%#\@8-3\';Q_3=6B5FKF3A\<$=*UG QWBW1#P( M)]5@MT &4H&W^AE$@>J 1UAI=&V\"N(2Q'=E2=X$Q)B^1M(];3&X,S\1B@9S MT1=),A1I*L1M6-1$0K=+[,]^.APR)))I!HO7I04FZ"PS#&@V_@ZL=^ZK%X.\ M8@NP%GP^U27Q[V(I0E%)X1\\-#L@5K4'?Z'@CS+$JVO1;'7;,<&92L,6.;.T M60X99G4:V05]"M3QQ%^LTG6KW67EJ?].S!%M"K,FG$'HHA&$?'YUY&;HA6X7 MC(F-<\*#LIB$'? I^ 4>:6%LA53*#(I1WMP6PN*/\3LG)EE!>Q8)?\1X(VM3 MWNPU*GP]@P@6#>A#DO(F4/SVU)1:S2=3UPF90[V..Y3T*+'G[,21+&[1]8NE M^,F5)&XT4&:4IV(<,?DTDD3J*WP,S/[23=O^VQ/+($/EB(=U$JCE3A2OAQI\ MPUZ.E4*^7NQ"[A"[<(A=V-/8A>*K8A=*F^?8*G2_2^P"(R4LI)*Q)9S M8ZYA/XWN ME+I,#";3\NYGYLR#Z\B'Q.[J9? UTQH[ 05K/!) M02H+N"\/@C[+H&$&%/\!5;5I=TS6B0_D56.N6:9!>W13J?#[L^LRX7 7 MKH$P(3I*@#I\1$-X%5;0G.>]^"6N7,-"$\TA7)Q)_5PFA+Q)3=$D$C' /76F MZ]@DK8>RTNYQ^YC<)Y61"$ZP2R6V%UK_"(,W5#>GUB>27\?OCQ3. FD/B[:( M^)@U Z19EJ_B+8E/Z\U95XF)"=S/)/]IHCDLN1D/,32\-X_\=I/A^F-TJ2$P M-&F"T CKSD38(%]J&)_#7C&(K;"T .E$'"[>@B)?SR=W1H^CPBZOX]^=7384\I'5N=MD)+I?B+WL[+XLC24S M]5"SQ<=JTMP#CQW;V1I\D!JT1&:'"6X(SST2Q$#FE8B=ANBP[!(H:R14C/:=)C9>JB EP=QC M\6(S:$EYUQ$3!@*=;9G^;J^/#+'MF&Y Q@Q_FX=[X/<&)Z*=$5,SKT3$ MZ4< 6 *E:OS6#! M?K=@X0#*2Q+&:>\6T!6=U2N=D3%,D!S8*9))X81$)D6^+5+2ROI'$1[Y/W^] ML(QVMWTJ/LC3WMU)K6>/&^>F=*K,GJZ,?'E[%>T3/3.^ZA?&::%WG[PKWC]: MI^?U1; &=C(3JN !; 5TV&_KQ.PLLRJ"R&E <=="9XV-2A>X2./HW/T>LO> M[=X@IZ%VI.4/HH+C=7B%LC.!BA#7O2'JGUFVT[V<7CY,[,=;4ZXTL=9YE,X5 M(J6R:7>U#SK45%K,$-)?%._=7GWVV,B5N\@9JRU+/7.SN>;7.=5LMRDWB_=W M3<%M/9PVRLE:L5L>DE,MY:*G>L0S$4DLW1&-N_6*3*E;2'\0FXG[G4AQTM(K MEX6)WO]\#10@-4S>\:;H)47OYN+RSNF,5U:NZVKY8OY>&-C3V^:/7U\$IG=U M3 _9UMEIYO'Z;ERI-,;-6BI_F2_A8Q(BX!LMJ"^]E&#S@$H:5:#K"5JDC0 V MU#XB; #K#M) U^Q1(!@7N$>,=GO$=&I^.!MYUO?7'#OD2".BCE?1C_5W9[0E MI!BRKA8X42.J#XW4(3[Q@$KB7UI (XE3H.@ 6$*A0;)2O-"U'FS$0EU? MX\S8K^O=L2.\:Z.&6N6&&T^S*=SD[V\O\LYLC$;G9VK]OK'H],N?K]E [U80 MC/F"_TQMID/CBXC11 M@-F'6GTY+01GHG>>&W5*/PHI:+J*\9)Y&W#7,,2+[B+GX_%)H.R*Z0XS+,R\$!0)X9$/ G M][X+7I_ON7Q!$5D?",/K#N(93=U?4=L^UIA9NAE /09+_QU6AY$KT)!WR:(. M&Z2^+[Y'$P8AX7,TD"2^Y"W!)Y;Y,=+PG!9I001H8-$2?&314.'5T^U)91&2 MUD2"\V@U_S%,QZ'5AF0CEP6V80&2;,B+E(Q'^#^:39])FG4'Y]-0SSC]JOO7 M2@V4'O>6Z\A\NAQF?"P&^C2ED-3Y*"1 5 +.*Q(,UF@UFCDH=JJR/6 M )>X]?6P4X-[*UFY,LC=)I$X!*4I/C,'9B!LNQ<7HJ/ZNPJ\P0IWQ#-#+QV0 MUF]D;BN:*NPWHW4"0Q/*%J@01\[+@ 7KI%(H!).3/KN0/@A.7;8O+^A'X\?* M#^&(ETSR1HV(07%G0P=Q>>PTW)H7JT2BAR':EU_ ?E.ZKQ<3DS_$Q!QB8O8T M)F9+E,M6[OQQBF4@H&/H:HJG+<03;)JWXBF+$D3>.BRAF^2'0LG%@%YB#B#G ME)5TFKJ,RI/LC[4G72/Z+"&>=';BQ_*61'U87A5?WPI(FKGY*Q]I6-BVY-$J MG.ZC8PU/ISJ!@J:(' _FDT3C BL@@LPBXF5R+4(I./%FZUJOZQ!<6#E6=/&J M0$%8Q1"J1;$:A5CY86:LV&5C"2#09H2LW5Q P$1@"U.7U32%TL(!79';3F,O MDI[@ICDE8,R@W]D_W\"<0J2,0%\0')-K\.B1I3ADDLYQ3T"TZ M%OY/X0NDC_'M_]M1@C^^ZN1)9CA6W!@]),>.U_40<$_ %Z&+X&YM-B;AUF$*3DCO@-M6 H>6BV*%";ACXVO, >2__WSWZVT[AFO#D_N?C6,@W\)ZT;P/P$&\.91W==MW\J M2MUV,;L:9ZY'PJ"]!T[_%I()6/J&B6EH5V_T NPER:@;B;([Q+I+(%;UK-P^ MPS^Q*=A M1-\>T>8RX9Y^Z[8LJ.SOY=?2U"F:4DM\PS05EQ<$'" ,0<3%0DS3?@P=0(D7 M68]GKS+ M2T "(==HSA>?]?B%;H=](? [*HA&WGRYF+^?J_I@UG<"O8:1;6.J,F!M_DZ] ML*(HPU/=,]UL3JZ5<6]E9XV^.RIGK9@B+_'/O:N?_.7<,'/\?_]*Y85_RC*F M?M0'\2TYX-9#J.J2N] V OUZ9.8)#VI::B+V M5+R*(>Q7KVH(\)+W#O?WL+@HLDAVC,7>WPQ-18ZF 1#V6Z.R9?(]7.DRZW@Z M*USEPIZ.YCU[VQ!D\WS70S/1W^^)4N'@E"-"0^,=5=VPL^CX\Y._;NEI6Y ML\$4+1%V3FN_>[7,P0T%F5Q)4BY&67@U*"$9QDTY%.)CR^BZ;K!HOV M\*V03FS, +$C07!J]<3!NYL _>:7D-[XG4 M8A/S))8%7LW* MA-J/7I-)&C_U$9E/7X 4;A&;-E'#5"S%>[I9Z;<#T[WOKF;):ETHM02I6L84 MKW24RT0S [TD4%[N2/R4Y[ITNIY987"^7BKC#NU2KR95\ZFZ+[ MW\]#C+^4."9TQ0/'8N_&*;3,ZU[;;@F5QPXR;Z9)97:]^/&KE$]%+L:K.@G64*^2?3S4\ M_A,!-R3N!E8 )KF&RDY?J9*@K7.L7$$TY/,B[CRK2,-B:]SM]CHGJ]'=^:@Z MJF.BDLK$B[B\\EJ4[8X0!"WC2;VZ;330"/QIB;^TO_\(FK_IDL[QX9RL7T@' MVF;=0ME>7HVJ%47/#,<=2-9/Q5_1^D7@29*T-Y?, MIB'^>UYQ"=@QYQ+$M,H*^OD]H+R"R\%BRM"4E,2OX:OG>@!K,&''3[J>2T2J MW\3,\@\1%?_2,,A(?S;0Q&'Q&3C=:<_N6&BY%//#F_YR\%C5[J^%M%5N9U4% M(W0Z'EA Y9A0)S#5+-B#M MD\&00.8E.GK;)LJU9QDBDC(5O M7J8J9!_FUC@W'+NFT[;T:FLVH$572KET]#()_7KQ38*9Y$(R7*A; &=*+0\; ME5R9584CHEB@]P&+"QEB%CH5%X\HW+G$'=2S$M![.Y+ZSPB>8 MOKU65[V'\Z?F59-H'[$L,IR3I[#\<18\$TSG]B0GTZ 64C\G'LLZ$(U,<[1' M&IJSAIHJ=_SR:!I'LH8\(LCC#Z1S'C>[!?+5/4=P6D@+"56#S9**GO8S@*J% MNA-"I+3.?Z(V1'\K%E1!=1 KY/GIA05#GN0]3U34K%=5!NJ1DP;$-L[(W,H*DXA]E$:$"$K,E M1<)OI-.BDA+4DIQ':;68"[W1D<6[Z=U,ZQH72&A?=(>UPNQI67TL8^X2>;(A MWS_<%I^F.:RUWCSOW)TN)LDIU?C:[&,^%"[#Z(Q:E=AB369JJJE==-&YFNRT[J]G*3QF5A36GQRH5U*]?N](8ZV5N\^W^H-"KET6 M<]$GY^UE36TW6F)5DH?+05(N#![,(7XRLDYED=+/[_74K-K+F>BVT7H8--6R MF(^.::8Z9\V'F37NMEO+5+U9F9PW\7D68F;O8(YY6SI_ZK87P[$X;S:GE\,F ME@$B3VKI]K!VU3N?5%=J>2&JKI7*70SQD]'SE*XZCW*_EZQ.&O5<5RL4W M3;$4'1,#DYBU[9PT=JV2*\T?LZV+RE!,"=%'ZZ?SV\L>JHS&:'F9+-N79<7M M->'1R/S3RBR3.YG66UU-$#O7M6M1+"OXT51TU%9/GYR)[8N3[NK\:CY//25% MN5X&32?R:+(WR0R5_LCM3I(WKBRHPH5FX;5FHH^*E6DVE[X^O14JZ:26?1CT MEZO%0DS%P$D_ETF[)C(RXW9&M?LGIGN;K>*UQ@!*IE(;Z?SZO%F_OV0W=UT6Q(RD7JNO: MQ4# (.39/NJGEU.NS.Y5;"7 MK:><4L6CQD! +S/.%7OETT$UWTZZ'5O,CQ<#O-:8BTV)=E8;7MU7QNW60KQY M>)*;MTV,IC$7VZP^"&?#LYM2-_F8/BN.ANGN:84\&D$_O;IJ*H(TN*I>-@OG MM8>;VU7#:8KIF(NMI'K95'EQ=C9>#5;WRMG9J*#V%F(ZYF*KJW-YWLR;LC#I M3)9B[;;ZX)X/Q73,Q2XN9+M\.1X_"FZVO2SK [6J.WBM,1=[>75:G&6;?:/: MSN6%?*;_4,XC_&C,Q2Z>'L?-IB#VJ_E^>Y4D:+!ZNV[-'D-*^IH]]WO)""#_'H- MW#]1D2S=Y$YYECS@E9#P*OZRZ$IB4B+EU(EZ<$2B3YG&H-GCI&HA6A8X8(M[ M3HN$SC=B5GK*64VSG>I.>LZL4<[*J^OVX@-MI?SM:S\)LPX7VUE-J2*ZZ8$6 MWN<9WB8):4:VT\*[96,Z0@:9Q5JA/Z:ZV,5U>3ZL-8*#^L4F"2/2Y$S4W_>\3B@= M%TY>+Y--MN@>[[PM!BY9S$_2].B+83\]L]8/U&0RHM?629*TF'@D:\%"FT4^:(04FIS<:"ZH,T+XLD M)$&@OM=+X8/Q)<:P1INAOHMA[;<)Z"D[D0!.\4?O>'VZ#I)'AC9S YA)^[M5 MV7VTR&VOZ2VP">;=VZ1[ZR;+U>3R6G"2%ZG!XB'D M&7N+\;@> #4_*8967GP9MLY69?FI>"V,QXWDQ);N^IEFOX&QM7@<@ZY@(]L] MZ+RC3?9+@FGZ!Z>RJ=7)>&^P,ZP_9JF&T_MLO"JG8UU7-5 M*S,I08A<*A9V"#/_#IPZ(I?1RWPE:$2 @5X^&Z'QD'-NE\G^Q7A6,FX>2[-^ MYNQJC\B&GDG9Q>OY3!E7]'/IMN5F\\(].)MBKYYQ+=Z\'#I?DJ0V368%"S": M3)U0T 78A'5S&,,_B;.*5%? R^*MN2T44$ "BA#I-TWSX"#0 F&UAW)'*GDR=WT88](4VVUK(Q32^%*N)S:U]5^02T,"EC1B-$R6,^W M"=0[?MH@LGD@!X6\(.:'QH*PEU[2QEVS LU%@V5[(=9A.X1[94;X;#0G4>?] MRP(R8WQ,FM=*/FP@>&E8.L8;7C$YT.J&]L4EJU99 V(\+3068RXWO\HRUL]# M3;QXD%30-@ %N1S:@XS<@2\?X^D](X"],A 6MD-Y^;S3[GI356]?@$AXB3*F M,V0),@$T>(POA,1CN=\P6X(E,O@Y(S1H*5C^B04P 8"1DY81 6?::]:_L^!= M*:S5-JU$%>Z$Z'7B"W6A9D:AN$&8W8>DRP8[(?I!>:2LLHK1E56EUBS9G=@. M+*^"6D4D_ MT=]O"V-O;W#DS RSW5'&BJ MD[>%DJ@_E?J8OQ1R,6$3:ZU2G8")0/:['?@- M0=E-^I(-)V4OXQ5>[Q!6>/'%Y5%XZ<@7MB7KF'XNA=<9TP=M8\4F\5IT;H5U MQC7\$$',?( #/"%>%1K+RQ,L(%BK=?[&6"&X@M^6D?TQ4!H&OK8\PIQ31Z#S M<7K"Y1VD4!F'A["#>N@SY#+EQ\2%'DW\KM4* W?IBC=C=-(&4\/EX\7=>S5N M?#-S>T6%+CJKS\IHV(7D.B;_@L9\2U_/.U1$",3_K)<8V'/.FVF7I8R%W./A/ M./@4B6TZ'/S.#[YTG#V<^X'2_#D'G\H?2,V;3IZ4GPQ7&XW$UA*YZ4TBSL?M MO?B*O8G^/N'WO9D5/XQ-M_AMV^ MDL&)I-$(N? 8'!K!?<+Y38HCW#5^2 M,+!WQ03A.+]?F,"[^RH?2@&^-C1\;UKH00 EAEWB43W0P@/T[X86,A,V4QA3 MTV6"^$D2/'%QCS"%(@B$<]"_2%#'@6[NDFY^(6BYTE1$X>0ODC[]]^MIZK]D M&2%5_72R&HIA__FB.WYFZ9\(\%SA^;A-[-H0\$YH^9N[_6AEG_@?@XG8F5!& M?%B+/4#FCJ7/=[FM&%KXJ23/*[I .TM5H+(E!'[$7H/*\2%D[(_N(BQ1[)B3M@$A\O0!U8R)LX]5LM^QG084Z'JJ-_12UA@*JXN',R1F2IF9M1 +P%;B&FI\ M#20_Z"O[IJ^0RI0_?G5(LZ*#MO*!VDJ8.F[ZK)['Q_ M!U7G@SMN097$5C];?C@YGU23R55ST3.6Y56]C/>:V=ASZXO3C8-VLR?:S3^D M'[N7V\W2O4TU7,CKA>428AW-^P=\W]+=\KY*SKZAS3Z#TT'GO(RM_,5--M/R#Y!6YVEH HD*+=M G6QY>Q[FC MLUH1Y6JGB^&XI]U:RL/3XWU]58::\EBJSAYE2]F#4'T0JG?!B&Y?6H3F:\@[ M!_'YP%B^-V-A"%NE^(J?;P"RTM]B. W>Z<5=]G'BC!O7YLU5^CK]M+@A+4G M.WV4+[[,?+-_F'[0;/93L[FUH%6%LR*,!/H,3B%6[XM++W^6$ON]_4@=]\27Y#MEV4Z1#(O":PE=5<3X!^7?.8MZRS:^J(GG.']:A^XM+/@?EZ&LK1\"@ M_CIPJ+>8YH(_,.2^I;@=PZWNVM)*F]VD)*&7[:-A93163^](DUX(J3H2LJ4( MO_K[BY.(@W*TG\H1!E8+>C/%>'\"(50':6D/NP%4]G4*NM].0H@*?/X MV-SE$W@BALF4%_W6>;E?J(VUJ2QG"L74O.J4H;T[9C+Y8N9E+&;_L/S@]ME/ MG>84T1!RW@SZBPLL!YWFH--\!?:S&YV&(S?KAAO#;FX[Y?9L*)JSZL1VEBFW M>9&;@[>'),%GCHJY:$#;0:?Y/BQJGSA1U.%S4&4.F?"?F E_X$6_SXM\YT_@ M-X+A,4SH?F6?]TQ;U*N5W'*JKQ97-]E>4TR1E/F,$'4#'72>?64H>Z[SL)QY MC$H)K^]G*.>0P?07%W$.6M!!"_IC.0]R-K8:QKPF7RE>G-T_G,C5?"MWK;@H]DG]O"5HM3XVV<: M7@NZTN:8H'L]URDY/UE=2X^F5=$E/#B,R-]I@"K8L&XM4W')SAC.L*'%E?CH M9%0]/9Y,%'W\M)CG%[W%7C A?XMQ/AYAFC_/=FX7E]5:]_),J5XKRI..]9T2 M\*#"D9!Y6>')_2,3WT?A>4G/^P\H(?2!V-)KCDJ=5:VB5BOB,NG>+$\+Q=PP MA!])&\D_%=>"1B7KV,'!?#L]UDB/MI""_B<>X.?$UF7J,=56NK->-Z_V M6]51-ST$P,]A,I8[]N">G?LWB!EDEY <(5V!LT[8TB%P\$NIEWNTVX.@\;ZD MDXRX[06*O.<8=\],JXTQETVFCI-577"*;K56R+>GMW,W4^I\!=$CV=$*F9DY MJU;;E:?YU#RSE'%IB,^?B!ZY;U?Q>H^0]]-EF@3L-97^.BIRQ;7QY,A*T/;R MIF&/M.G!%7C0F ^,;(,.P#&F%408-JYC]/)"]BQC=&OR15$R+\Y+RI=0E\O= MJV&UKPGM:L/L/8W'Z>;\L= 4TRD:=Y\M'=3ESV8M7U!=WH8JI?O*I*ZMU*2P MNI-O\XU>V2F?+7:K*VM)\;Z+Y.N4L#IOG5IV\JFFIA< ]: KIX3OJ"S?2I9C MO(3?'R30/566OY\O]KN+#F1$AGAQM%"XS9VFKJ7>==6=S'I.I;P<5.Z_@MBP ML,?%ZD5;375KY>NI/9P6!U(#$U!:R.0H?6CO] 5UV"\D:#R'6,[#224[+DJ. M<.E<73Y5I&JV/RKO5L@H*O?G;@E)E>I*6MV+_>3#8%D@./);0L8^R1*D/0*Y MWX2-K+DF0WC7T$)H4UFS_E:NZTT ?6#UZ>]H3KB!7")S,D4.VL[ZOY",?S G',P)^RQ%D!%OH%49 MP;MU2E@U<^GY_>*B+S1Z3_EVIUT^M<2O8$VX$4[/^SFYF>Y6GB1[TK661FJ$ MR6>66A,RQ8,UX6!-^#R\ZN5<XE!: (B!A9+ZP+:%FFLI"T_6OH0TA0F;0=A=DS*)*7R1]E#?XQ/YZ[?+&F8-MJ>NI8\ MDFR4F&(.=@CD/G3:/G3:_GJ,Y3?51LZ/MN0=K_.I@35NKUKG<@8O_-X4+G++ M9-7&?"I_:,/]A?7&+9SMWP[ S:^(JO/>U)H\N" Z&3XO7?GGI>0;KPO05#-< MB4&;HLU__0?_PX>6=:PAPB6,V/P>O8)UL"L0A/]]EY.6,;(ABV\TG0WP7;KK M5)&NFZR2_/O?_Q5<;12H&"D-;&-$SRE-(&6(D@,+2>.DI.*9?TKZ0EK9;%L% M3*53G$S_],AQAH@! D!=(O W'$#D]";2,ADX(P:921VISD_V&O^.0)GWI4FI MX4\:_#9','IH7'(5CCG]F4X=@UXZP1_9SK*IX^P[W$TZ*@!E M82*3&R@+3_ MJ].HQ('C2Z^??H07,8I@DJW_$X1F]E4 1N#L0 C;>---5$!-F- *Q@&U]*O M (QL@N3PM<2=MD2HMI@MI>5BL9@6%:54PI\R [&$)$$L*9E202D47$F%VU;G5NA6U/I@+DF/ MCQ;>449,I=8?M3.+XM"5+\^Z^97CE/K#!WDNEL5L=*&-;$6OWVM7>KG[H+,2<*ZT\6JD;F0BX:U7'M]B:9O'97]4%IB)^,C%DL9U,=Z[S0&>^I:W0J,&=E\]O+^3*M:PUIU=K[L5>Y*I7PV#V/FUY\T+^J]R> Z*PF7 MY:QRAU)/U>X*QHP)F>ST5U3S$?/22O-CTZH_*C2AHP]MLT19;RE2!,=>F%TNI$BJE<_7"23&7/(5"N-RT[K^K&[NNG=VIF[0BF#9\]$#]92<^/% MX&G5'[=U0^D4YT^/8S,6^Y!@.OJ@4T35B=%2E>+$F72ZS3CL.\O8:LUL]#I" MOFOII95V>Y,V %$BLX_1[5WRJ?-4'??$R^1<:+CEBC*,0Y298!7'5?4L.Y92 MV:O>9>;TY'(^C ,5)7G3F3<*3EO(6Y;]T)G7[H>YIEB(&[.?3>;.IR5!NQ"; MG6)N5E^VX+B;8D0I1F<7:V8GEYFW+@3W6G,F+Z M*8]_\+O+K^Y=?)B3[+B1/KW,I=S5F=Y8_$@@K,]-\2R.Y:+/L[C0B^7B+K4@ M8%%7EZ8V^LG_",[J PH5.R77,?D75.8DWX1$TX 6Q9[QA7TL%9>HM.M8?!U, M\$S17;W,;9,K'!>VJ6T!R2TPO(F'5#&,\S/BGY.@$?ZDHCR&&>59"9II,61B M_J@TL$W==="[J#7/:&OT0?SC2U4U7^7Y8+/UX> _Z.!3QYG\X> _X>"+QZG# MP7\.J3D<_('4_$D'GS\N;0TA/!S\0:KY7@>?.DX7#P?_*5+- > /E.8/.O@# MI?FD@\\=(/Y-!_^2*#=BA'N+O>SCME[D7MK?B3!X)NACV[9W&[:R,0SAP\\& MGP1\^?_]R/UXUW-*44OM.QY4\07G--@8E (^"@NAQ#7^860GJ@9X'O[S[\$! M4CX=4HK'J:VL=>>0TM:6V^#D0%$/>/)Y%'6'"2%OQ:,+UT T-#$C'/$8Q0/% M_7Q(HA3W.T'2@2;O-R:]%0""<<[AF.?!!IQ)OR_.E(YSZ2^%,A#P\L'4=KM_ M[<^#D>)QYJN!2/%K,>0O#R*EX\+7XKP[(",'&%EWXV9VF_C]_G3D&XACWTGZ M>J,>\[MJ2RKUOHB1%8[3F;VB%7]U#LLVXMIW=O MJ]?#[DD&LF^@\NA1L9C=<1[X1T#;@39\S/J?"S'>P [=Z<[F3]_6^[9Q; M?:RL_%G,:I<9;'O,K$:.<75:D]5LMV'V\]+]X#&?NX*TXM*/7ZG,44;8-;BQW;^SZ7.U#_;EAJ[=>H2?<9%24_7&)[MT)[.]?< ,;_.JAKSW# MJF09^!;LAG6%$>V%C! ?-UY,#$?L#6^L_GGRJ3BN3>9(-AY*M;:R$/.T_',^ M5XHPQ+_?!;>_@IKVC7%[GS6O Y_8B:STCGQBMV+1A[*);Z,HO2^;:*VNZOV, M^FB,VW)AE7%+RMVT"P61L.*4/1)2^0]B$P?4_E34WE.59U?%*%\(#Q]1 VFK MHQ"C.R477B6D.-?A-SJ-9RM"N7S[^.OULS'58$4H^)%\=D@&!]2#LK5E8D(C M]!&)T \%B"8@("$AV0F-CB/YM#-8@&HD*0E3EEW+P@/@GRXDPY6L%1TF148I MD-GP&!;"BT"\9I7-Q]A8K H_:$Y0XB_0K/\^@K5(RJ-KX^T>D>W8KCQ*3#$. MF,IQ I^5[9?(DO \A@E#.'1OCHE_4W4D.VPW0/H3)GZ;=O) F\X@8F.[.H27-% LNF[,"Z^KT>\&/R%9!BP%*2J^+,V)V\G M\*I0 BWAH.#J%A[A>]Z8L-)X.7"=27X31TG LPMX4 3,R8BR*:-#V0D MX9$'"!EL5#RQ:ID3OA8&.Y%3/T[L;[&P=<$@,':,8! M$R;6I,+Y0LUEQZBJ M]H6K>Z6I67.,7'ZA MQ+F8L@8?GI-[@)TM)/6[PW=01[:KL6)SX[>W6[*V_?HW6Y$&'$YO;4Q::O:GHP?AYKJ;[R_;NG;2N[FIOSVR,; (F[NF&*;&!)VH MY9FVLIJ+W-A-]A;"D]*_'F2@55OFQZ]\\2B;3N\T6O]/P_?MYK2]Q_?GK%)? M%M]3'X#O4BJ7JE>NSE+C2NMA>6NE3SJ3[L[Q71\6!@\E21OW9O7RQ?4XU>Z? M0'.X/&3GI(]*^>(6A']E,L0NA)";]2B"=PD?^PI4:/^$BW>+B3L($GLJ2.#) M:=@1!+S&D)>L.TF=U4Y/G/&DG)^U!?-D6,L-\:ZA9?F1D,F\2)HXH.M.9(/W M0]>=RP&[B$__JLQ_'4%@,C$!P4UY/#)U!5FQZ94'-6=/S1K[M-N# M[+)[V653+]]8FE@.('_'O)4L9#@QY+$TD]K%1J.?'"?+-R@TYLE*?DI3V^TH;W+>$RWWIL+T:%\X%; MQ@0C#\I/.A4UI6Z7I_9/;)HB*V&/(-_E-P6H;TGTOJ4XM/=2SR?=W;<$R*_ M;+\"3_WM;7X9;9KK&8D\&>]$LC7Y(/9^(4WYCPX .-7FFH*(1$O$&%N\O#F] M;=PWBD97ZO7K9BMYEM?)M M^V1\(57ST_+)B;ZXUP8W9;$ :J]PO./J?7\:^A_B =Y=CWTCSG^.,OO!.+^F MPOK(+S6O[LK#FW&MFE0RJ7%-7VK=%"!_GB!_[BMIL&NBRJD&R4K*00G8+]'C M(&%\6PF#85P,F;F>)'6QM#"U\2Q7:-GY>0PD& M/JIN% UFE71]6B[J[6IO6!POK+NN='U7QCC[4M& 5Q3[O;L.E9))>;D8K)Q5 M,E6,Y_V9?!0SPQG%P3(V,-%+\7:M+AI\!CC1#%>B).N3"(I$+DP\U\>I=+%0 M2J4%/,Z_)>\'*:L("$O\HE3*%,6LE,V+DH _HEPZ6\J7I&).0*$W\-V?UY5^ MXS0E7W3JKMSK.?)Q\:A>O'D]&JTMK@9_,K3\I M:JF^J:;ZT^KEPVEU<-6HM=UA64Q'QYQ6W9M:SKP85!N/THUT-E$OU=LA?C(R MYJ-:>VP5FE?%<7(XFR4OSL_&;F,H9D1A_4E;[:2[2!TUNS/S[EP5"Y7DT\," M\]_(DRU;7MP/!J52M=>_'R[EN?WB5UO+3 M>XBGB:SS0FXV"@N\D>YJ?H_2Z=3@OC-NBKGH[,KRY'&.I.GE>':Q?*PLV[6[ MLP44A8P\V7-[)??Z;-P0I(EY/C%/K]&B,\1/1M;Y-#GI:#6A.:G61J=BORAU MSUU4QD]&UEDL9Y_KK9OVV?F34%N:4LXL M#E&[!4]&UOFP*N;.;^_=7K>ME&[+XI,SN+U9B*7H[%?*Y-'.=-+:N-:^28XN M)_)9M3O$3T9FKU\_=9W4P]SNNO>-D_']I)%)-9KX23[[;]P1_%?%Q'N.:;'AV&5#N9:L,2*$M(UDU\)$'=G1:F/+ M\]MDI7USWQ!J%XVF>F)I]Q6U_"'5QK9EO&6/ TF!VQZ$?9)*?#+\@?P=DR\G MWIX3MK?I[UB"\3>. >#.UJ!,(2\JZ-5P_/FV:GHO@]*V/$**JZ.&&@^O[9%I M.1UD3>K&'-G.!+[N$(=Z!&C['2-]DW\\TZJSS/B^.9Q9F47^0TKD;4I>/?Q[ M^/?P[^'?3?]^KUJ9A$/!_]!!_], M_XK#N1\HS;<[^ .E^102+QQG#Y4RWW#R[U+Z[5G9\L\I_?;N#7:>*]^U9X6Z M2N_ML/^ .EP?6K_M3P> 5/HXE]XK"#A%,O&W,BA(Q4+!@0[N.1I\B\JPE#I^ MH2J&X!OX6N3R6\ )(Z)?"U ^J+;E+HCJ1E?EY?_'8M,X#XF&H:4CY9S!57=J-;JPVN M'C7[?%:=E6DIP>Q1IO2R\CL'K-D)-WJ7)(&=LY&=X$TJ+698IL"]VZO/'ANY MHW(,Z5<6:FGS*UQRJJ%:\F63=[\72U8&7]4D?Y8NEU M%7[W4T=;8YO7IH%6+$0R(/TT&BUHE;Q4IG!42&_#\KW5WE-I,F#'="2=&HUC$SD..LK+Y8L,QDO%="'< M>B?DY]U4_YUOX[/IRX?:!LJ&LIY7]"R1:70ZO>R=TKBL)@W[OM)H]:UN 5(< M09(H'&6*J8/UX URP5?$S%C6_P?@YL?:'WX'.15-K7Q!14.\N^>6KX_2#']_G:O M#]-+RUQ(.S.MMA0LQG**!H[_J>):&[K+5#K.0W5L3NIC*9^JFI.F9$VM,BV! METT?%4K;O'0'#-TSR_6'*:C?'T??I)\^(PB]4DL MW/?NW.R*E;L#"$ZE__FF2FJ\2=M^1F\]B/8?Z6K?"X/;![K9_P [W,?YV6-* MPFVF:\VG7.-4\U J[W5RQP&UW\O'_JU0^V!D?TY0)H.['B5CK"J_3F)A: M& HLO!.83\'":&BFD2:/H.>>[BJ(]-1#EJSA94XE:+T'$07D%&$1D_K;CX71@31E,U0S+(#+)I M34U:$)*6FQQ""0R#SD'7-956^/U$][A]C ?4=QLO ^RK# MG /D8''Q.(%%<%*8TAE9""4F^/!']#U;6_*/"-^7$G.:1WA"/ A>.^]$N)#L MQ/]\<(?;M4J8UZ-,I[]"2G4\$3-II9-M:#GI]_FU7PF3MIJLLQVNX_0-/E91 M=;.6;>O3"Z'1%IO28^'DMBV5?_S*984(-I-#_;"S>5V5T%V=.Y: N!HP0>:(IDJ-FBK];!\F7P6/P<>%RK,7_QB JG MA;&;%O+]66?0O[Z=)M/#W9SYJ6)-A>FJ+'4GU?)-7^]/9]6[(026?PXXKAW- M8B$E^R@]M\?MH3CIF?5I+=7=$3C6[-33B=:\+0F7C\JYV+^NS-Q5$Q]-5*)> MA\7Z&E!IG*QC(,04UX,Y.%$3 ZV50,LI,FQTE#!(DU8"R1#V/L'<$WSO<&@* M/*$0S@,6) F*!-L._A\EZIA.FYBK4))_'%O4_B,X\-M+%KU91'S$+%!35Z]9 MZ*NJ*07*03VP#58T*TU$]R%*TMI8DHIG_BGI"VEE^W5*LRFN"_ST9/X,,2T)Q^G2 M_R8"?\,!1$YO(BV3@3,*]X"@KX6KI/(OGRG2Q:[",:<_TZEC[24>-:AG_)OXC)3#?P03M7YU&)0XI7GK]]".\B#$7DS4]5,*"?16 $3@[ M,.H1^123@ H05TP./"B67@+)X6N).VW6;2*7+63R^?1 %%!V(&9S0DHL2CG\ M3QHI,BH)@IR+5-Y73BNZ\%"6D]6>TKLPU,EJ915BNTWTA$<7U7NZ)4BW=_*I MKI:,26T8UVWB?&%.ZT:F-.S.[IUY^7&J:Y7S85RW"7U8DMWT[=UYM7UCK6Z? M9GD356.[361J_7K*N"]FNUJO/E%.EIF+[,4BKMO$R40;WMW(RW)WE:P@2G3?QD9'8S+XV<9NI"KUY6M'NAIYRW%BWH8!&9/3\O]1XN9KV"@!XQRVE< MF:)['MO!(M](26Y=N3\?MZ<]=5$3].958QC7;4*L+BNK5CY;$WI7=\VJG&\^ M] WH2Q%99S.I-AY'V6RFVG-2YEZK$T6-UH%W4G]@8&UZ/KIYL'NRXT M,I([;1FM2W%8CKN!JXKLWBOGY5%WEE7OFV-4MPM&[ TLZF=NNRP:DG YG IF MUF7 ^12#NZ=FOZDVFW$]1%8SLVT5TZ;(<-&994XJ3*'N:Q3:G!O+G;>E"+'FE+P12?.LYL+?6?-YIELJ;-OYAI7M3Q_GW[3S^UM*\7(/] MZ#K.GWCWD5W__^R]69.JSO(N?/^/.-_!6.?L-_:.T#[,Z&^?6!&H.,^*TPV! M@(@(*(/3IW^K &V[17M26[NYZ;7:+H'*RGPJ*\E\\EZ4 7M*W1<9?K@R/##P M[2Z3 4\TLM37LOI)<'C4">)LY\(; =T#<91[83L[#B[^8%AX9POO@]H#+7SE M.;X?LOH7(T&\ ?ZE_7 Z3$;6Z34R]Y %B$)%_313S1SO;2;2T_12>)'N_.:@1,!8!5%=3[J(HCR_R<99Z/ M+=V]9;X5HHDL\VW+W+]V#2ODK(^ L!HY4\LX5+%J&/J\RT/3I/[\Q5 Z3N.7 MY!N\[8X?TLK.[\_T")SAWT'E@-_63;V+2?M;_V\K*[\>)>''/(.QSHS2Z6K" MT1*KY7J0JH\H"@G:&- D=262AY]HN^0WD"-\]Z1]YR"RW2O:[CG?09YD'+ML M%)?:1J$WAL$D$KEQTV^E@.%T'$6NW$OA) G$#?R,S$0P%#DZJ5PVAO"SB[^/ M/8T?7?Q]F^+(E3I63[L=OID"\ +S!Q<,JPPG!&'92\UR7'N\Z?8:':V)Z,V@ MK4(R"DY<.SCQDTT^S$&)3/YZ)K_W5GRS+QI04F,+?*DA6]YE#5&NCX!DO*=L M@Y_V6)6EH%JC)8NF8@ Q2D5C::HB6(ASR('/%051G-4$J4^XM=E!Q!G78X)> M#:DX3I\[O[R@E/@NN[Y!02LLE!!]6@ZO\ '<+['[?6Y:/J-":+&$'51+6/)S MN2\L@U"-V-R2YP)P\8,Z7_N@]'=_K^>Z%?\/NVL>UA;'_5J,CS[>[/#]V*EG ME.2Q#*XC@1MZRA7P4[S\T/\ZN/ZK>[Y^3'"]X G"RI:#HI&8/9'!%)]BF3 Y MJG9,D0U8T0R^X567P"OJ[LQ1_97V'G U,6.Q#;^\V4O,VMNC M_\#S9R..F7LKMF/VSH[W3Q5($Z@)E*>AP*^JIO1TM7J@>ZE+RH3HJ*>>4):6 MIYX3V8B-Y>!C6(<"U$R6XI"49"7')L(2JBK8"*"R>4F)PBSF;2-PU3RB%BFH MBX_]6X#7E=4EA+'_0.D+TM)?'DC?,@/::WE4+HII2C:\@RU;2[#:0$D[+W3I MM&WME;"QF2Y2NLC)!JI/<$-_*9?N04= M@EWM5E (Y(^@/VT%;]4S>TM8(W9O]A_YFB'[S)',AAC M!#TP_/?Q(328N_>]45NER\WV_,N^N=R,,FR=VDH0-+=T MPNBJ=(Y<< E%1<"T")F45GZ-#H;%*>PG]$0[HPWW9&;@C)6G?& M)HS$E.(6:<[6@L(7'#GN=7>FD>IA.O//:J7JE8V\:,<1]_O0*8HE YG+004$ M'.8EB5N"80]6C9 M>*V67FN+WB#-4AU;-%J+]7PP__Q&MG>& [&%*GUHI\)N.9%!((D4!0?C;NNRR23 _9;NX11NUU0LM2]BR^ ^0 M)UBR-!%@_!\'/%A09UB$!>SPQ M=@*L=@1E+J^#6+97AP;M55)MV//)M;Q:IV>S.UD5]+T;@OA>Z7FG9\45P,V! MMDDQH+'0.%\)YOMWD]YN!@U@Y89L,98%0066;05 TEV7\,:ZB5-L'NA4+'!D1\YF06LZLZR(V;6:S2]AZULD3J:."0:^:S\YK1/WL[>\ MO>KWM+TDL4RW1\XS(ZT^)\NSGK[5JSWFF[<7AEF,\#1'2JP^: P='2Q)C_HU MV\M'>@T6#7^AH*(+(]-UWH9Y: A^.?@<: @KV]>F58NH:C1+6G MR0Z=KI#P6JE\L ";DPWN2[3?K-F0'V) &=G_; ?ODJ[/089G[."3W=@ND>]B_?\_N7= MM3$DZJ[M7]=;BJB[]M6[:R-R4B+'B,"/2(+FB1&-\4F!'O&X0(YQ.DF(I$C_ M^?NR;[!5,7EC4TK9FM :;U).HL]2*2:LNS:QVJR%99>9<&VYIDL]M=%-&$Q8 M=^VE6L5+&RS5T_*SI M[DR69AIW.$%=-MGNH+"V426LN[;;Q#9FN2@(7+LS&"+34<)>M59AO9TU74FG MZY/-1J-(KM,6J&JSEUZ%]79FT44^F]MDLDB/T(I,8Z[F&1R.I*$EJ:L6+G' M4"38,\?EK,*GCD?B^E JI&A;T^0>E\QHDCWJ=9H\BAP/[9>1I.Q2U!QHXJ!' MDV"G21=7<.B1[(5B+I5E, /75#<]7]6SQ*!89N#05RW#!03#$%$:\2B!RCPA M8R)0;U+B97(TDL;BB)1&^.N+.ZWE#$\T6PEV(70)LBZC!;.AA"EU"2L!I$F5K/ R?50I6[D^M5RGICHG-#3 MY2TZE^U! [8A/[KFQEXERRMVP2#EA2(,*N*R*XM*F*JVQ.8")3@UK;4W8JV^ M116I2C?#5%4@:F6W-:FJ2(+N;O5-UUF.$_":1W>G6FIAC:UM&REO*LIRA4MV MTH;JCZ)'>I6M8(4ZQ2TF*"I)7!J]'+'. M6:QN=SM*7>L7:Q9S\][R5-!;?C<'S_^6=Q/X8B?YNXQ9=@XI?&"<1HC9K@Z& M>*1(\U YQ"%UO6C:CG\L$D31!:<7+^HGR7-+AEDNWHD4?$G0(;W5UOO@)MW= M3ZK?L=*Q"VU41 ;9,=)3+3%!%KIVWVQ&S=DOWYP=B0@4/E R$S&&/+K@T2=Y_JQZJ2/7MX/EU" M^ZHR^(IM;)'+)M9?H7+VP>ND[UX#+M^G^2L*L&OI&R@!&JH$$0[>N17<5!)7 M1L<'XAUX/%J)GZ(HM^U9=P$]25ZM ?S50;4B"[8\ 3.)J3I,DI1]7O_'*U"_ MWWKT\\&XNR](?^N<^6CU9:\3:G<)KR=?W:0WGHB<_]20_E+VWNYTEE@;*=E(&[':8S7N39.SVYH M[^6:P"]2FH&Q";%!CUHDPU>JBM^AGJ")>!(YUZ/QXQWJK^Z29$S#=BS77WV/ MA<)4+/BJ_VX+W[^[!/SZ+L;EZ"=^)KY\S9TXU'A87N[K>X O69Q?F$5^L=3* MZZR[MKO+56IR0WSI9SLM5E-+G%8N)BL)WDW(+;GITUM12!Q%'XBAXMMY8J[N M'$2&>E5'X*RECK"NF)XI?$-S9WPJG^;JMJ%]OD+_PY8ZX*A&<61.$UJ&&NE# M.SG()YB5SUU%('&W]2093A]/YVFP2;*9<[-<)H<1NLLKM\ L?&XBYGB]83:C- MML:F4=DF)D&G>9("^'6.>R\"@+L/7$0 \#U.R_L1P)H8$UR8%4J:.INW4G6Z MFN+'-SQKC%;Z8-UH-%5.K>:45E'!'6ZU\HFS(/LF?LPN=.>A#'WN.K+U7+T0 M!3'NT0&)8.8200Q?U_=C DRI53>+S*93&K";P=*QD3193)8_3S/S84Q1EIE4 M*BDT1IPPKJK#^EB2VT,&3O;/7Y2,X\ES?'R1C=Z-CQ#9Z$7B%^%&*JQ*;G.9 MRRX5IE2(-C5Z^?Z";[4RM;*-X0'8C% MD"II9A?E]%22'?;U=-]R( D0S.X@B7CJG=W+(L.*PB-W8%@'6WK?[147TSK) M<+*CC5O6..<2Y U#&EBGVUQCHPS#]5@F->VXRP5G,,"RX+N,)!Y'J'.)4P\3 MT]AOR=3Q[7_>3\H4A3FB,,=CGU0@E/W[L9P$YMDZLP?&"?X_D^%_ +HQ M!S9Z$OE"0&\A+%2B+V42'+46F$R^[&1[LR:?@NX$CA!QFCP&O?]$&!!%*R(, MN+$_*09S^* M/'S 1<&!X4JF"]DF;X)/H=5SET"@&TSDNT]7MP];U.0P@#$&:57,RCB.U#&Z M779F*46?>+SAT,T@D3A*8U'4X@L^0V24CV.4WQ#R"+=*UVP5W%R/Z7 JW=*V MBF[85,FCZ(=M3U$"6.6;!2B'K4^_WE;FRY9U#<[K[-EX"&QW9-C[7CY!KS[[ MC2@*;.-SXBT(<+=E*S96#:\5TPP6,MMQCVI[WRQ/L ,2;M@;T.\G)(JF#J2P M"?JC2?"9)*^?$/2QO6_9#OC'9PN!3?/F0>L[^ZH\V_#=VS]M<2)+[DRNCP]E M^5Y5C&FZ],-PNR^4N@;@90=JTZ3S-3*["_7Z*GRSZ&?V, M?D8_#W_^+ Y^$GNB(@[^><2+_7L$'W'P?Y/@DT]$)/@(:GZ1X".HB:#F=PD^ M@IH(:GZ7X)-/D<)'2/.+!!\A3>34/*3@+]).X\V V7WW!OC,O._EG?ME);'O MDD!>MDL"ACY=5C^^V@6A,[%D.58%?YC8,=:09"D6-<_X%K6XKQY4;75]3BLB MM(S,XE9H^4 ]91Z^<]N/49O'ZEGUIMY$>'OGAO-@+0]33S3]4!;R>%W=(HVX M=?^V2",NK1$/U]$OPH@((V[2X_$6OE1-=E:FI<&L[E-ME*)RVSMMFG#59F]O MQ?H?K2!F7UI A)86[$B^BH9HZG)[5[]0"0H$GLF] H-A/'L):+QXK=OG9674 M0NJ5G,3Q8T8PAY]OCO">FMN0&ANSSA?SN=28T/*NG5_GNU5MFF+\9DRI.)%\ M7]E;9.V1M?\\:T\>6GOR:]:^15QSG*,:*+=9XNIH4=)7^>GG*^D^:>W=ZCA? M)6;4@G41LMQH"MI07S!^0R<4B:-GVR%$YO[;S?T*BW4'UAY>-O@E:\^DR#R) M*&):TZU<8])DZ.+D+)=3]79!3M2\"2%2U(&MF]+@0,(&D>H MR-HC:_]UFSMZ^OFF_MBG5&<>F_08V6THM9* MHTU&*\.^JB@&[!V/T]@%F7EO&69X+@6/B'!^ 7OCT66RP0)ZGMM#]!EL:K/ M1LWREM*PDE%K52JUHO"%'FJ?1)=5:[TMR!@ZY!8MI.3=E>JT]BPZZ"YZB;!_5J18VDAG*RS"8Z*C$L M=LHKIL/X70^!K:+O\_LC6[V)K=Y^4M%!_D,VS4SR=:V=Z2T0O<#S"IK(5D?NE%?YKA^ M9-0VQ4QZ/"E0FIN@Y0E>FB! ES# M7R"&&S+^J:N);#&NI7KX$MF>/-@ 9U5O+;99#D:MC4FW,TK-> MOW-S[R:I*-52,UU.)AB_!S,6)ZD(!1X:!>YHME%$XRMH(8JK MLFUK9H'+="E*),;U&7;[%PQ2MIXO89PSXA;ICB7F\JR@""LP[=2?OV2<3)YK M;A:A1806D7/QA5C)1^"BR8SM04)(;#C,%FK+Y:A:$-LWCX?F9=I=Y?A&J@F/&#!T0L81FGJL9(>\;,B6,/.I^"5=-53;L3Q"FRCIX1$;%'X* MD^ZH!=GCA$4"RX&0\<)N7@5&LDT^G6P6%*27)ZE5%]ENMM6;.SE3=MS.+^9D MEBO/AUH]4^XZTT23I[W "!7E4$2F__M,_PONROM,O\BJ1G_)5[):?D,/A4YE MQBT2-X^&\$UZ.G2;Q03;LXPIL^F;7'&B -.'T1#BG+<2F?Z=F?XWI6S\0HCX M>@#D?1#1+FS3F76SPB/M,K:R1ZM)HH?>/&]KQ!L%U$J0*%(N-I*SHNC(2G<% M( *&0+ H:RN"B,B-N$;4XWT8D1G02%[ J12BYV>842#1Z:!\>XP0F.F6P;=+ MK='$/Y(,E'O>9,+)OD$QYU_/[(Y]O6&B.]_T*?=Q3.H0=944;GYZFG;GU6E; MX0AVHQL])BFFIV:]R2=AX 2EXDDZJF6-;#ZR^0O%8$I3F<[2FHLAU'#1&0VK MC7D"N[FKDZ6L:J\D)I-<3T]7U+;4+.LM!M@\9*N@X^^-ET8V']G\^T(JO\/D M/]8F^[8FKPN)0:&<*0RTMEQQ] U)68@(M_G4G[\X&4\F\Y6YN\VMFF6VFNV8?J:>++-J8I=JE'+1Y&-' Z7CR M;**H%]3XOUYGZWOIX.,_:\W594L5CW__)M"X"]D(WJ+S8TD0J"0A\C)!HSQ! MC#$^28W'/#;&<0P;(Q2>DL#M_J^P^P90D^W44=SDN*ER[@0;;'&)3]1+"M3K MUR.[=#I1MC=K#6DS_-S)3>A%J@A'DJ]'FK,UEJ6F/1+)ZQQ7'<^J]@1M\MCQ M-?-DN;"VA\TTVYY,+%GCMGS5@B./KJDBF7*KP68-+M^F+::1+!>K%87'>>3U MR$RBRL^;2[>GR5:VN4#2U&2<@"./[FY(\V1=TL<4BSF]-JN/NGHMK0#G_>B: M J%E-FM6;VGEN<#V>_5^7= @"V5K&TL2L-T6"1^=,U> M6QLN\U57T>1"OR#++I')M6&JU=%(=>(V58$D#$2>#$ICLKNI$BY\@7$T)D.V_R*'(\M)2?MPJZFBEI.FM5-U:UFVF08"AZ/-2JU5-T M)5E-;DE%C6%EAND ,0D=BEOQ:,C:&U2QDB#X M58'#*C2C3LTYD^TVX="CQ:_K1;N@B.,F1S$%.R64&-28,'#H;DU? ,PEG+Z7 MN,Z((MA[';LA;"#,0D071#:ORG96M<69:;N6W 'W3L],40L ?L0G MBBU5:6W:,Y;JXPVQA;2H36;U)R:#K6 .[N. :UW(F3K'N4P_^9'AX.%CLA_= MM[U@LNE,9"LV>Y[0GIWYH>#:G7C_'^V8.%KM=E:[ T+ M@^8U-.P4U7GT,_H9_8Q^GO_IP:=W5MD?;?W#*#C6SH2Y+?^S^\\A"#WC>&(F MCQV_0T+P@7>@]#\)SJK^F(/#:S &?N(?@^G44RKE=3QUK-US'+1>_?.%) 0: M?R*C;J\?."M&C:4?7?!18^FHA?VODGN$--\G^ AIO@7BD2<"BR3_S3WLW_0M MHRZAGY;$5_N9G3[PC%Y*X;H] >]((@_?=8 MKI\\I!JP)D:Q9-N.DN0>B"HIZN+V_@PWQN;KXX-7S.D9KE6&M(8AO7ZBF^Q/ MK6RA^/EJEA"2R#?%451SF\S5N0RNJ4J#I]"3#\+A7HY*, M4W24KW[5V?XB"K,W(U*/:<I,*4497[D@:KX A0ZH.))["/TC+?L\.@VN#9WF=^A31"CPN M2V+D#US!'X"])/X);"83F,Q!6MII*!E8/(,;*IO4,(X55,7L]2?)H+\Z\ E0 MG(Q8/>YGAP_UO*.M^3I;\Z=MRF5*%2=EY#EDT<_@E6QA7-@,FT$7_&I\#>VM#2[Z/UBVPV.O%';L4EW8HWS);2DO5^7J 4UJUT MB?H0)^SM-FB02L;)LPU2'^-\WQ9F@J4&)3XK08E.]7?9+RG:N*\8O _.%CM3 M.'V@L.S&MHC3&T(3:'$HR50OQ:T9OUT9'J?)Z(Q^1WORQ8PIVE&O94]ZTS6DPN30C;567Y.;%,%0E*"MAKQU%E6W,@T[_X8?GW3 MC'R!*UKGP&I,ZRLL97()8DPTUTF++[N[SA=QFOB@.W"'NW[!G$E0%7WJ#"GH M-1\=$AXYV!YM[M>*J>^L)7-H+.]Z\T?-R'5AVVI-N?* 3#E-.;W*UU8^"S06 M1Y!S>3F1#3Y>\#S:Q:\8(_^\&?:GTV&*GVUJ6IVOD'A]D,ETIP$Q\UMF^$/. M]W/!<@S9BAFRLS(M+3I./-!)_XYF&WD-'\T4:OB&5_/M[C1&297<:,(9-8+= M] I6R[2[O %!?'\.C-_$.'!.YHMI'7<44SSDJ;RHHI+R3.)9=E>\)1 MF787FC'EF3'V)C7TW<<.]AZ%98YEVP93$&:QL1R]L']L#R%R!*[_;J!Q8#(Y M^=R)I36:]JU.8=3BL$%A;HGY/#F=,9 :&K@#*>)0T?-!IV,J6*0GVY#5>I5U;-0!294Q]I!J>S67 C8&L %R%QC\W MI[%LEJH1!-&>N$BBMF[EE6X"MV"7!Q3Z$G#Q4>R_47 A"BY$P87O<$TN:NI4 M=: V-NX@C^2Y&455,E9CW/#:Q'AN2XH\Q^CQ_O##S5R1.NSU$1UMWM_^[JHL M5MCB3Q%(FG&KC0]U/OSEXJ3 M:)2H\+'M_F=89;"9_S:[O-YF_V'#+-?P62(]5B=[D*U2(6:NM"XG M-4JDT[EL4W$ZHM=0$KH<:)P@SH58(\N^1%#B!UMVJ.OR"VS[ZN]0WF7HAO;*U;-&)UT3%'P'6&8!'W^N9F3!W<= ./=Q+\!."P,O'^H@)( M4H$'OGL?:-EQN+I[P=FRH9I6S(#RB_T;S@$+D:SW.?K?_\0<,[9P 4J.5>#- MJX;MJ([K^)E$(W<#K@YO9+N"X<"A+1=< "4(9M??MRV+KN7W_F5$!WZ*IG \ M'A/ B4"7P93!TP-I2MX0(=9JS8/S8P_D!$'CC1@7K+4]H3I2:PJ.&"FAE(T4-L)%@Q# M,+SJ]>7@%PDSV^ZT5Q--M\66RW..0J/*IR&^$4@J9YGZP8/!9W\-\C7!LGC5 MF6YXIMC*(FIC7BQV-EG<<1B/KCZ.D<? M7BHE!$^ =+8+GDL""_$4:^P^"W= O%YE!RW7Q!F8#?2*)P'.[WU>B/>7Z+EV MLG\%1AR$:_S=!4-?]U7[7__SHD'9Z[(";__G# &=_Y' MF*V$C?W<'IC8M_/X9^_2PXG'P#$ 2_TK=O!_*( CZ>G".G$@HQ>=B8.OO6Q. MO/OPC49XP5( !?P'0Y^\31C\&LR,0)^("ZP-=APWPY]7XO\)L8D%@>M_=^J9 M,'_DO\:?$-& M 48F13".'J$\,1X+?$I"!9XBL90HT#2*(JD7WX"%9).IW4FLLK;62Y>< >[2 MY6V?@3O_ZY'=,F4QZ+*4UC:3;KH]H0!J+)H\=CR24VNCJCUA4:YG9D?.J+JJ MM!5(WHZ\'DF+>B+#\4*!VZAC(3U*])H=IPE&'EUST&K/JSF&2B)4F\I2)ION MSOLKGCB^9A[O5M#:[?Q8X,J;1@LOEX;& M1%^!0\71R$J>7 RYA*$A,MK'$:S.U*@%'+E[3@!FP=% \!N_G#M&[(X''SA, M8!=*A'O>#3!\YR&'^2Z'GC#P/N! <^[-#"C^!#C3T*,U#>"C2-YF'Q/!: &V MNP%H;DI^'-N=@_$V$(@]#GP5\.7=0' 'R=-]V]N5 !1"'#SU3-X.-3IZ+NC: M.T 8(MRP,3@=^&1SC//49"& '9>0<" MGR[8WOG[P;G$RU6B_VN#*^HZ%)8##J%QW^D#>Z4 /]_E4'C"\[Q!.(L/7"U8 MO]>#Y)GL+B; $.F3L#X+/B[IWM3'\B<*! _0L[4/) M>K[@_T%AM2WT=PQ1G<,W.CIP ISGE7EUVWAL-5&!2[13:-L=3<$Z0+?(;P0A M6,#) MJB/@0?U1A[, M3!Z/X5(OY<,Y@B<6O4D*I[NK.CQC8IP\8!T^6V0NS 66)[L\7R,'Q(IM>]:S<;+$!QZ^) MN5+L3JU,-/_\); G_)@3R5,I3[ [/3E<48A,N@J/'J]7[<>?"=^S8%Z0+VRU M]DOT?!:LCQN^+#NFQU#K_3G\@#C0VKT94<]EV(52YN? [S$&S=6?OR$M:/X% MS1B:_76M"+O%FI20/-A!K=&-*$3(AU8R=WK%9,JT%"V1 M'Z 3LY&R$@ZP$AQ["J'^?+82;[>'._4>S=[:#@_/MUC\(%((M_<7(4/ODI+O M^@ A:)ZBOV2O=*7 '1B_+-^3 "[%71(H%Q,:^>.G-CA@,.A KSR'<8XE#C\ M*G3O]J(G/1<4C0>A+7 3W7[.7#M1H>1HOG,M??9+M[AP)@+ MJO0< 77,.'#9G9B\%F9IO_6LTKP /B@ >3_^S""'"#B9;O*\N7>9;J MP4J&'T[FPRG*Z]6JK,D#V[%'E7&WP(>[MH>K]2)RX@=\8O\&&X./V\_P?#@, MV+'W*L ?_I^8;$C^&XJXMQOLO^VC_OM",Y[+!A3$/RF]]-U,Z&';L96E.@Y M"J!OP>;PO*'\_,!'81>H&Y\(45G T5*MEWXOV+F?7^O OZA6R+>]V)[G&XNB MES3C2W<7G(#-/QSXRDCP[=Q['2X#5V_L NN%N@LC+A/!4&#L#CQD\$X>3@2^ MA5),<#]CM] A,4HG_%H'3QYYDC?R)%?M#CL>2M4*6V<:)26I5PBWPWS4DX0[ M@VR./^\I2D'0[ED%GF)%+U9K^(%._Y7[<_S9 LXC_$Z@JV!74E_XCC'5MEVH M:Z'H\?R*\RA*#)Q4QPOPQ0/=#@W9Q2'H67)@9$?A1^C1[ +MJXGIAVN],*&O M-RLX>\KR8<[,*_$!5#E"+02-';DDZ>:P]UPWM?[$7VP9* KR[]# Z.9+.)#F-*K+M-IE*ITB2GN:9SP.^I[+ F MS[ZO-0_BXJ\7O I,3G?UD)AXW7@K)E[7+26+XS, MI;Q_.?LB7!L%RC\6*,]/EQ#UANC^NH=@?+/AL:]PYG]8I\) MG)G#UY+/+CS8%77[+#SPL+XD2XC2JR(5O>QN =3"07*,[G@Y=@TO_7A#ODV);]E^?/=_1>P<^%C?Y\P#GT"T33G4E^ MZ-,[6DGPR71!D[U@U5KT$A).!U/]2^RRZ$X:G_T\3T;^SO]B&@=+ M*'A[\\A/VS-V2^5;Y<_W_Z#NC,VIL/9JE,MME>OT>952K27VG9<#*&9!;ED M30LI+L].)5+N:HEB976A\H;S:^47-$0_HY_1SY_QTP/- '2#U&F_HE$$D"S, M;?F?W7\.D>(9&/P49L%US-T'?OZR]\F+-.>#"LA@S'/B.)UZ2OF9TXZU>XX@ MB1GU-ZN3%!,P]SZHM::>\-2Y"MN#'."#B\.3^QCL/KN-;_=[ A9[_N,GA:^ M3-[,Q=[_71C9)O"#Y/_"M.Q+9<=?NN#P.7/^RWPD,#G^VZ0>5"%X-SY:@!\M M>#02_/<(/O5$TY'@/R_X]]#&>/O'.7:X-]'^>G-/[JI5/E%J^Q8;P;EY?Q:! M/RR)Y(?JG$^[%J.7X=(X,'4%P(XG89) MX[,F\ %O)]+_QY#$E:WBAMQJ7[4:&(?YN)F5VR MG=L:P'>3AEU]ME=E#GK+?7Q,7J!;15+U6E>SQ?089=5^?YKH57HX/F<^S4CQ M\B%S8+$8+_H?PCEDIS,E@F*E,EM>TD2-9%UL7H?5L?AI0HJ/D!_?%K$X( =8 M.K"5)2"[D1.35%N$,[],FZ5' *3[PYV#F-QUCZ@7QQB(*_^.@.44L!Q86S:P MLQ"$61?$6@>5,K>?Q[UMA#DPQ)@J6M8%Y#?O#X;L.AC\2 MU2X 7G?!('L!?/H%/+$/BE5OL!("C!KVEG:G4&I4$0'G:Q0Z%1T-:\+Y_OF+ MDE0$A.G9\9*MN.QVPBO5K D&(7 M^SF-$:R^!G9 6.+B\T\=9ASO*@I?%8F?2?/#2/^1=BFPXDRP;9_?%8RJR$MY M%L-@5J?S4M$FJFP)ECC9/,68XPGZ)1CJ./&;,AIZJ<>0T";!XW4;*]Q))EGR),7<=T(..) M'?,(A,,,;<_$>4A>=_]$FF9)P0"YU,D3?$D M3>/BF*().C5ZS1F98\I]M%DCTIS>G^EKO*]MI4XSC%ES1&=+J5IVM$426T', MN5W%J@Z9,&;-JCNA!UPUDT-ZR2(OXBR3@XU/,9Y\/=(46ZDU,VIVM/H<&8R* M]A ?,TH8LZ:>TUH;4=,LKCP;MZSB2$S/:O MP]$U):?H6!,TE^8HUTF:$TGM MI/10#LZ<1+9;]%+O:YMN3LE-DLN".88CC^Y.)%9BPEE9"9::B++",5K/K33! MR*.[%PJ3=J*QI$9(#YWD]2J>H?.59ABOIYWIT71MG4RPO6U9YX7-O&,,0GD] MS:6TJ-;; J^I?#V=Y(8TKC96/'T\DJTX;+J%C!?LQBRYHC6:.'R^"48>S6B; M83J+3G*=0?+;EI:I8^T\N6' R*,9%9O8VL",F<@FM':V4(*D43Y)4S0_)G$Q18T(FL;&KZ]=[K.TT2C)*Z3XX[ ML!+9I20OS3;5C5WAJZ029B56U2C5*OQB MB,AF895$&BU1+(=:2MIW-'*]+0[5>;&D(3I='E72,FO- MZPK0E*.YBZJYX,H)<:CI^4JMP.-L!2'AR-WR$^VZ,R'MGQ7*%#:OW MU8IYL.[78X4[VA]UH1ZX_LO3%))G MY6ZR,):'*[QB1F5!T<_H9_3S_3]_4$$013PEJ:@@Z/8%0><;'4;E$579GNGE56\>+7U:]N.512>QE%>(\0-VW0EQ4"=[P3GZ1 M)-YR%WZ/*![8/**M\\ZWSD:W?\ZI1OO>;4$W9YI?^* -KJ M.G"+8M[RQQYK_<_GR44;PJ_>$'[26>J!&$1">'>.247N'5@>:WW4^^N\S\_'OG>R?D>>OU[:,58.XS'8EO MR'1$,6EU N$[4] X0X9YR MGV^/"(-JH;FNEB8,)\^+U4S-WC#9)>37H?[\1>,(X-&[AR!TN M+"PP>R=MT(]TV^[/.SO('+YN(MW#XNX/\,0.3; ^]KE\P,T]-I\0K&VM%NF2 MJ/$\TDNMBDB'K:'S1$#E@Z'HNY#V!P'JU3+M'G-2D8-UOP[6!PW=F//CTK15 M+&C".I]I=RTR6S56P- I2%J8^FV&_C"QL5"7:D<"&P7'+AL<^^$:,L,C>9;#U"U:SRI=Y;[YX#_?5VJ' MW2U@T'L[;\@6S 86%'F/XPEL#^0*1]4W*9,@.$J;"KK8=.:5)"0O!>X;_?2^ M%[,/='S^UX,GNMT3F#W*6]L("-X#!)5A71\M)KV*)ALH(>"]5KE:A3RRU$\' M@E_;A"7KJ>>':'7CL95\V$[AXLU9?F( Q-9FFN-X'M$<=G*6^AKB;Y'W2(?9?D27PQ6W*(N>9ZI;&NCSNK=&_0A#G M&'+\_B > Q>>^X@ZV\2#-B//N1->0YJ/TEO__!XQ3$B?%H_4&_9]>I%LXDDP M)*,78I3I*I,85!N_OPRD!8<!>\J$T@T#- M"1YP9Y(TAJ+-9MEROSY:I_*U&4I&/.#1S^AG]/,]/Q^> ?P%RP6-/R4CVL:( M!OSW"!Y]PB*-_P[!)Y\BA8^0YG<)/J)$_A:(1YZP2/)?D/Q%"-3>/VU"?TC]?D SCZ0_F1\PIJ/0N\;R16W M0M^2.]O$4#\] "XWBO\W*XO>JZ\8'GP>I9!>+L?L?#COWLG4WHB*W4O.V&]* MFO#>0!^^=_;P*.0533F4Y&I8TO<91E&,E M:R6FR>,PIY2(HRGZQLEDOPD?W@K"W3L^O!G+BA#B&Q'B12K*%Q!"[2B;3I%@ M#8U:"-(4J2G;/ <1 I9MX^>23=\N8[ZY_R,8KF %+A"&A+M &!*5.G^;0W.0 MR'#55WH1--VQ\P*1J+,RPWA@&\98(I%\')(BKE/+ M^ -M^0;.Q\5L.7(T[MF:WW(T3ENSGE(MQ]D4ZEI"5OM=MCYE>\V5S^J<0C[H M6MQMS.6%SX&>\#G0Z%CU0&&7T\@6Q5Y^/N"]RWV!15HAD)=LXGUZ(FL8EVEI MN0DIUH$*K'QRY52P.79C(4_DQ3R5GNF%A7\GHI%1& MJ/&(:W'."$.GR8W3](F"422.$5=J!/$#K3D*M43V?#OWXH0]ER9IDRXEBQLN M4TGW!DA'6*RD@'T7C2/H!_V+QXBVX"<<#SPZ5%TVVO+#NR1X/D[$5/Z0F/DN M'TA=AIW(!@3)]O*U4DIS=;V!J;C*-)) K67#E8\\-Q)?"V(F1Y M2&1YES<6CBP<[^()I)E4D!XF2\5RM5EBB*;/R9M$SC5AN;]8S[<\'I>G5>Q99$0%_)$GXU) MCJK;*"]B8VP@-\/(C>$N,C-MH,4A)(?5EI16>DJ2<^F--$:L32$W7/G6!*0G M2XQS9AP/AZ$7HD1\?]5?ZLD_"V: 7:I.+">(GISW=8!7*8S^Q-I>0^F*1BPG MCRPOJKJG%?;*)F6//=6,";% +HQBR3)$MMB_(74J?$!L+[3]'[V/T?_^QR,/ MW;&M"KN_VK&5ZDQB:<'0(%\KXZFI$(_5GIBG&,0.0X%DHH(";P-)26>0^MBR M/364(&6K):M&'#R9.'/AEA)^J7BL#<0)M"G6%68S>>.-BN_'PL?OR;83CPV! M0=CP<]&TYJ9O(,'32",P<[#=@*0P_;2U,.GB-?]5=Y9AK>U[?[4VCWDRS'![I775EF:E9,\(M,X MRJ;IXD1SFI^F$ZX .=3'K^XDK%7=U=.F99DK^!P"\%G YZ$4PYO&6K*'0G>. M"$.MRI29?@]3E#]_41*) Z?EF.#Y<#WW4XU5@O7PG^2%S@LQ8#QZ;&8*7OOF M.UBAMJ]O$+N#51&)(=H@+7:I97HKI\15RNDMJ7S?JEBKEH8;=+FCJ1?OE%S\X!A,F6,(NM3$N#]PVXVKWGVZ&-')N[ MX'^V;#_% !('7XE#'FO(8A#<#$#%Z5M!^N4=H(S KP J9 , J* "3S0&T _@ MJ2T[=MR7A0@<4?"GF+P& &I#]/L%C-9-;G!V=X2&]=U(2\A*^;/7\,,(;\/U-1T'1M*"JKYLZ:> M,KFK<.;?.RR&RKIO>Z26MW*$[/<..7T70_V4/0X >>$F/< ^ 1\H).P M<78Q]I< & $ 8R0+5FPI6*K'-;RGT!<<[TK E0/ 9<%+5(KI>BLV!T!R\0XP M;YQ6;,OA6X*AR-Z*PM^JJ@'WFV EW['\AZOSZEO=8.ZP:3X,1 M+3_632@JW:[3E8 M ZEN'#XG>M1*QE.Q.K5<5G 7);7RN%:M)S==N=*"+16>Z..PD+[C M< \+V2N-M&PEUV4Y>6$4*\F6TVHEE.]92#[5Y7%-L"7.K2RQ445KCT@%X#(6 MOI# ?%/'UZ.#/U?.]:PP"8::WE.Q^^Q6&_6\-/@"PN92>E5)CMAY0*3(2EQ M,AK.OFE)4_4UT:T5G2Q7IEQ4*$Q'"LX VT1^MVV^7K+FK%\SZ0&#('IG5N_0 MR66ZBWT3G/:'!WF06G]FO)%G,23N=@G]S W13NLL#C]+;7N0#= M]+'L[<+?OZ0?M<+S_FH;*?2+-;=N:HFDW$CD>8)2]<%7BYL84K6, IF&V@F?H12_"E9Q\8 MV/'<4@U1G8.C/'"VU5E,A?V1P!7F@@I#IK&Q"XS<]&-YNO=N!QS3);COCES' MBR.,P!;\/'XU,8&;#3;L.;@U]++A=!R @4^QNFL='?@]#/&N*\.[,.!Q9C'< M3WQ] A,.GCMHA_7>,$+P6((HRC/9\H*V03A27L*K.1/P8 #!8+@!_&&IFC/A M4-!@.D! <'GAIS#: )94 /(!,O4C'N R GP879#DW;5?!X\/ [N[2,58!=\3 M52#NYVO8LA<=]F,[?D08WL2?GNE%?F!G,'6LRK"#U5AP9XX_$?OY#G%O/0S3 MB4[ X^-U([$5H@=&[+LR.Z2$W[(<%O@EV#''B1V1-V][?8VZ9,-#A M24 U;*![LB%N7GSL26,"K=S[.D 'RYS]_"!,Q^NVIL^A<@-SL=W15!8=*%71 MM1UP06MSL-102' EPA;_I!(?:H\0T_V-[<"B@:R]S#M/NVWO!>P^=#8#VF$! M:(IY !U_^_N."8-Y(5_S$?O4U\;J6O;6WU)D;TXOO@U50[ GT*XG\)?@&>XL M1G?T>M3C;S^@H1=G )AA'L$DN-D^2P#>]!(\]"=)/C'B.1,@R ;8U0,\<\W_ MK_]Y09I_E.X9)# <3",@Z\>\7 9%3OB<_,(8W/D?8;82-O9S>R0"W25'_+-/ M@H 3C\'$B=2_8@?_AP(XDA[0H,2!C%YT9@J^]K(YT^[#-YH#!$OAF/-_,/3) MTP3P:S S GTB+K VV O]\A8!?UZ)_R?$)A;T@_YWIYX)>RGZWN7W?X5?!(H( MO)79BU?]P4<'.@)E!S'("VA!)P#Z9!Y-<*#5PF$_@E.:_')9PJ0M>-X,3^(8 M*8[)%(^/4(PGR#'&CV@:>'RC\4@8D;A T:,__EV%/75 K;-R%1J1V3)+YZQ$ MOYFI#9O037P]TMU(N8)3:))07#3S'ZMUL>RVU MJUFVV^2)XY&$59]4NAHA:@ETLR 3W29=(V'%\]%(7LKEYY8R5[@$,ZX-D7&/ M=,JP&O%H)*)M!\GE9+C6ZKA@<$L=0THDS-D_FA%6VRR5H5MJLM@R2[@4YV;R M%25,GI4,4DE3K8*,Z+EZN=_ M_:Y8J-.;V83-+-&-FS/6MCH(E:>C]W+5L9H>L!G#FO'I=B^Y[#-A\DQ-FN,J MTB<(5K#;8RE#C=!ZCPF3YVRU*#"M?G[.+NKD8IB1G%JSL@J39[T[3-')]6+% MRD)1Q)>%UL:5#^7Y*O/E?)Y'D+]QG9VJL7>[]YZYY,H[GP\XRL_>_/7ZD[XO M2^9E$]$3_4"S/#ETS'JAR>J3]A!M4 ,QU5.B?J#1S^AG]//LSX?O! I\T%T] M ?)$8]_8,>NX31;TCR]U3+G;1F51:[YO:P*:1"/!?X?@R:>H,]\7!'^1%E1O MHGW4@^K3DDA^*.?]M&MQJR9L]!.&/E1SH/T!U)=4(SB%7JQ=T >S=GV\!Y/W-NK 6\S85@ALQ6YJF<0B9;1*:TGA,5B(BR=3 M7^(4N#'R1&TZKGF"N"N^N0@VK@0;1>,T\7YKSHKDVE!11)Y-);%8:PB5+N-W M_:+I8;-/SO"WAR@(IC^J5?+-6;9:KBM]"XT\AF[P[/ OG@J1R3'E*C^I%+5'H*;A1TH=K?N4S[>/) MK_D^W_MN)2*#_)H;] .8X$(@YT<3P=T00<6TW9L/R749[Z3):^ #-S8$J N M)3RFI1$L"XW!E_U>G8E'Z!,4.KVJ.?%(%_84>C'9Y]#;$U\YIE)!R56L)#%+\)Z47SF%S?M;A.440FBZ%?6>'53)A0%K(5[6>_B M@'_V!6WF7/;S7&V/J\:;)#R\>_>PU75,!S*>V#%80BZ]I$YY-6/XA?T3[I[K M8#XQR2,W?,\M?!]I=Y] .+X0+TT7\DY&QX]5-B?SW$97=;*.N!;JEK5:)M,K M?9[KJAA(U2-JS#Q+-)1*I))%&D8+W58U%6$KS6I.-18]YL_?:\F-N*#<:"59 M7TRF@PDKN*V9V&EEYL4<8H* =/7A"RP M!O ]YA#\^Q%;B-W6#.YP.3W"TD/9^MGTA_2ENY4.F$O#5UAK4-NA6;"2FKZA M,OU.QIBLMI#Q#3VF+;T*-=$]8\VEA(RN472;S>6FK%#F.UA*SX^(*:29H8_I MV^)@=X35N3!+;K;Q*['W)N.1HNVVI#!:-?CY>W8/"U;82K&Q9>IW4,9_ :H3 M5EPWR;E,4 C5JVTTH<$M&>3)A#KJFS.4+ I]Q^UU@ M^LIWR#_=26^3/&%UN)[,N\UML36O6 J4_S&B_>N^2H>O0N\7YH!#J(!%82'> M][>5AWE@^UP;EG,AAT,( W?.M(Z(ND\4D:&,P:\-OK[A%N[2J*T2C0(JWJ:( M[#/+_S-J5NCD$XY'-2M1S^L (G\PIE*[N8-BE M"E=N@CT_J7#E8GF2-\"(;\C0B(#C6L!QKG*ELC9;N:YN(:R;K'*)I9LH=_B@ M1'YJY=3V&B "1T$R^-HU>P:X@)A_-J5 M'^F^_-3:E5NY+]]:DG)_[LWO*5ZY.T ++U[I]GECW9LMZTAF(I.I90O+JF/% M+UY!L>/4KD\7K]S\'4M4O/(UC^D'%*^$85;1'T[1S;& M$JOQJ2^7A(-8;1H(GG;=)V21FTS&26, M^)_HX+7Y2">RB&IMI[8Y*A:[$GS;<71-9E2K<8,LQ7&] I%3["XZHP:CT9HWK4@JCDJZ'-&4;H M?*8;O4F"[8UR8K.5;A02#=AVX.CN;<[>DF:ZM-$RR0Y59OG%;+Z!$9"CNVM\ MNY%V17>-Z,-YJE5V5D5=784U*%@RN17=G3(N(O?3F7:.3]8[-A/6H$ Q"HVF M54VOV4S+)G&V@=)."HX\EGQ5WQ:J1GNBU=%TRQIEBT7#@86VQ\_I;,OXU*D/ M65<>2PVKGRG4L[".[KB1 B]EK=&\LN;R_0W#:UQ*J,X9'Y1>CAP,F:FZ);D* MVVX-D$Z96R-D8\4GCZ\Y1,I<>L*:)40O2C6S4\&RV28#1AZO.SXN4CKFT%Q/ MKZF-XMQ.;9I-,'(WHVOFJ59DP9:SJBW.3-NU0E)/';[F:&[*J",Z;JJ:FU>6 MFW60J U03988Y\RXH%7$91)5WY\.@2)/_MG.F]XS=^=50.\323O7V 1ZL-/Y M4M[5_,'F6(84]-J28S-/$%Z^]'-7>G,\5D79CL.V=8*?N&J8]C>2^0]Y]Z199>;>),MF&. M-A#FYQ7\K1*,074SR^"LRR+EU!)?CQM(;0T;(;YNI"ZYUJM&ZH%QV+8LUW?S M\I2IM9L/K."MCV&+(>BI'.3MTYW)UEJ[Q!(IY[3L"B]UM,I@]>>O:*\/7 M3L)!Z<1E1/"B"J(U[:)YHV6S["*7GMG]UL I88JU M3=UK]F6&01#L=QD46;_WF 7.D3I/"%O2:IIME--[SJ+.$.*FVEY]E24 .18> M.%N%"P\\?J"18*I@.5JR(:^$67WNE7/O3U;(@?"L;J[&HNU^AZ/*:T;N=.L+ M7?*!Y[@$$FP$X/ &MPN_/ARHD@5O$70G_ HJGW([#L^4(],$2V1X_L!K>H00 MR&&!BCHR4*3ZV)= QV37X /I8/JU?JE<1A?=%I=H;TO8FJ%++MG\\U?V!A[; MSD2^S1S'8.U/3/+0.MXS1;?7L;=,(3U#$J(]K2F3=BZ= KCJ:?OQ#"&?P6%E M9-@\7VOQF\#8---]I9B::@FGDD1R/))TDLWWH,*Y]0VT&P+#P72S@L6R[&AI M(;))S_'N8C1))6 ;[L_LH^^8Z OX([K: B_155'K3?%\:C!PANGDZCH397): M99MMK7+<(M/*9YJYF0,.3]"//85ZL)I67LN6J-KR =/#?HNT_/OLS5NU8=R; 2XZI.NR4&]!4P,J\76?>T<;O1;R& M=<.R=+#=QP%..:H3=%?>/:;_Z$ 0@FT:X)DV M^U;#8/A.=&>WCYBP:UALAPGDW@$2ZAC %T<^4+3FIH1VAGRQK>4YI4]3K7G= M*@)%@(Z613*_O-)07U#O8$QG,&MP1 M&*8EVZKD@O\LA9DKQQ17@'VT96" <&<^&.6 !X1%.\^MD9]BC.?]OB"0B.], M#9@@C'7OVF2_\J=7T'HN37UP9;ZD%SXD/&O7QYPM,W"ZH2P%4E=;K0M4%T'* M^7H/9SIRL[.X/$G*G\9;IS MOKN^3>5Q.^Q!Q;2 I] A?O7A[=F'FG(US4DYJE(A)81 M6GZ3+3P0B=P+>G7_/S[/6H2LD39=1YLN4Q!_ RBNOTH-DG?TBM>L';\MK'YW M\\;OZ#%V0XY"/[KW&^M0P[O.5"=X9[B1)5;3>1R3.D1=)87/I\N\3(>#>08A MU:>YK%1UETC7Y/+SOCHI9Y8[LO?(WA^_[OQ#]C[6 M5THFW]TP"%A"PC"G54Z?P?)7RJLVI\.Z?WV*V.L&'DCN,,%NYW_\N,G>?.]W;2!X&5R_4WVZ^L86*=B-%>QASG[9LXG0ST4NA]U<=Y4Q MWOA]^;37$?;QG,J[]B$?WD7\/KM\Z /?N8S] _L,\0KS,TV>-\QNFI6MM%#% M$PXWLAB?[HQ$S_$W/HK!/M8I,++@7WJ&^[P)=];I$E:O#O)L@NYPW4EAGNH. MF^!)O8,=0IP+Y=S;P6[7%11VJ/HG#]F!WS5@3UDU\L,A5[+0"1:2Q1+P_3 7#DK 9)G@EV/ M_& L\SZ/VAW3$68O:XFC5ZW1JY?HUF?HC^"?O-?41GTN;?%)GN#]73O_:QYQK\KMH%A/!+Z1!0X&/FOI7[.#_4 !'TM.%=>) 1B^H*X*OO62OV'WX1@EEL!20 M"@)#GSR%!+\&,R, &%]@;; 7^N4M GX0TA=B$POBQ/_NU#-AF:[O77[_5_A% MH(@ +68O4F.#CPYT!,H..O >NX@YCD%V3\B.LM=JX;!J\Y0FOUR6,&D'E/$H M1N B@8QX-$6)/"&EQOPHF2+Y$94<2<)X3,CR$7EWLB,/)]U^ILI26W#^XMSZ M8EA:A5'&=^<4UZ8VY;Z6,?")5>X5F5HCE B^66,-T\WTMUI&S"3R%%U@I+42 M1N_.)LBYV.W3*M).I:J-82_#2YP21MJ^(@?=8:G=([0-W;*<=8]).7TFC&#= M+J%,(4ET.20_Z,[S*;8U+U.0BOW_9^]->Y-7EK7A[T9:=:=4,EQSU,Y/>3%..%4-?IBRI4.CF+2QIE/,54J=E#;!"YME(80)$ M.B-.*4$"(CS+,!$7)F0F(V2F%$AC)(8S!'C^;$SP1"&7RH_H9ET? M'6T$D*U6E]R2<#I<;DVK*Z(X76[Y-MS5R'S+1*7/M-MV6VL6"9?+%GH2VT.[ M&BU<7UP.5LO,I,@EF5[/SS77Z9:HA*U,GQ69)TH<)?@@SQ/#DK/@W5DZ9[#' M]M]>S+H58524L>;:V-;Q>K:[]=@P2O%9>?]5)^D-MM:6&S3GC9PQ]46ART]F M0#J**>DMD^V5R\DYE^P0U#2MTQW9CF(*'#EL>WV&(&&M@MN+M/"FU@NWQATUD2CV2[ H4?@ MI,;UUT1RYJ^YZHB;N9R!$3[<)OS(WG-.;5BIB]F,1ON>URWIA7D98BI^9*/H M]*+(>WH#8+FFLF6V1H5CUL'0")\0XY97Q8FJAJDL5TEV_6)FUO#0T(,>$X=] M:DYW?]AW=7A'#PCBTO +K;D]I9J+P*"K/9(I]TBE MHT4-*RMWN>U*+9H7EUK;)Y/<.)=6;C1\Y).TX-Q"5>%:M8+F,H!9*9ZB=SQ( M"^J8I?N\PB80I=G5U7R,B/UK!1;?7HV1O)#0=]WE4@]J[(HZE'%[ED %;Q+J M(MS]L.QS6,04RNQ!1=*X)N/Y:S(^R8IFJ%<:/,8UC"Y6+NUTA^N8\!LV7"TL.N4F6(B0MZ@$;^C2? MIBPBSZ@!1-0&.&CU^M#6XL"C>C3?_'RQ6A<7E)?CHL\7<772'/QAD:2OV6!7 MDUG\K>+W$"U#+Y_6DGKP7=IAG\;G_4O/DG'QM:?/%R587%K(CD8M7KUTH'C# M?]_D%=7QLBXMT0\ZZ1V)/ 3U9'7JI^P5UU2VHZTF>DVQBD)?2!1YF&&B]S'_ MN<&#^\W(\;3]VHV?TM=TPET<:;Y )8EQZ"R)63LT:B[V]\7^$5QBTIS7T$E6 MT(BJH(KI4I]MT;OP*1PCWXE*UP0^(4D^!CX_$F-N"$IBQ/A2Q&A9T+!6EZ)^ M0H&IJ=W^(CGM%+CDQ-ODYFFS8LZ\,":2N"/2J1^AP,!G!)4=DJ:<=%%WY+!4 MDCE!'9%#OP/82#/4ASUP3(0>!W,"IQKLWZG@UX]LVT4V"1+2^K*8 MVSC$]D%)P.Y3<6/$V,:AGM]!>*C49.*>Q-]!^=0]%6/-)PA_GEBJUQ#_ MNB.(SAQ+=5Y3[$(QMF>-E K1[X8BI;ZCD=QK2/7E1#C&&6=SVWX!(@R"U4!U M7H0S$:&590$#FEZ/5ADDAW%I[^R/<%B>UEV^N[O'N19Z=@$\H^?OO7[82XO7 ME_AA;\EG^;TB\G]/JFT]<3^RMM"4#_R-69W4:N.T1F"#8;+/#.=6OE3VGG@8 MDS:0_IJZE@]$ZW1XTQYBV1!A.WN #?[8@_"*/[@2G4X;2 /+K?.Y>DL8:$6A M/EVUPYH@"?J>CE8,^_2V?(% (Q+9-W@\OA@9\27A5_&A>$,2?Q@6\ YYWX)J M:C!N#AJ A;PZ#Q?W2>+A^&WBI*K.S%Y94PNS M>9M+ID=;$?47@L=OZCX:Q7OCQ^^_KO?H/:IJGS?4.#YU?R@2G-"]WX@#=JN> M*]K-YHC+V?.,OF+=8DY A4LA#I#WI\)WKEGG>"[NGXLRND!0T!?%J')ICA&D_RS?C%%%@-B<,DEM\2&43&A/\.PN/WU,F6 M9#'A+T1XYCX5TSU&FM]#^!AIO@UIL+BB\"<(?Y80Q%=5R]\4@G@:@:\E!/%2 MA=N@L7+>+K"?#;1[\/=>-+XPWO:3"M^7[_K.MW>!TI4QUEV.Z7]$Z+MH+WF"96B9]GLXM6F'C3/QNW0J6OXH%MM8 M;-_F$HKE]L4PB _+JZEGE G1]6B^FJH2?;/8H3,:DM>@TWLFWQE3]"6: MPF&-#P(+= 7R[V>J H&=)<#HXM!RO@"CRP/#UP?QQH?\V0_YO L03/0\\PA2 MX!.[VC1KK04GTJOQ9$H.D]K$"]M7DW=IBKY$U%0L9=\N9?&9?*XS^:1X28O! MN%G5:TNL2/G%5-&K%O@^ZN1-H[JA:89ZWT%\O;;\DQ,:?^&$QF_<*OB*AB2W M@#:Q17_UASUJFGX$C^@LEY*J4W+.&WT=:^*"RJ\=)6S$0-ZEZ!]GR,#KN8P$.=PF,;_D>*67P2 M/Y6S+;#,J6C//G((OR!:G#2G[>E$S6H#4.Z21+>]6>)(M.AP1W'B[Q]IP9,O M'-!D; [\"*R)+?BK/^O5]3&C0,'ZK#WLV"4^2>ECC^E/QN44&S8B(N]HXFW^ M^EAB?['$QFK#&=6&XU*ZJ*6'P&GSZ# _%ZRP%\7*RFW6&%H\L+B2. W5Z3)5F;DAX4JQ]GMO=F MP *B[ KUO/?!"5?F.!QY7; UV:[W#Q$?5X-8)&8O@Q:\F1 SRJ*4.!RT_5L M@W5Z0Y?;-2!,W1%D?#^*J M#<7\)GT##Q4_<2+41TQ'U!/RJ0*.(:V 2-WA6#IV$?Q( 8M=!&>,LSLB68-1:>/AY>Z*S[5YUB1Z M_#29#R0+Q=?=D:E3A<-OR46 T.>O1-E8NF'A5ZB= -N);8?8=KAA=P&"J'_? M%D:=U +XQ;Y%#9AR&PD.90WTVQ'@RFRF(X/'B"5&=PQCW"XT,+K2%G \O#3( MI)D(&8@Y2N(G MH_'__[DQ+T%LIEPA@L1^@ M"P@MG_Q'A'^)EVD@IH[Q&]Y)4O^QN!E,/&B=$ M8/;C=S@11P;\3'F*S?[/GK''HF;U->MC$YW5DK:W!"P0**:M('$*;'T"/R5- MMV3KYUS+ @LGL32M8/M,.6$^M/"#>Y>07VW)%9L%L5EP(TZ VP:O%[2!G0@? M0;%2)KGH+;EEEJ.G*4>OUT89O0,M@J ,'W&7QJ*&?RS@L8#?LMU_VQ)^5#UY M6;Z+_I 7G7HIC?F&WJS4#6G#-A4DWS1R[%$G=?YK-_EKYD)).L R/J.;7!]" M?;V)< RQ2"BC4]-%K?&^!+*.%@S]O#+Q!EDLXR6KLL8Q*V MZA0F18FIKBIK%DEE4+TWG<%>4P,^UR+X'4U;'[^96;Z]Z=63AL'_'.DH'#;$ M.NCK)4&5P$*L.]M-YH$ST:3.T=CKQ48,!'6@RX0D(%+/FW?]]W\]Z4(6T<9W M0G.PC%WW,R*0'P4DPR9G02+'7Z+NB;[]V&^6PO<"^=>#X)&!:H7=$YE_)0[^ MC0@0H9XA;I('-'K2ZG;WM:?=;O M$%&EDGS;&Z[8\60U MKZD"6)86YC+;)5F!BKZ]V%.SQ5J%%[ENOYP9S@@5USNH'%MD)#/KS&AOFI-X M4*VIXXUENQ0<24=' L6K-^=<4^*J8AN;@7:')0Q/2$='YFQRQ(R--,TU>]PR MI7;Z94UF!28ZTDI1H,<+<@&CA8Z2;V'VE&FS0B8Z4E $S6F+ZR8_H,NUUJKL MU&LE!8Z,T+-FK;I&?:,Q\$QD6X :.DD&;Z-8N;ZS MK 6NK\A0JE;76-O>.P.*E]/S_X ,E4'HJ+T]V-+ M(O6?NV]J(_\AC21N*A_W7XU;/=\FX>-6SW%3^5]%]QAI8J3Y782/F\K'3>4/ MW3$_KM'RS747CYO*_\IMOZZF\CEQJ09I!(?KC['NRIG^A[0*CYO*?PVGO+;H M6^2=N,W\MY6NC3O-QRVK?VE6&\H=PU&("R,,W4%Y-6^F6!XXFMRQY()+I=IG M"CVSP^NI>G@[=5"#X^7 U_*4:,M"EY6P7!&7Q)'/4P;FA>WER;M4^E0ECEN1 MU?<<9+'TQA7NOTY\=W;41X4W,ZW1JXWL=3!"GK'99LY9SE4O[#5/W9$GA??: M@M:?JPMQK_F?G6P;'_/G/^;+BYYGHO*7]K&>EOY:[G4]T].2!2-+64-U4@[Z M806)-X$*: &IM_1(D;7!^7**9C:T5,X5)F>CGIGV[ MO>]%3S(_H=[]Q96$&Y+WRX-6K%9<1JTX)<4ILB%DJ*PPYYJ#X7S>I-J]9DN) MN]1?LY)P?=@0&_]7#A5O/O)1(^V7L&*V\MVLXO T)O(%:DKP.6.S\?:-ZBG\ M%%I2RUHWWA GY*YFI_;&K.99V!$93PKE?)#RG&5N(/] M#1D1L>D?F_ZWIP>HZQ=MAH9D> 2_E23.3=J= 6?ZQ2 M?*]*<4)\N7&J #;CWH9WV8$^Z_OI7EOP;KB[_>DFNET[&^]^F528 R*==P:M<8G"!FZGX*JM$=MJ>%!T MH>Z1ODN3KQ;(O2[W0]B@-VP$:"^;AMMN6(W3@! "[4>W@ MM]TVU8.K%:$G6/BRD\9DOBLQ8VM;,/1AY@E;O(4K/%56_RKO%MP1'1 V3&7A M#\?F457#0WYY8(LD$?)%0[0L(5\#R?2XODQJHIOI&6ZQY6W&RI]_\/MH@.N_ M$HYY#:04-P>D[$Y7(F;V=4Y;#1N;KF@NJ)+)?@XZ4WKB@KQAM&;0="'PB%"9&\O#.-+&6 KI%C<'_&Y(B>W-V-Z,[)%?NP*BTI2F5=0#\](S\4"3;C;5H[B^)R;&4SE?EYC MRNRQOJ ++\GK=-_-\-7%EL='2W)&M=ECW3YG6VJ^[.E;C/,9H3LJ3!@YI1SM MS%G+E4O3 I-)\U5CM'46E.>P(GNL,R=FY@2EFAM0&"B)FK(AB22W4HYUYJSE MQ('=U3P9(X;IO#L9F(3!M8]UYF0[:U9KU8NZUK1[(]#A9I9^O#,GI2^$CC24 M."1,C$"+2?Q TT3 ?8+=%'DMB#C\WJIJ3]V?>[7$]< M?$RGLD!S21V4G/)*;9?A P!$@R5\A&.YX$S:PZFJY#A^'UIVP6S1M0N:[D.5 M\HOWF7RCG%YB'@.0" H(H^ @,R&'_<6G"4-$P4+!+PG10O%"(&P("B$?&JE& MT*?8=*W0:I@FIJ(C0LXQ#'@026%+4[!RU27ZTGWB;3U&#TB_:RU:<1<@06*[ M6NM'>X!>DG>[T@Q,71TTY2>NU> 4V_M/@_B7)TQ^G-/GE)E<6#U2P@AC+... M.;'Q]+DX_?06O]3K)?X9_XQ_WLK/G]5;F*'N,T3/)[R \?I^. M.?Y;"(_=TTQ,^6]N^?DJXE]W\[>/K/NC$/S3>S_BQ#UU4UW+ OLN)%+KF6_@ MK/>!7R$C%5?_]O9E9V;_J[XK>NW8O_:[D%=/S]N\ZWAT!&5U4JN-TQJ!#8;) M/C.<6_E2V7OW54?@,6I98"FJT_JC]ZP+K+4J ;L0>-8@V7:.HPY +C8(@$VY MH**[#U0?Z<@MR((BJRI5T'H8/:R4U$:_Y@P-Y PG__R#W^'$&6/QO@1]OK A MTBV@S/6!R8&WX<)J=PP<'P&.O!N44NMYYK&.2,-E=EO0.D"#[Y TJ9]6\^-V MV/L0OTM17Q'4]/4P\DV-66X!7\ZKQ5QI[.6959W?%I5Y+8B&&D,3M9W/7:U)^'8$R<"![8,U'8I?ST;O14RM^/1*A8 M XKQXMUX<00F1E*^DL\H&0X3\Z@K1+-O3^A= RCB+DV_LXS+U:H^87V7LK%T M'3!]*.D2:SJQIG/3FL[?%ZMW\&UPQ2^FJBVA.DQ@RFW@7^RP*M.Q[G6C]+P] MGN&X9@AN:2$MZJU>>]?+AB+>6>C@^I2<6)F)E9E8F7F*#C55#/GK"!RT:NQT M8K7T 5]U&IN,L1T4.4$)6UI 708_54SREG29(YG9* ST,0 W5FIBI>:&E9I? M@F O9]DV4H-)ISIT. UHP_ZX4>.3G=ZN%#]QAYTLQ7_MFLW19-K%TP2"6.UY M*QI=1?[@.0#G%^0)?C_BG$P6(N;9BZ<-?B. MK)_HN2?#_T%^^7!^X6,F3/3W[UO.^[(0 4Y/B6DJ(S"D-!6H%#81F!0)!&HR MD5+3M(2!J?0\PZU:&&"S/KNUN&)JLDEO)JO\'&,%/)H+E^S:#6DUPP5M8(H\ M-J/SE"XJQ_(54]5&V1NMI*;FB\,QN5*7XB:#,AM3ST=FIGA6K)?G?VAD3C^?.A\F>6;ZZY:XNEEVFO4 MJ5Y-\;QCZ9*]<<5UJMBV@KF%7LWTERFNYBK'DB"U6C'):YJC:^+ I:NN/%=E M HV,++[4K[=)?C;.8JL4EVH9(D9 I($C(XO7A)X]:5F4I:T$62 JE6577'I" MD*3[;/&%&I.BLE96RU%6710J&)"J*%DS0J;)8BCI\I8#6%*7B_UI16AH5?3V M3"2Q$AMX_J8WX36U[-$3#3!T?8#>'B6H3##S)&^/':TJI$7)$ICVLAX<&7D]W==R_:&R)#C?;*8+-8W*T,GVL5S1M+)N M9Y)YO\&K[3Q-]4"GV"EZ<&2$]".KQ_4$34KR:F:9VU:8MEP>H9$1TD^-]*Q7 MS!8PSLV*MD-7%7(DHK='"*H1_16]W&3;FMOO+\;%&2]GRBBG-;(BM]"H*.-Z MB^6-#E7:V%AKYLBH 7N4H"I36OES=B4/]_-(^FNA \:E5"FE M82NVZ.+-[J2ID.RQ]%=LSD[;RK1K:H:673#NRA*W'30R0J9JH>EI7%=,8E6J MW)86?-)>M=JAB?QTY)BH6=-50Z_R@XXX+'D-:(>MZ)ZE/;NMB<]:#N#4Y4+HC,G4J&2B9T9(S]/;E.J7?)'SJ^JP M5,R1Q4H1/3-*4)9:#^=NDEUBR5EE7LL:,\5;M8_F_F8;]$Q?SYI\SEO/JW*F MH%%!EG"$3%ROWF_X^MC"FFMK.RZO.%[8]\)Z.M+I^@UCD$I/.="6U'LUJO.J9#7Z8Y]3S0Y:T0.9+I3HN:]04!!5*RB2EU=M23=MUP)V M-(N3*O#ESC#MCK B+_;%-+98#=9>J".I"Q=,6>?$. $-P[\^NYG893>C-2;6 M:)$) XAHB>@Z[>O2G#\:@W^)B?5F8)=(C!HA[/+J0)C@[,R"U.8P&5H5]808 ME+I/0&4YH>]44!6^VYF)3D*T'J@Y3<#?Y4I-XLE"QNL@)#WB77% M&K)1YC\^[JS,'R<\QS_CG_'/<_V\^>1JQ]P[I5+D?>H[\TRC*8YP;@>+O.Y4 MQ[?YFHE[[&2UNSBA]&(YU$2G(][EK.ZKL/UUK&.7R MUSFRC"[#SU>>)7;:/OQ9J[U(Q[*;Z>$5<_;/76W,V;]GKW\79[_BLH\Y^P?M M]>_B["ONG_IZ(O;%]?XC6=AA1^.ZN0!^ OY9 TY"E()J.^^IG7=#WH\/)BZ3IV, "O!\5M MCSVR_IC-4[# R@4+R3_^O(.1]D/2Q^[!*VY2,?UUF=/ QBJV"I66W.>53_1\ MM6?L8HK^PZU<=2WJZ*5'\JR.I'!CH%JCIP+=X 8"74DM4U6-)]BPCC%!W&5. M9G%?[&(ZQH&?BP-!"6GB'(6R8B[Z/B[Z:OL@YJ*?R$7?C45?KY.<1X'(9++= M:KLZ7/'T8"532X/.*N![% @)KWGSW)#:GD!S/W>:GF_V#1CUZ*J(Z0HF%87(F?W M 2_R8.(\_G8$6"T?K[/3>D;75GP[I2FE<1XTE+ ; PUA-?TFPRSVB,:H%*/2 MA5&)N#0J$86T6F$4*8U5)RDS*9>KPGK ?@MW')H4PZ?&YMX,L7@_'J* M2G;1?_XA4W<,'JVA'L-2#$OO]2Q<,2R=\#S$7!US=7S8WK(GY!,G8W74J[3J MM-GDBXWF8,14>;O30B[O\'<\Z9\6UF:+KWQ?@*Q;K*M] M!)5^557MW^R9"*3Y;3Y>MC+6]%+2S_)JI6+H [JL=5/LKN-;YBZ3/M7R+;Z8 MB9$C1HZ?Y#UX!W+@23W-I!UZJ%7Y&6;(>M??!)6SW^<_7-7&W/V[]GKW\79<0;F[]GKW\79MX39 MUWDO%\8AYTS4#DA!?;VAH6>KT)(-.AK%5W37$55P(2_%5<4-Q,ZRF MC+HRY M\)MN#JZ*"V_GRI&\])7C1NE2Q*K8EWF0[DI-EO'HI?IQ'W#6M=4%L.V<:4S4 M1:#D/"H_N4/=YZ%Q^;%<][$G5K.2/M.Z2X/'3-DHRFE/2*/FO!D:CV\B?Q>< M7/NA%M__G%'VU[PV=3%1I[CD*M<85;EZT<=1OVMT,W1:^&_C6NAXS.9!$]WX MHNALT>E7<=U]P6V!$2I7FP[GN?% \@3F/79N#$,Q#-WBR1H;S1_#C%')3MN5J3#$!L-. MR\4*F46VJ4#,>*-]_+]!/:3OD^=P=@W7 )8J'?D]Z'%VT*I-TH%H(7:?[5[^ MP,YH$N?HU?9BLQ"".K#6PR43]/-^;/_]7T\:RT7$=R=I!\O8-;0C J%30#+L M6R?*\,U_B;HG^O9>EBO]ZD%8RS\M?O:_C,K;+.W^_"5!GJ[K7#,Y5\$?H]NN0WXZVYE%'Y/G6%OB*C; MA'S.0E3GZZ+<>H+082+Y TEDI/<%&02(D4* E+"PPY ME029R! 2AJ?Q"4']"=\J[C$"&',C9S#=).^WMV)958:VZGH"+F#/1PJI?%T0 M%]LV5BS)1G(U5'+*0($CB>Z:M&*/:+S(5QFR@9Z:>C\2S [+* M]=8MKLJRZDC*FY9FM^%(YOE(GZ\71P,P6/'-WB1-%3NJP+18.!+'GP\EI77) ME#KT1.NV5LTTT>5[I0DK$-$EU2Q='&O]I,6)6M< C36]2+.H4&YTY)ST"9[: MV!JP<+[5D@ GISPX,KKXN;1<$V5^RU67!;/BCC#=8-MP9&3Q+\,! MJM<;V$JC7,RCD?3SDEU/H42%")F\*26J? D +)FGG<*$3=*- 0M5 MDLC(OH@[Y8');;05E14SPX6E%"@T,D)0MSQOB_3(E;&<7L]EZVR3RVL*4G,B M\YSS@_80F_M8M=0C"U91CP"/D^]L:MI$53 3;M3B:6([K* ? W5'*;AA@H8C.+WRKU^,F]6:Q9&&#%1#R/K&N6$/VX5N[,J([ M-2\TK*"*IXM+&_RU_\>A;D$_J"^ANA4TS]M]$.I:P2=/5+(#0VPWYE')A=I@ M)M3R'&L_CX/>R'_>&OF(U+N7[;X+-UZ.=EM&*N2Y-/F7K9.#@$S]^ET3/AO('P,-=\'-=]YC/Y>PM/W= PU,=3\(L+'6LTW$3Y]C\48 M'T/-+R)\##6Q 763A']+Y'?@;3OEM]GYQKXPT8")D&;RY!&[.\B)J4_A'UDG MD0=2$(40EL$F\;OP'P2&,__WOY.W1];^7A*J,_(VN&*T1<\O_^ M$'_.NGX<#PCPQ:SQ8F#"&T@6!-"%5,)CUK@@:Z3O,^E;Y0PBYHP+<@9S3WYM M]MT9.8.,.2,^3@Y(%B2I/:7/N;+M3CM2/QW2-W=M1Y7]IVL-2U7&)1GC(DB? MM\VNJ@I2G!?P:=:^ !Q=ZVI?NTR)6?L';?;O0NW7G/0\ MJWUG%<;+'K;/N\&;"^ GC* G?$*4)+@3<9>TGU0G*!2,WU8H""<$$D=)C\Q- M=4FC;0PO9HE13C.VTR';7!9F9/_C>90YT9ZQBRGZ#[=RU;6HHY>^+:5R1;6Y MZMCUVKQ1,"6J),Z)]19ES9!__L')]%V:(..28^\RH&X>2D++Z/L<='$=S?A MVQLQ,1?&7!BK5=>E5IU'!VI[636=)@5)$X>38KV\&N3EMO*<5&;N /WYQ]X-QZ)A%>ETX%-?*C,_6S]NW M,4_'/'W+/!WKB[=B+K]'N9-,3=\J=0M@ZM(J66FM!-PTJE?U8?/X^ZS@OU_O M2WW[]NV/C""XBD"!B\? _,CS\T?&(?Z.<,.8'W\H/MYHC&#,CS^4'V_JO+ZQ M&Y_W-V*.+W]N]H+[DK;\C<1?Q-ZI<]TB_"2&_O*PMMC?^OT<_:,A^LM#Y&[ MVWJU_;;:E0[7K6:5+B?B':HE66E@-#[NP#U/P]FA.U)MAB4&F*JWC14UM30F MW1;HN E7C$TWIC[> #9=Y4W0>8!D6E!*#B=NEYK8RU4JG1E6K!:#)A@?Z5Q] M!3;S>QI4W[Y1_%,NLG_8^74BE%2+_'?(S1X^>@Q_7K4['5]T%1SVJ5L4;Y7%ZC MMVI7!42CG^FA1G_O;+W\O\\ZT'UJS]4%%$CG+Y(^APA?8AY-U]H570D[Z*%- M#8B>)> 4BG-#@:J"TEWIP".-@Q@22JT8Y?B$EC!B9XFJPMQ$;QA/S6X ML^$"%%28?1&^8S=#$15N/9IPIF!Q!JNU73MA.,OX:3A=PY(#%]B0OJKBS6<-)I! M D[-D4U=-1.."4D GVNH"P#?GA"72\N$M$-$E:% )-!;X!OW!WY"#_9F(MKP MQ>X2(H=CB0&Y$+NO(6\%:T!3,BP^ATR %BRKFV"HLR>$:$$N MT$7;5F45_D6T'SCMD5KWB=[LR=+A2R,/\U]@9M6&U+3@1-"D+=-59L'D73MX MC A_4:UIT/4@GV8HFJG(:,=3B)\)AHQ19M[L(/B6H0/0TO9D76_<_ 3 M.%:\_P0L7"4:H1W.F09\AQ^8<^F_[83T0E0() 8\4,-_>B+B-4AN48>X O<* M'?"0CYQ#?MES[.X%"4_5=3@V_"-D /OPB4"$0/"X,Q"55!/N"IR*OMLT/1#Q MA]E)>SZV@&WJD-$B_&H\'IZ('Q%.&<$S0@Z#XCW9R>2NO"_\TQ2>>*@2%GJ3 M:,\2J(%$" 5P?@#Q$5PC>FO(-7#B-D1"*$62"-_B+@X89H?9^XE# 8>/4*&8 M!1."4O X(7$!SSX]8<,3-A3T<%UK%7CPKRL7B@FP=/\^T3UXF303(1UL]. 3 M3]HO"($H_,@S77V*2.;J"'\0.L-?(.\'6+-_)(*?B.P_V[& W'":'OJQ,)_0 MX6!JT><@#'F1QP[\JHFIB[2=X FVNDD8\#LSN(T+Q&D5%Z(TB=TEH(Z5V>T\ M/#E,+_A&0/\E7%@@^V+ H)!A='7'R'+PT F @K (D (2"H0D$(V@$-KAMD67 M\.+T)?@=Q;2@]!V *ADF%83:4 .".<2[)SICW@V_CEJ](Z4Q(_1,U-4:"W^A MI!68&;J*W$Y]G#87#\IC5H3: W_ IX%UVGE" MH!Z<6%8W)>W/OAOP@IH+7@=+%[%JKR)V?)#6^#6< H!:X1). BH-X'/*^HL0 M]5)Y\OAG_#/^>?T_ ^S[&>W"&?K^._M2_?!NX2_[]])DW WL6_K?Q83_%L(S M]PP1$_ZR_>]>3<9X#>S/L/2LJ(L+"23N3G>RNV2 W6D)/\,:3ZH%%XNDN_BR M+AHI]YK\_\0[D<_>J!8S!E,CQBV:=S=J?<69@EX0VA^^#3EV S-0G5G$-:12Q2S6>5&:G+-\&ZQ,BA.:U1W56P+."J3=;X@N4MCV?,8 MN9;H[YU<+[E*SG+Q>W$Q_XZ+WR^"Y#/,]:?AU"M^N N@EK)P9RE5]8=<,^MR MD]&*%>3U2=3: LN/HX;WS$=02T@UJM"*Z609?W0%W[AJ=E6Y#VBUWYK[<'FU-(3+WY, M$PX,5# Z.'O0S_!YGT M8Z[))Y?^YXMU_,#\WSCC"TE_AI M=2 ,SA5M\)1TI[I\X^1]>%2%DTXXX@9E^TT^$XYUE5%@C^M+3, "R&K@N?G_ M+J4.4D?YISXC>V,?3#G-$$ABVJ.::DK\>#CS Z-QFR58V" ;+NQ/$*<$G_4< MHAJB90FVM-UFF!:;QG(U#N,Z:[I=JK?__,-$\2F(&5(?"0?"UP2$^_>%*<<< M4HX1*G.0SJR/1EA R! 78=JL-6 $K: IFJ+NTQ&:_BO@PK>RVX!0J_Q.0\>+$><:EGBT%%KLX?4I4/D M?N/3]^'FS&>R0&XC26T C[. ST#"4YT9NO0 Z.)6OPNV$.R47P=887D844<$ M1>'S<]=2[:DJ/:9[H50&VYW,$<2A' AWJCJ[! -(^R?C@SA^^&$PQDY(D!;J M8HV2.U#*VE('FS );9\W9H@H]V3EJE:0L067%.[6+GD$OFV7&Q+DBCV;")QP MR&:[9 <$#O"[72< WG"!#\EDP:KMD-$1Z_@ Y:A!9J##;#?3\B"D/'\%V,#= M""F$TN;06\J=;O -\_F#J'<\"*5Z!)EVX68\HV')], :6'=[H8)2!AD7NH?^=A MPM6R\#B?\40/K$8LZ55[^.XHAV#"2P'),#A;E.&;_Q)U3_3MQ[05 M"M_?H/WU<%-&!H$I&"IUE3CX-R) A'J&N$D>T.A)QLSN:T^39O8?OA(EOML* ME(("38N E^&ONY51^#UUAKTAHB$YY.-._)^8@!H[/'7^I]?,'3O7WKK]X:_H MBY 1(;_J?Q]"TNZC QY!M$/)TP''(UE )^ "-4W>X8-X&)C^$B<_W99CU'YV M673ZH-L=8&V$*D,K*P2$ M!31^9='5(6RP 5H\2=>]0^,"H(OBB8.J*R)#XMRW#R_=S'8AECH]8!EY,'%Z M_A(\N8@-)]B4P]GM;F !D4\)WK0UY@P:2WO%.2X.1Q_WM]>@:KU_0T&4@J.G M#JTIPS6RIF4%*1EKX][R.2_RQ"9 MZ,W%0PZ[+DZ-EH=W!HV2!@_OC'I@M@8:PL62W(E MM4=1\JQ6AQNS,*.; F5+AF0C9VY4I'Z^2^(5=5%!M6PL4P( M[;;($DA<*NI1F#EH_\&P(H,]LD3[X&DBZH!C7W;55%!F+#ZS:Z*0VAL M'% . H,:E,!PD'@1'54L2;E)MQP M5*$J )U?(49[JPM5' H*%HFAQ(1NZS<><<$W!(-L=PF]T-YPQ6Q=J22EY"0G MO^_ZY>%4,U$![@,?0-9OH))+2%5X^#BL&N>ILBHT'PJS-&4>'1]+49UVH(PM M7-"=06;?Y>38NP.2I?7AN*I5-EQR,V1]W\EB*98]/"#+C<*[3L@G$_;A;N0" MW"FH4,& QAU\Z<,AB1TP]A%@A/1(V(@@J.Q90)+1MPST7;6B] M.O8#4 6[I^<(# @S=%XP)W.(08)&C-B@,7>BFNH:I%W=%8]-KKX=QZ M/+.@S6(_Y+P$59-2C<(6#7P^(<<_.38?-NQ;@8G1:A-^'SC1,1]).YR+%13 M(#WT.;=#FU*>4IA&A440\B=T73R,S&R2?:-9REM\3A#J65X:2/H2C62>CW1X MTFY-:H*L%>M (1?696KL]:9=:PM6I?E9>305%0^BAU+/),L@AD M/;.%X2.Z(VU5PK1VIRLY"W)?1V''\^M+O.X@V+ M$PEM8$^8!2NL:VP!=4/'GH_4&4O?+,6BRJ\DW"$C5V?3FKURT^PF MS=$MUFW;9*N\I-O1J[/CX[[KZBRUNSKK.G MZ-!$94'A@;/4Q<6/O#(K+Q)U ME#&R2U4\G-5A"L[2 D'-%W19@>%X6 )V8J*X GB(3E6H1#@FNJ='VNEZ5S87 MC4QP*Q>5="T_D+(%29GX]^XF*1B"/MG?(-TG LWYX7.DY:S5?9E6]%0%W?F@ MMS[N#E)7H$PD'V.![&#_S&5PLM_M?D63@PIBZ#8(+B;L0!=PH" %N@MB:_NQ MGJ1AH%J,K;7)\LFNB#RS/0SSECJ9L^ .QBVH!& MTNZW0 B:P"/3I='=6^A#\_0>[D*3B("V"-,,0ND!H0&) HR!+#$^$I_.+1@3T].D)<5IV']X25U]'C M[A,[''AQ=W;/"K^[UU$07,/GA-7EPSKU<+1J06,8&L9!66#D"OKY[MU@(Y)A M?6KI0#8?XEU5.PBME<*"T?:N<'+@) ON=24I+-@=5(1^G^?@2RH==W?7EDUY M?Q1V@;56)? ")H5K#?Q9*(=56:#RS&%&?J A1_7AO.$*O;[6[_!^93[6GW>2D!UXT^_']_4G_.2A4\4%.C;@:U-+C@ZN@A,B/FB]_+%UUU++Q.(+ M*[)_5FR.U-&.X33FF\_S30RX5RXX3(00I_;[Y:YKDQ=$A#BOB##W%'-3$A*V M([@E*+TYCDC=&D,P,4/$$!%#1 P1;X:(3[0V^W)-J@$6E^>5WH![+,HPIK+W7UPT;PK07ZDRTYJS/%=A13K7'-( MM[FU-6+75COLLD-2S(DN.[' _WJ!/WG!=^L2_ZQH^ZIMG90$B)M.8FTV!&5F88G_EX M1[H/2[R0W$[-XJR;Y DVE;-FQI:8 0\I-L2??_ [+!5MA?.>EL!?[GC(HW:F MYC(HM(6R@!T@S1:0L17_J /B1V+2]4'/R_W/8[WBDZZ#@U(. -5O81?3 QG8 M"?X.=(I):K2M&GY32Q*M3:?0(]?L^!L\"52QJHI9-IWDDPW*6I3'BNZ/E-R/&_/OD5Q)\JJVK9DE/M>G M:8F2FSKQ'>[[J;A2.+-DX9J1[0F^XE>*%:P-)1?:]C09[?\;2^Z/D-R?>>A^ MW"I_C^BV6=D>)<6DSQ.VV%BO)_62U/T&M]Q&WS1R.;=J<72_.Q$AI:366V(#7,;R?D&."-;SGH17(:#:7:DCKU_GM>ZBCQM4VRP[S#>X$9J8N\C7)'., M&95Z4L0TC=1Q#ZX:N1$RI^X<8@B((>#'*@&?]TB\B@!#GU@O"!TWL)7*-!N^ MJ=&MS#?$%@DYAAX-*9+CW?DTU6,!X# :(4 FN'=,O\TA$6/ ;\: GZD&?-ZW M\2H(\%QQFFQ5YPHWF'A=I[T8J:W5-U@"Z]'8=A0VY7-)(% S9=&2@8(:O"#' M!D.?BC"\PMB#XLM-LV)GZBDD^L*TG$M?DWSU4JX KS[ON=@)#L0K]HG8/(M> MR+>%+-,N*=B@F**]/K;UM_5ON$B9%?AIJ0^PFC8HFDP.<$ELJ[:%-')?,-C; MHJ)CV?]QLH__9N'_A++R-N$O<^IBN!9J>:WHI\=BKZ;SJ^0W."XRI-$F2*R_ MX%?"I&J86;K;[;-0^&EDMJ2)M[DN8O'_<>+_*Z7_\_Z*MTE_M[3-YC;MFH!U MJX1G3[Q9]R;C> M6B:);U!E\J-%OUU@2[26K% 5G$^6\0>FI&SLV54I8Q.B.S^1[N5R4/"3WR6=!W6/K5[)'_ M#7I"_[,?MFN]_6T">HFVYG O@R;N,P#_CYJ*H! .6]TD##-H(Q'VI7]2Z#R! MH/TNX8&$)"Y5![+@%@[Y_V[:A#Q/R_/<(SU8 P*+\YPK&Z)E"6>:*Y<=C1\2EXL=6U]W?!ZY'2##ZX'3G9@0;1+F,J"'Z$%^LQ]J6I]](H?$"(S+GBUU-*ZZI+.-5IXO4D'T"(TD;2']-70MU>K3!XCF.O <%B2B$A E MZS\.:8D^^BB88O)NU>)C-WNJ,G!S'Q MCL,B>//D]4V>G-KD#L(M&VXUJM0O*H^F5)(XV'C5M^?95JD,3THF)J*>G!2Z,"! O^M$G;I#?UV227F^4VA M+*7+?-%:5TL4[_3F#/OG'YS8*:O/)3746.&YCC9"7;BF:S\(;U!0$.XCQ%-1 M703%"7Z9"/<\/3"N276HNY")1">O)!]CAV^#PST MFLYXEU@ !ST%$E &J@,?8M^AX]UZ4',3Z.1.H'@9M.JDKBY CX0C@E.[I!- M5R[4>^![GYX^]U>ED#YW*X6-C0_Z,TLZ/%"1_W&V>]F#>Q&]]!P-FE_LTT)0 M!WIFN$2">=Z$^;__ZTDWZ8@_=>?Y/%C&KHLU$3A!%9 ,FU4';/67J'NB;^^= MJIE[ZL&K^M>#]Q0M/(%C]T3F7XF#?R,"1*AGB)OD 8UV3M=0,]Y];?^9%?;6 MWGWX2M?LW58XYO(O K\/. '^NEL9A=]39]@;(JKPDX\[\7]B8F8AT/R?7C-W MK'G?6[<__!5]$3(B!"S]2;>_W4<'/()HAP*CD%L4"6D. ?C"L1^X6OSG@$=> MXN2GVQ*A]@$UVR>ETW2R65%[LRB5[U"96Y6I;( 7J^<@* MNZTK>ETC.+^<4VK;F5>VJRP<&7DF,\SRZ[+I:9C+V/T64(1TM8G*"Q//1VZ& M17+:SIL.UB7&);( 4KER,#+R=L$TIYN&2FRY <[VU/X@WZ5[J"M!Y.T>U6W+ M3F]&82HU-P1#;N5;138L9_YL1:LV)#6=[_#5W&S+V@6U;VJH.%IDG@X^=R>D MEZ4UGVI66I,VGR^M63@R,L]ZK>JN"IWI@$_FUFV2(MNIOH2>&9EG?$LE75OS MLW0V*UKS06:!1D;FF>Y/A_9@VUAIQ5*_5?(:=E++L6'P]=.1>'FL*]V!7N%\ M%AEBU%A*7$S9= MK*57EBN+%3)'GEG(SZ?&:E'3U'RM-;!R2Z>\4.#(R#/YQK0R%K/%J2:N]4&J M:V3[>AU*,19]:#8]L=?;/I;B07Z4G9,$-W.6P=#(4U-EQR8LK+#%"*;,$)OL M@I!H!0U]2B@A33,36RH MZ%>I++]M=ZTR[P\]IE"1G>)HR1X3T[IL.8.J/RAIS8F@C'VO5@$:>TQ,H1(C M^T)>)3$@;>=>'NO3OG!4^%1_JU3R_"#)53>K5J\GN6EVD^;H%NNV;;)57M)M 0W%/Z<#OJC8L@G;-> G_EZU?^I!0_Y@ MJ.#ZRZF3(5GLB[7]/HAB,OT(+ KE6 M7E7<=\93\.+]4'%BF[KK@+-84R]O]<' M_OD#RRM"R=2Q82_$.$S]ZF8\#'' M_R+"XX$/)2;\EQ,^?4_&=(^1YO<0/G-/QW2/&?[W$!Z_)T\6_XP)?[&C-39; M/T'WM^3_!QZ)3SD/+K=V9G]3=ACB=Z:DFE/K_K+\(>;433#V>K!C&#D2_?D0 M\7@)*KQF6I_Y0CSFD)OCD-=,T=^#&*_8AK&HG%E4KEPP7K&*>ZRXQP@2*^XQW[Q.&T@)]&&0BWI..C%7II7L78>CW^#^_PS@C-726"V-U=(80:Y(+?WLH=)P49V/?3F4^&2) MU^R\"NBGL4%1+*"(SC-TB%6J6#Y^ MK4JUR\./ ?,* //:="EN RQ)M6-EZGK"5J58 MD;HI1>HFXZ)#E>D+6QF?ATK_AK-"?(*G_[;_:Y?JUD"];^5Q?E"=Y(O=FIU99!0AC8K-DA@5-TN] MV&J_($?FPKU0+YO9\CE(R*,>-"!H_+8#A6HCWVH.F\R"%P?CLME)%F@557[] M?E!X=P^1\V#"/IYR=\&]]\T&IL,#4F /2)$"V4W3XP#&^;G!S-H.F,DHJ$R> M^O-/^I[*_#2H^(I3];SNV7=*T#NJ-@=]$,\K%K@M&\U2;3C3W"'9')4-IY;Q MVD>;*2%KY6R]=%Z5@X8R;%(E<:<- M)2$-88F\9Z+=7FY:$*[JS+QX!.J%S\S+QHU^<7?PWZ5#/]Q1!';Q$5UZM6[G MJML)#;#57.$P3%YG%@3J\H%C4)F^RZ2QU[J0/[6LO]N WFL$T\0QF;@^H'KY MQ+YVD'9METP#=MOA[T. PFU#[L\/+#F$3$<%KB< MDY6H(4?(;*U;J[B:M5 $!IFT>+3_W7]N@[G/< K?B($:VZ%7(;AGM4KM5X[9 MO3S;Y44H\N\T3E>-?(F41[[)K[(BEYP)PM1?(YF'QFGJGDK__^R]6W/:RM(_ M?+^KGN^@REYY_UE5@DCB[.RUJGS CN/8CD]QDAO7( 90$!+6P9A\^K=G1@)Q ML(QM 1+T11P0TFBFY]<]W3T]W0L9I\CTJ[=)US+(C9RY59_.6\F@5FTPO660 M6=H;VR>63DW:_!C4WGU"Q\^0EV)5FV KW+]=_R99&O20:0/B#W7L)G$[25OZ MA^,JU*$2,L>XJ)V?G'N/!X5SY:3Q\T?IJ'7]Y?O!X*[&C L>G*5]VC1'>*K\ M?[AGAK;*L[;*JT7$%IDT@ I@ #5MG]%I(RT@L<69J#KCZ;7JKV/KY$RY&CZ:Y6]?+G9_ MUP9IV.%\,DKP=R'WS7_(^4J7/+0NB-%1R@>E]IVJ,+-'JRX6^Y,^SL ]E2VR M4];"R=D([3O\S-X_M*V65OQ-<^;(2J;F5D^'E8ZY9X;@6D7J%12+UT@?KC=Q;2F;9VL#PNBW1 M/9^-KJM\+3J?>T5ZJ^Q7*EU%N;O1/^\.&#.S\#I-KM7BEBEN1:DB;LN9M.5Q MHBV52IQK#0M:]79X9R9FZY9*;<"H)[G4>0"=*,=7'^GRZL:5/)M9_[K/RO-R M7P @)3>^TJ>.:UL6-<>_!=PF-0V'ZI[MN'GIND/GM;6K#6F>90 M>H#YDUAA88E(K]<'7,>[NV3,R44'^W9*'HV>WPOD [MR;7@F/6\= UN"G@V+ M:D3,A%T4Y>>^]NO4 MM/Y9!O?S[ MAU*_.-I]]Z_7<2C-,<5G6JJP681&)-=O_ 98L#EG$V58ONV[(3@D6"4HT3M\ M>IGSJ4D\^B1\@ J2[3M/H&XI8(D! P- T(F#L ^ BSKZ?ZX^S2VVT:G?:[?V$= MC@4&FTT:$$OJ"6IQ8;"@&M'W'7K7IJ[[[8+NWBE']1O-^*.>'[2_/^/#>MV\ M@JQ->DHOOW0>K^Z/OKC=*_-;H41-T[W>;T>UD464$?;&Q.:6'9('VP(^_>3& M3*"&Y+3(A/]RM;UZX79WKSLL?38*IT=?CL^_PH07(A;%2 5YSZ9;8CA8%T,N M8>*<\H7=[*K?V]WAWGTS1T][[>-J&GC1;MM#LZD=G7=SROW9)6T.OI^9[47$ M-.-&"]2)D!%?(;:7IJZL3KE<4&T"FO&IMF)4IY$2PY;9'3*$'=T ]INPGSW;4@#:;4I,?/^ O=?L@ M;UH&7(QV,8 -D]?A"$S;:N<\ZO1&, 'D- UNZ8@UO2>4+,+WHDGIB1IG2!&=GP;]^ Y^;'[13\; MY'X7B'+;)<6BDJNTG=U!"N1'Y_KJCUN]OCWKGI][]N#(&RU'S^+1% MIQ'@P/ 615D40,!](-3MM@7<*K ;3+0>H0 P(/M,N3Q[ A.##K6D 94:U&3O M%O S./#ZCMW@FY[\VG1O(FPY,$P3&@!QZ;U%[J52S.W"9/;@RC"<$: :8S]8 M<+TAHQ)AJKAIV@-WAW?BU=Q4U.]IIV>V2C?E]T[66]I->S&!=[]"FSU9] M6.$9@N;SUF[0PVLV@=?0@ST3?@K\)XV[LZ/OBD7;A?ONE5W[=G9SX'=;WX#G M**@X?7B;Y_@T2;<[_L6_^!?_SO[E,I.[8D=14"*F1 >A2OHNW0D_1,7,6$P+ M%R)/P19I6&Q)^2817R\_DCT;* M(^0WB_!JOJ(BX==!^&*^5$7*OY[RB>30?U;)P1SZVT>)9]6 K)7;0)@L.P4H,@:69&@R1;$%?^+]%O9JA: TG(I\#ABV[^Y ^(% MQ^$.B>&@L,R4L*S.$")U554"L9BA4AD9K\VT!#PL629F"!M++*.R"CEY9ELY ML>F,553>F)%@Z?9R:LNHA%?GQ2U<7MT$84'V8TV_?'SX9=_^5&K M<;'ZTRGU>Q^6^F,+^NKSM##G7H=61G$83YZ8[I1N'VYR]Q5/*1^J M^K5G%GX<7^_>%7E=%5E5-ZY<0HIR83SGJT][EJAG7=X9/G^],DFQDI/7BPN* MJ;.KW(YB9A0SH"9/O(V/99_>?OF>:^Q_^5K?OR>N[_X^?/2-"Y AI7?_5O/E M!+/)KT*/.!)GGSZH&4FX_;0^@,O^ZZ*$%V-MI7ZU7]_[9L#.BY7Y$/UOM?+W36^*/L'RMFOR\KGGVJG?5=B.D"I-GM4)!M\ ML8[3Y^M9SW'97C>GIV,1GV3TUZSD_:_65_,S(3G%/SHH'ZEW%_N5728)8"77 MM'RE_+*E/+6^@N_"3Y!Q4V83/0&?4E1A9L/T 'Z&#W L"\N'WH_OZCULG\^ MN'RPOE[X>P,@$TN>)E>56>Z?JR)GB(/0&8#. -0J7B(V7J-5U Z/CZ]/R]]N MNH3<_;1O_A2;/_9V@8P\:YNF9LL_L&!)BO0)NZ0=!2FJ,(%:P]+8_S!$>8SB M +-^8WP=WM2[M-%YZ P_^\;945"U0K[PPH4^M=Z#R4B#%^12 3TI,I$/Y>%,(0JO5/=OO[)W^J?<^WPW^ MM#7MK'1W(>KJ:L#1U453[D9.5"X.F/P8\^%"%KGBV7WQ%3Z')S_S:HWVYISI MG#RH&3W>.<,OP?(8.4LZVQQ_=;Y,0^U(*^65<,EEU* C7$LLQE52)(6]-WHV M\P7Y+Q:AE;8(I?@[:3-*F*#[ 7]/ZHSBMC"K[Y3,>9$$F))# M7"! _V(D475&^/ 8DLD^3$FGZ$(P.:\OZJSXRIJ!/@$GFQ-' X)+$9G&DH[ MZZ]%SJB)?+_$-%DZ*9Z^%3B_&2*AM6)*ER,CGSOI"SPXL_%^>W-[>? M&]=G)Z>GW1YIOW2]>5NRU&<7FW$&U?-69&SG(M.)'7F&OU'6QVUFB(DLX\DP MA'EQS*:C[.?!DE/YV3)Y OE M$PDN@:2^R?-LPHK*% /V FAF8DV&=DB_[]@ 3%""S6&V>/,UNRU:Q &KW6G5 M)#.Z_OQB^)?MJYN][GWM_M0S/'OWN#_!C,=GAZFPAYX(VU0B7%=4KLF#?G!U MH^0*/]L_Z];5T>./-E@\-1E@,,?D20-PF,^4"'3G>'K9%MAUT@,S[-*S\ORU MU!V&]0(\'>;^&X,5.?[K/[M?O^W_'EQWRS\_Y_I[WS\?_G O8-51\[5B6N'/ MTNQST$SD[C8>I1X\WG$E"O9,D^\J2 5%YJM0?N0(7%*)H&RD=3]8E%[R](JY M69$!:5FAG@@HC'+HY[L+2P=)U+TY:1?==KEXVZE?703AA',7*<$;[L@T$3Y! MX1$(<\H;KNLSI6N]D_Q44NQ73Q0#PS$?FD"ZH*O(:C*%&3Y!1X[MNG/)_D/] M?'MIUWL=97]8OK2,@S_%FZ],,,I%K1!+=F8),@9SPJ*%X0_<[<)\)QUJTD2:0"?S#"@%2-UU<20M-ITJK__^\]"3NW(, +_ML:=JVTPGWA* M1-*"-^\0X?#;K&!2ZK"DC%(D<]C-W>D/SWRF(O0:")%<_#8 M9);F\.(SN1DC[FU-S9W&,_$_(H$!#S+MO]?G^_, MOVQ/,]]% )G.:J"RM62$8K((DB>G91ZU"1=^=TI1(8I65.\:>J%Q5RR7"G>- MEE*X4ZO56J.A%Y4J4=^)MY)1P49*K9N+F^_'-[>'C>&%5>I=E>]WF/ YNC<;YN?_K&[NS.GWGX[?3@[VO)=NKW_:O?_XY'9).R6TS M97_ZSE^-S\T[_;I;5V[O[G/FT1>_778OX,Z9-NV^-RC[WSY7E?WS@VJO=^1; MI-&^*\RV>7MU_>U&/;XJW5S5U6_?R?!SJ44NX,[2])WGO>_']C?_W.R>]W7G MYE+IEN31.U2%(U0NX MEQ\]95_WM-P7^W?I_I[=.4NF>VO/K"BW)T[WY)=VK/UJT>[] MD$5-S@S):1F^9ASMJO6K@ZNN=>J0H5EANYLS=U8?OK:/?MK:]?/YD-Z=W994?NO,G-[\ZOP> M[IGMHR[5K0>_>]I5/&N7W3HSJ?J%OUOZ99%O=>W@U^?KES\]/I^;^4ZJ\VNW5F7$WU\$?SW/S2N]$N'H_+FK5;+_J[ M[-:PLTLN[E(G#E,'F:.8:Z2SA5M.SG[^@46NIG5[^_34,2ZO?QR#-;Z$PBVQ M:8S4Y1Z8,)FO+?$=.;>*!--WRQN:!&,T3-8AN76IX]1^W7^JWI\[YYZ/._O=>;3YSPFHMF2>\FM>P9L@Z"%_-%Y'P*&JVB/ H M:E#4;!?A4=2@J-DNPE?S"'B4-%M$>)0TJ-1DDO")5!]ZUF&&U8>R08E1#9I2 MLC5H6+!1JLIRL5-$5#H5@;MU'KB;K2)$&P.+9),^O!475\9C'"I06B);K$I: M9JA@UYS,4RA-UR5--PDW*&]3SC@9JX58RU(0D< O2Z(4$;%T1%01$+T$9H;^AHGXFD M0F1OT%QO&[(S)+1?6/YMZ1;!*+]->79<48KW'I%3TO+LP>OD MRDQE@[W3Q\5)U,Y:.?N]LJ8-2VWY4^_??M\[NG6[YY]MX_FFG+W0ONLRLI!EUG^1E5=K"P3 MLE.&V&GE1L_"55M?S$*OS=GY)A:"44(+Z]9_[6W M_YFE+ZN]^[CMKZ=PTM2 -!B3WBVH/;O>J?=>[M8_[1^K- M"KAI4#DNGRN.^W!S=72J/"I=K5(?LI5)U5B.6U6=3?[]=S;WGPZH9?<,"W>@ MT..S'1X?A#9"&Z&-T$9HXP[4ULSUMB$[0T([Y3M08=TDB8C"21-[2<$F$CH2 MUL9UD32=&?,FO-+3_9KJ.BO9.9HJ,';&ZY^>MT1QG7/?<]D(@* \/_0 OO/NW6)25HHK><.2[+/+=9WLIWQ"CL M-^A!Y;1^[ZKMGT;3^7)7&0#?E8'O5+E61KY+$=^M?E"K-I-6R)\KV<%Z*W\> M'1+=M_T?^S?TRY_/_?J5UV]\8_S)-K8*COBV-(=7JV8F/O./A2.>BT?^_>U9A1K]86LRQ0:J#40*DQK02]5FIH-SGM-K?OWG1/ MO$?]B':\]L-%RJ1&:]B\Z/VX/OAZHUT,_:N]P[W6P0&3&LPE4=%0:J#4R.0. M\-I=&Z\5&L=>T_SZN>H\*.7NS]L;HEQ>M9N[<4+C#W7L)G$[*Y$7GZL71N?T M^ZU3/[']D]I%]_Q'Z>< Y$5-H$G5/J',0)F!FL:KW"VO%1K0A]V!YW0595B^ MZ!CNU\Y=LQOKIEFIT/ JI][-17_0Z=Z6[HZ^G]>*][]S;1 :S&WSO-1(>=C" M'/?,Y=7-7*_,1@JW5\FP%69"2\.@A2A;]:#3(>I>XXJYI"X('-VC32[L6"=< M8*I W/W>[B_ MNFS=#MIWJL+],47<24)Y@?(B,2?,,_*B]&=7Z__^>E_7_.N3D_.CDV_5F]>' M7RU%7ORJ#(]/CNH#4]G_VCEX:.>4^\OF@,D+?D(9]YY18CSO8-E.@?$:!TR\ MP%#J5_OUO3]W6EV[MVJ/1U^^.0?E6(&Q4GMJ[RLY.+DX;YS5CXJN/[AV_MPW M^A=,5KS0"X/28FNEQ?;J%Z]QO<2+"_.J0J[MRMFY4J[E?OP^O_O9&A;2(RY^ M/^@7;9NV*LKMG\?.V>"R=:FZ7+5XM?\E$W$SSYPG"5*12>B>3M8]/2E5"B!5 MFK;/LL-E198FZ[]>.3G2(677>1#F0'#V3%CA'-GXK="]O?V]UR'U7/_'B64> MV.V]GZ!*J<%9F$*EBOM9*#!08*S)[;.:$SPO$!@W-Y\U]4 Y&=3OR^T[?7"D MD-P^%Q@L8J8D:ZR0#@H,%!@KBZK94GFQSA-%+Y 77QJ/^NW-K7VG]%J#6L'T H%Q[7PO_ZK:@W;7+^5^-L;GHNHFSS] J2A*DOLW<\9VXV_RTY<'-@/!A-RO/]!_;_ MR=G!M_,?YU7KAMS^.K8O[C(N+7,N7:QH%'+I=G)IZNI/O9$S7[OAE@1G3E7/ M&;-HY_!/[='J77G=J_-O#^K9YU^J[K09B]88BZJS>6_FUJ)"'MU.'DU?6:MD MF/3%FUQ+9=+R\,!NU>Z'Y\I)R:QW?CN?[UR%,RG;TH*%M/#"$E-MX<#AACGD%,B]_O<_=7NM*K_VS4"Y>=O4H-1$3Q108Q M,A>ZCK/+BBNU>9]FQYC''B2NW1!3BQ M7OQR\NODL'][0YQF]_3N^/;J0>.I!P]V7(G"O4WIBV]149:HH,@2$ZX2L9KL0U66!E2B MC[KILQN):4K$=:&33;A('=UPH3]V2YI(8,\?9B\*;S7@?V+IE-T9#?8$;#:I MP].K22W'[O&'X(:^[W&XC9*P01L6]20621J-(W7Y U0D;!O8OMF4&G#9\HS< M*'=;T^;F M*"%-KJCN.X9G4+<>]/X0B+\_IOMY:\8G-)S?P M.U7_=I5][SG=5JQ]];RB] MKV>7][>7$T)">8&0>.-X=GNV;WG3DN2,.,[==>UZ\+M4OKBO:V?ZT6==U>]O MVFUVN*,D*W,,5P%& ?KUI5%:^_2>.<87?__TM*CD?GPO/_XDE;OZU]WT3:^Q MWSMNE7_56C)F5Y;@3Q_$#/3'',IO%61!:/R,*(/K MIN^R!X0TZQ"08 U*K4FA-BVQ&/06$.I<8,%4V)-2*\"OUR$1(&%Y' MVKW:E[0RD.9_QL1:RS_O&!ZH6#HLFB&T),"6Q,$%&/DWSQ?M92S2KU$>EM&/ M>_#JH5C:'IA:$'"!0_N^HW>("]!V[+9#>FSIC5SU M^^S"7PN*2::D_M3[M]_WCF[=[OEGFQPT[_]\MX&D.FD\M/8/3:6H7#4?].K%3ZMQ67A]NDDN#"]'8_PF M!K[K ^X IWJI?'(G11% G=UC]T%JP(QVJ2<+?G>9.L0T$I@Z]@2P.-/69'Z7WP<] M#ICR$1X#G2XO77?HS*PV@7. A8%9'>H9#IMY*[@&[ ZJCV!^D'D^UPK)B A2 MP_?8-(,P@2^!>)@2HN*=(;B:!HA*VXNBAUV&9Y@DF!AQ$Y8'$% +R$,I%(5Y M:9>_?^*B0+=#>\1@+!_!-Y]"+H;&W7&E :W-[9J'[]5>EJRFW M/W+?JS]^.P>?CU^?;V,^="]# HPQ/+XG#LWWQ3_Z74O_E:O?&_6OQ0/M^/KD M\.+=OR59KWI+MK[MWMEPO#I*=T,6ETHIRV MO\(=A?K]XTPU2E0:Y1.T=]>TM6X,Q3E/>)^+=T4$VH$XY;*T9VY@41"HH $^\E__M__XGV=C:R)#@2'1E& MAQ_QW=&X?ZY-CWRF(O0*/ 'YDS:\G:"Q\)KW+"I@OK.&M]HET^ M%9[=W]'4/-?EX&LPLJ*:+R8P-]ILB$1A/!. +5AZ0?[]]_I\?PJ=+YK^B YN M,:%GBBL#,9;@4@0CC';P_FMNK(!$VF>RV/+<$>[)OQ&,/(7DR6F91VW!.\<> M[6FGQ")!>KX#P]5]KD?!,K%K$7/H&J[=.@S8)PD^;TRT$="A89O-3T\T!'4XM(%! M]'!;%9[Z[5M"'^&*#6O4MX@/;3%#VF9C<,4GGN.3ZT3CMS(57 "4O];BMC*L MPZ"VV\+)P#1B>!$CK:9\XI!1\Q$,7(U:X+>HG\1J#T.\\(D#LA&T75 S;,>3 MH(^'P):!H:CD+L;^WW%_7]S+D2N!"C)XAF?"T]$.5_++A'@X;J 2H_ZN9?GP MX!-C/AGY.H8@50*+XX#J7,<+O##"AJ[*0 $S5%C9$V/_EE1_!*T-=$6F4P7V M&7O5*0%M+FJ(U_+,"9$]!EQ4LO&]"I:Y-??5MKN,X<9XW$;1\S*V:]JZ+]B* M^1D=N)LS'F,L '-C"&*F!9^9)XQ9+F#L,?1RMP*%[($.O!;" [XWK!] MCS\YEKDRD*;INYXSE.<):YFY9KG-!422YXMMF;_(-.Y] QX:YB,0#PJ MT\#T&E)D>!5,PN@XBT36 /PAW+ $5!238<@#B MW/=H#.ZX-\B-NR-=.8O,N&%#.V>+4\L,!P$+=_SX;[QC$>F^1-, M\P.U?.I^8EYCL$KA0S#=\-[0,_8I,&.9B]EJP/Q(X ]6BT688A<2M_2:L%LPV<:; 7C;#U2=*)VY%:H'P(>/O!MBN[_ F4 M$;:G#YUA]_69V!"]A4=AM'"U28'X,-[1@D=Z($&,/_S")\DCCU)?I)Z&FX$> M((FM@,WT(7,>BD6)B1&XH4.;;=[U2)KJ3YR_B!"?@9^%#!F3T0;,!D.-S-XQ M[BOOAV$] &@8C8!9/(,KVT%;@,.FKP>J@4N=!T-G/_5A7N#EGP):&F($P,C0 MMS:G&ER"/0V2).?8ZL8!E&.V1)ATC%R:"R5.F]+C"^Q6^E&F8INT*-2VJ"+'. M156A2\/M2H?BJ8C.\A)=C9FB^7R6SL3"7B MFRSSE")VYQS%*,IYK"&N$856:,?S^CL?/PX&@SS0+=^V'S[N@@[%,/ 1X$N< MCZ",DH^J6J[5JM6/BJ*H2K%2+-?4&GRN%HH?B:85*M5J]0_TMIOO>+TU&+6) MZ9Q18SA6U#(8(<.#YC1;4<\ ?, MCKMH]-* M@$^R',HN!ZRUV*P\:^%"LH\]P&.MK&P (2R<58C(0^Q%A M+W%7OEC5 T%DFP\P*&"F0,3"70Y;Q#D&.3O JLU(PG8B=,^?7#TFS#N@5-, M2>$P(4$=D"4PI&!?V.;^:-KD&^GY8&[I^-G &&2#:'#]S 5Y*;9:F#@U]-&& M\NRH\HQ/:-^3N&,<%@_V'.A[)AGPO5^^/^J1+J.19#?,4/UB,^O#5]UDNJ%) MF7=<>W19YEGN3]6!QXAX?L(M'2E(S:#NC]M$S5D*S+^0"*-4FB\ID#&E;%M6%QA<$==E]DP;&$%]4X"KP@/U -W_7_I;) M)L[X,&"KG6,[9K"H,J8&38C[E('-0$N&AZ@DU%W0,T$B$(,9BDQ4@RYEN>RS M$ X=O^%R5;II *=^! EK$;9IS 9(G"&WS=AWD!2&& 13LOHL3H-=]RV#AXV( M;SR(Q.+M"N=^H'[93/%E"TZO[W,E&Z15PS=8" ST.74H,%91'*'+D@C5_H0:$H'NU>!@O2W+-T:N4-#O-SML< 4G9HF MIXV0T:$IP#<:>5 @:)M_A%R<[8;7<6R_S3<@>8I0)I?F:K";#T$FB 0C$E#M MU8K01)B*PM0 &BSX#V)^8:F2VJ;=8)JG;7N@W5O.1>8#*D=.<2 ML6-#JP3663$S-M-VV6(;(I@S!F,*L3(S+=$=F>0A([%WA>L(\[(!$YIR8)'R M0#]7>!L7:7O$\NF:\+1OH*NX@8X;Z"O90-\@>R0J<<>2<$+V@OI =2:# X4@ M4&"8"]1WA6J;XQYI&GBX'.;PXG&,P1+*?W%M\9P(F6;"V&?>=-UW060P_:;' M&Z2AV.8N]Y'@'@M]IO*/50EF6#^A4,Q3;Y\](!.)H&1]" G!W(>P+ N7X91F M553>AYOEP>UOD=NI1,EI:"$% QPI=V"M., 4?"MN9$8!_5UFRIH,4=(H2%$L MKZ'UP'QMTX87WT&(+,]Q;PL,LZ%D#RR&GHE7!;,-N@ 8>Z8IK+_1FR M1K4YD;MJ46-!CM!K2 M3N1-DQ#,_ANO'V.A'CHU9A816=+Y,BVV9;A'Q:-ZQP+5K#V,7F6,R'4_("C0 MU[5;'JC)]..(4R/W!FN2[W+EC>^T3QBEX8+$F3MH2#*A%8NKYWR=8@$[+#8J M7*C"H036?M@$W,;#HT:F/C?10'.@8)]/F12C580=6!I9BN.M6R/81!Z=.!4[ M29%1CPG*^8W%)#2I%#@3&3BE!V+Z- <*(QUY:$+6B([B)0O@M&6TR&*HEC=^ M,;P-)G*^I1J:>S34DUQ*N\+K3X 5QH+SP2"2VV?A9,X(I@);+YFCJ'4Y1LXB M,Z5M_$2=^V/@2Z0-I!3[.8P6P8[8M$N+LZ;$# %@J9;Q&+B/'HAC<&D%$H+M MT/LZWZ\:;?$RSR[SF8%P8W8JTT3927)@'0#!L,\2+0#%Q5X/FZG =]8"ZD,+ M]V*+F3W",<+7C# ""B314RW/MFJ"HP&S*EKL M %D8FA'$;0SET)?:L@%[(M3+FPBXM1N_Q>E;5AIJ?702-:M"YX@HO*9#)TG? MI3OAAT^O< F$7J!Q+[DS@E.9O3-GDB'8BSN&F,I_PB8?^Q21TJ<[D._G__ELK5VJ?IOLQE10E.BF3+J=5>$& B4/' MY,1^Q%RW.'=4MD%$MDEPL)M+Q#%@TI)T]"D'OSSETP]V;"2VW$29M\ZE#X\K#T4[H4-H+ M%Y]3$4Z_B:%I8.2$T=-L=>W9EN'9(AV%0\91U2.O58_GI:'N.!=/\$CT@ I; M>B.AI3YW5'3I<.)J$ QJ,_<4,]J?_CTPH]9J.*W^U-0H:$?$@BY01TV2^$DK M0IB66DD8H)P.W0<%,1F=RTO@C0+U X.-(U!/87I/AGR'%\3'G/FD&$'AH0O M%5;Q'/\P9W.*\#@^OL\E<,\ O9VXV1?QR*^5.FZ'G?&"/S KP/N<2Q^,IL\8 M.@AU#G=1@KC)R;T:'MT5G0F152EX=.RM'1M[8F.7[^"-IY^=$V7^W)$GF&T2 MC2,(V#.CGUK,W3XGNB!+85 :AD%A&%0FPZ">D"H\J21PK3'>V PV0)V(\A#N MI3$[FEV&6WHV%^ML5Y?O;O"],"G(:^Z8I-G&%V*?8M-]$6.Q]ORXJ#K2HLHW.3L '9X:Z\6-YRXK"O MB+/K.P;0B]T5GO;2._P8G0XKG[#-169$L7".QCA/T/#QSHW&%&B>%Q/(PB@8 M/*=B+L='-SCTQTDEC-&AIN@R*\)KQ+Z\&QSCG8C?%&H"/\T;[-Z+O*?L''*8 MJHGV^J8]#$Y7B[B]\,3?=G+'*'@M,.+Y'"W*$OD8GIA>?29EGXC"$S[H46@> MGT0.HW% 7XBA*3Z)C=WC/XC[GC(W\])-Y"7S&@]/@ M-C2>S )/"]X+#H-PH MA449M,?&D"7O :BUC>"+'!S-A]Z['LMU0L4!?^#NWX$=#&VQ7*K2@VVR],,\ MK;$7Y(\YYXS\) $#3HMP%Q]Q&"9(@OL-J^60 PQ")*6Y\70C^+U@_.U M*"2\7F^!MZHJP9R+, MA[G!("'X(XX0GKC/,@V+1O5$>6QE,5.(Z1BC@,8@4;$0LO//;+@ 9W'$6L!T MG&)['&-+0I2/LFM,.HG"]6O\XDB(;[1W87]XKN9PGX-O780&Y.2"%O(62V$8 MQ H&//#$_0C1&X2]/%?,3P3"*'DUKG)?A)DBS;/P9I:C M+Z11^)WK)CM"NK)TD,\*M4B$S^A6TH"5'_3F1%::IV!0U*&JVB_"U?*6"A$=1 MLSV$1U&#HB:3A.?'DR9/@\UL'G OW%L<9LL;>C7TG$==R(O28A)X+QKV:P5P MNBD!XV87_WE7>I(Q#!0I+Y(H5"F;8:>&-A,3 *T?[W$;X9HWVN9BZ-Y\$XT<<4CM\A/;F MCA:AC=#>T-$^%S.$T-Z@R49HIQ;:!B 5>JR65%1+4BEPI*XLHFFEU:N_;;I!E<5P-A-66M-RP]B%:A6@5IET_2=?P$=J; M.UJ$-D)[0T>;*5\>0ANAO:'03IF;>I0*MLS;.YM(NXU6]MK8*PQ+W@YOHE:3 MJXJ&OAU$W4I15Y25:A51MS&HRX1;L:S*FEI U"'J$D)=29'+I4+V_--/J)YV M)$L[VH.9L0>?9J?,.N=>M6E4E+5B#1T:"."L EB3*UJ<>H( WEH KUO36Q*-ZQX*I:@_1Q$TA M0VVBY@)ROX1^%03=2D%7D8ME!-WF@"X3&H): 5&'VV6(NE6[MJISMLLRZFZ^ MHJ9IC.K;.UW*@J/17$1S,6L:2%E6:W$G_Q"_B-\TX[?TC-F&^-U:_&9#+=)D MI8S^9@1P9@&LR%6UG#%_\Q&UJ$-,KKZ39L^P#-=S>$TMM(=3R%";J+A49$4M MH1,&0;=::Z]2F#V2CJ#+*NBRH2& C:;$!;4AZA!UR_ W%[6%XB"RX&_>[=G0 MES\\LIDECC8LCUAMHV%2B;@N]3#:.6'3<84E-M;GVUOU()-F<5DMH.L$\;^M M^"^7XXX?(OH1_;$*7,;1K\E:.2Z*!?&/^-]D_*MRH3;K0$RKWUW5>(/7MD=, M28])+(@.@@PRYG9J7W*EB$FS$;690FVI(BL:[CMM#VHW0]"G3.< 7&>>QI=L]*GTP;=?]6Y*DEF/W)A*QH(V.P6V9C)=0Y:H:%R^! M^$7\IAF_FERJS,9F(GX1O^M/>_P49C^H*^T> M=:@K\JW87HEBSJH8V]^39VZAR:+U@BRF4M;HE J")4TP'5DH(XW1Z< MILYMN3!."W*A4$6H(E33#U55J\T"=;-]Z@W:LATJ&>*J1QXINM710,ZJ6U(M M8N RHC>KZ-7DDH9.=<1O&MR3"^M,1;E:FZ,U(6H1M2E&K:HNINFOW9<>JN6@ MJ%NT97C2A\"9_C>:TIMO2J?.._FJ!.AQ1VD1L8C8E"P)9712;@].,^RD5&-C M6!"H"-24 +58W'AO^AGU0M_Y*$I=0F,8C>&LNB#G9+9"]")Z,X)>N82G*A"_ MV7)%EF1%C0WE0M0B:E.'6JU8XO" M2T80OH[Y8K; N$Z=M_)U.0S0'82(S1)BY^470\AN*F2SZ\&LS-%Q$*>(TQ2+ MUFII=K=]\WWNTTH]_-BS63NVWNW8)DPH1K4OQ\">9)<"L$O3]MDLK(3W_UIU M*N\5##!IG^B<&FH(?83^-D!?5F,KH2'X$?P+ZH'K!?_"!DM1KA4JN)> D-\> MR*L@Y)^*,_K(#8*UH?$-1#$L:-7;*92G^W% 8?2Z(>IU\2JST0)>P=D 9AZ9 M?I,VX4-L3OR=-_3SS>01UEJ(9($]0+%)^B[="3]$WSHF1LZD+6^'^)X=7N#X M$5<":(I[(E@-[F%7!.HKM7RM]I[UWG/"?G0HOTD5HUIP'TO+EV.WZ9K&PYSV M;6BS9=J#D$CA=X[MG89#23'A81'4;-9 MA$=1@Z)FNPB/H@9%S781'D4-BIKM(CR*&A0UF23\(L$DW WW)H_9\L9>A1_Y MMX&8W89M-A][AQIV4G)5E*P+C9Q7_>E=XE2Q4U7TZ4*M7)[0:=LC#_ M*3(U)AJ-4N7=O]<=AU+I%'[HN%+=8K[U_WUL("RV'!97QF,<*%!8(E>LBBM6 M&+CZ5J[YXEM4A.T6%#F,WT5ABK!Y(VQ0W*:<;ZHSA(B;;S'%LW]G9,6(0[1D M.63E)P+>RB&:HM:R)4D1$4M'1!41@8A &8&(6%Q&H"*5;?R-'($<@1_S[P;#$^NEU;-\E5M-]!66O,8'](&:=K]'+8_G4?&H MWK&@A^TAFH,9,@>Q2$Z0%:\:NP@@?A&_Z<9OJ8SX1?QF%;\EN52M('X1OYG% MKU*932F=0I?R$;6H0TR1);'9,RS#]1Q^)AMMW\VOYK 1A7*T,CJF$;+9@FPQ MKMX 0A8AFSK(EC3]>V1\P/ZM]H#&.]@C?P M(?D3_QJ*_4)*KU;C"W8A^1/_FHK\B5^=L MXDX4;8HD35V\J_GQ;(34B5SQ[+[X"I_#Y*YYM49[<]*V3N9BC69PG9G)@.:C M=+&/*3-*&&"[@<3/VEZO@A>4TS T09=B.'SZ@RRN04YR713T(\B ML2<.$X>7(HP#*M#Q]\0L7HMVY&\ M#H5_+'S=-U4IZNV4)4EA[I] MJC.^-X>R9+C000,8"Z@I-7U>H)H\/<"PAAL7':(+.@R.P'T'NU=2PS?,9@[8 MD8WZ-[S%A=X13QI0AXX;@N=8BFIXCVE;;?A 70^ZP*[[+FWYIF0:+?8.US=Y M1;B68_?X4%V?GXUGM\"404\"&H=]>* 6#(&T@2",R*XL 9/J'6D 9 .:>08Q M89AVJ^523VH,YX^-S8P%@'IV0&PB3,JZS8AO$M_2.Z*L':,TO\@F+3]:2M)2 M^T^([,BRH9N4.&QY[TQ)W0)[21*9OY_,\J 5(SXW,21V&'A12XR MC&"]T[@D;M.R]%/H^7O4A_ M>N0Q%Z'11(F_X+')*G_AQ6?2L4>6.Y8._??Z?']>TI)E+TM[&4./4$P60?+DM,Q0.ZIIJ?G2FU70)^MB M7GFVWLTU0* VN= ,8,E,==8$K.2KZI89@$KNFP/X;&BRYH(7\EK2'>4--M# M>)0T*&FVBNXH:5#2;!?A4=*@I-DJPJ.D04F31;HGDQ?\.6]9NK-AOV;<:0E7 M2982RRK5I=;R2B%5:<&Q'B;B8AXN5E(0$\4ELL4";)&A$CQ8$1-QLQ3-DK+C9RD]/8KD[1 26Q$1$H(Q 1*Q31J BE7*6V) "@$I>C77(;UI)3.0( MY(BL<<3*2F*N@#D6*[R#IY%3FI1TJ8>-G]D;3L=1XB(F@T;<9@^W)34N3R+B M%G&;3MQ62YBQ"G&;/=RJLE*:S;?STK3E*U#(7U9M:"/Y*GWLDUCVT2RP2B&V M5#PR@0?HL,8P9M5\!9JF#,8P9M1\*JR4L'*EPC?C,*W6GY[ MV8N'+96OG2+^!PM>8L'+5Q6\U-)=\/+9DEQA"<0FJQ/XEY*O M39:#5/.5T854E'+,2]>=<:]="9J=K>SH16YAM<;MEJ&SLH^LM!G< M*'X_-"QBZ08QP]_#FHT-JI,>E5H^*]GX0%U/E$<[I W')\Y0T(+75Y3.;* 7 MS 9T*])#WKD.@3AV.+%&^U.5 &Z4O&,D*1C"C90!!X3?#;KI,'!#VA65\ M(&T: A2XB1GQZ,Z^0;")Y.G]#DS-MW9 M.5\S[M?:E>FFQ"A/:2'QVB%J+)MN08FN^)7Y[4G.Y\1"+G,ZDQ_-$BMK)<_D MR:,Y=C)13*.87IF8SE I@M67!ML\,8[3C8(^5>(MU8)^2<5EDARSV&+)$%NO MH,10PF([L_P@'%79PL:R"Y(A-K*+#90;B(WUR(WEZX8+:!;+*#J%RN.&>0DJ MB=>USNT6CQ;G=W-'BW&[N:!-7FA(<[4L3TRY;BYI*?74IE-I$4K0M M7>E)+ 7;6P@D2G-GCMG2A'9MUW/%?DRA+?&:HCP>86>Q?/NO?OWC'H#V^E*!$CONNCX29_]42SD2YFR M*).6VUR@R,VM=O6I"U?QJ2E!G03_9MIE?3?4&9.653>@J MRG%G3%]*E5IT0!^H:?=Y1#';I/*HWK%@,MI#]*"DCZ%4+9]H14TT Y.>GFPY MN+;/@[+H/-8R-8];QV8)UF_/F/:0#6_+%35-%NG"5 JXJTM9W LZ7#9!!ZFA MD;91TG1CYA/=+2^;^&JLDI.AB4=&#A@YSC9$9\OZM:(C:E&'F%PK(LV>81FN MY_"4Z.AL21\_J0HZ6](\/?'[1.F;'G2V;,8\;AF;:4E.3\:TAVPX6W9[-O3F MCR@':[:*.E*[OF4J1M7MT,FSQU MSICT H,'261ZLI&Y%V1N=-"DU4%3Y0U>VQXQ)3WFR/96.FHRSG>U"AYLV0;Y M6BO%AAOB/&_(/*M*_$J:OHE.V&64^?G+6AZ:+?(IE1>?QV-+MWM4^F#:KONW MU'+LWL3IJE5HNAMAV:1_*RP^X XMU:PY]8MXQ"K[$[_H9'\ ;>GOS9AN9%\^ MH_'J$SJ2UJX^';-2'=051ZILKT.=T($D2Q;UT(FT7J-E824=.@[9LATJ&N.B1Q_F[ M7NC%R9H7)SZ>&6C"V>#_7/(D.C"2;T+YXQZ MH<[=@FH!$C;= M$/?/^XGA3K2S#YUL.,;_&\$B!,>*' =9QTA\557$R*9A9 N]3XB,I%7ZVH9X MM-Y/Z7\?N=*T/D6T:3S\^S_X$SZGFY0XC%"=H/$14MA+ C(IROM$\*!3YM4* M1Z$5(ZJF&%*A%.DE__M__XGV=G;B Q!'AM&A#'4[&I_.-LTU'$JZ.=*"-^\0 MR]%/C,"S%"O1QYS$1H%\,F9M.7M!(^% MUS@OC"[:KL&R$.PXU.3YM5GK$^WRJ?#L_HZFYID:WH.OP=K((L@>7):YE$["09L3+01#*D!!A ; )"/2J?P0\>5J-6D3>F+ M;U&@L2QIBEKC1R_A0_5_'QMB1&L2"6_@:@.&97D[A7)L/R((,#R89/W3'')= MT@=J^?3M'7LS/815&PHC%XQ/?,\.+PBNYUW(C MO/$$VVC)AN\V_D".0(Y(A_ M/QB66">\CNV[Q&JZ@>U.'W7:]\3G/G58PZ1-W5?PS4)'H%; .D%$VLYR Y!7 MB_OUYL%X+CYGLT;[W/;19HUVU9K_ND>[C%P@:1TM(GF31XM(WM31;A>2G]N\ M3MG1_[6JMU,G_ ]VKQ+)O9 %939].NM?"71S.8(MZ2JM%;FL)5@8.QOR+7T+ M\O8 3I6KU;CD P@X!%R2@"O)E4*BV8R6CK?$SY]E! ', JV58]E>1 MXPH!C !>!H#!+B_'%:'*$'Y7,J/I5W2+I7PU:U[(VXYM4I>8E(D85?MT:^0. M#?1+IE ]W409J"IR19WEF33;[AOI*]HRU!7D4D%!U"'JEIY34Y.K:FR=F/1! M+;O.R<5G1CW9,UYM-4U.TU MJD"Y*I=*Q$0\9GA0B,'1K[1+P5>=\"K-R?V& MGH+4''?91,QII7RVTD$BYC*/N5H^6T'6V8U=?=4J5%ELKSR=3L\I)>[*;[BZ M8S2HXP8YFWI!3E+T@F;("[J!1U!?%<92C-,/T61.J3<(T1N@%S.0(GK3@-Y% M$?NA@(?_TZK:+CR'6E[-W-G_6;75>3)OU4;JIEE20=,N[5YEHJ,C,L4+[R8B M3HT]FJP"N%R3"WAP'0&<60"K9;E4C"NWD"$ ;Z#7\54A-H5\ M;;YV^]$C#9.N35B\@3J&!:UZ.X7R3#^,B4;YYQW# VKJGYX@T,'N55Z2_O?1 MX"&70<(IR;!TAQ*7-J6_2OF*!'TS#=N2)=OA-5+?RU(+/GH="O\<2J4>O*[C M2A0ZUI2^^!85Z"LHLJ0I:DV6B"OI=J]/'/C=LQ=^LBI+3>@./$&DOXKYJO@Q MZ,ZHE_!!(H!AUY5:%,C79/O006I2G7WN4X=XMN/R7*[0E)*O23.M\,<: MOF$V<[;O27W'_LU,"=8Z:PRF@[2ADSP=+&\0OIBV3CQHQX])KX"V-D=UW#" %Z](8XZ5YP 0 SAF "Q]<=MEJCQ%?-XD_,#R8 M#F]@.UU7EKY^W0< W?LPQ9YH5=KUV[[K!;T(.$)]ZL4!"25WM"L2=D"6@/!Z M1QK Z)N. =XXQ@R^J9)UCMO!A(0TK!:#G$] MQ]<]WV$C)IXT8&]Q8:I,.5ATHFN.!'< <8S@1>Y2F2"UD!>5A%Z 8/' /. J M^ SOHPT##GN'#+4W)MPQ0S%W;;*8!@1^;QL.__X,_X7.Z"8L" MLY\[0>.C='SL)8$+0%'>)V(EZP!AZH2CT(J1/1$QI$(YTDO^]__^$^WMK#\@ MR!08&08L.&"+[VCBGQF!)BA7H\\YB(T"KP*.9.VO)W@L? :]Q",+MI"Q=UQJ G@>J"L]8EV M^51X=G]' [V4S3Q\#4965//%!.9&F]V<*D0\%D0"QFO]\^Z_U^?[\_3-1:<_ M(I4LV^D14UP9B+$$ER(88;2#]U\SCP=CI7VX&V#CCE!,%D'RY+3,H_929'&\ M5AX=> ,$ M\$=#UAZI]S><.$2_VQ3RV7NBD0%]SO-&(^D:X3&,\D?9?NA!^B M;QV31# !\3T[O" X@%^98)2(/RZX9U;T>$[8BX )5#&FA,+R(C"*M&]#FRW3 M'H0D"K_SY7%'R!4P79O/LG,@4OF+PUM) ]8$WZ.)R-CG4,AOA!]?M$H$?Y<: M18B$7QKAX_?"D?!+(OQSNT=(^.6)&D3\FD1-[.8:$AY%S681'D4-BIKM(CR* M&A0UVT7XYT*&D/#QA%\D+)_[@M:=^_B)L5=#WV7489=0=&7"*//@@'I4RO6HC3)*4L03'WR+ M^$WH;O-OY CD".2(?S\8EE@GO([MN\1JNH'E31]UVO?$YSYU6,.D3=U7\$TJ MLDY,!)G9HR S&@29896O+*6?2-%HEWY*>BY'IV?\>+!_+V$9L;^IH$=O; MA.VE)[Y(=+93GFTW.*D>)#G '+MK4X/_RF+FR5>EA*G)5053[*Y]_=X>P!5E MI5I%P"'@5@2XDEQ1BYG"6W83[;XR*=ELW;_,.#^?4. "-ZAM8?+=+'D_,?5C M4!])UHJSF0+15$Z]&P@!+ "LR14MKHH# A@!G&H RR6MO!GXQ=R[@4A:K)AM MFK39 _I 3;O?HY;'-_<]JG,=_469!UU9KA2RY3%" MT&4>=%HU6W)NNYR4Q?QL)']6?92[/1LZ\X<'4;(J+8;E$:MML&HAQ'6IAX&5 M"?LK5YA_9WWV]*H'F7A8D%K8$(L[7?A?;?XIQ/]K==YRW,DA1#^B?Y/1'Q^4 MDB'TH[=52+-:?G9"T^9MA3:N;8^8DAZ3XPD]K8MKU@40.TW;9X;,2H1K<@<] M5SZ.Q+4'N5+,UE'0=;G,$++I@&RI(BM:MEQN"-GMAFQ-KJAQ9T?3A]CM0)VGZV4;$XWRSV&Q[-ET2\:_>6GR6J#U&I;N4.+2IO17 M*5^1H&>F85NR9#L\?<%[66K!1Z]#X1^KO=*S>>T5.JJ](A4466(E)F2)L$9[ M?>+ 3YZ]R$/5O'0-=X6=D Q7ZCL&C!,()#5]RIHATE_%?"WL6>1>2VH:#M4] M/A+F2'>)284>#\^HX]%,/./0!VI!RVX'^BGUB<'[RJ\Q:DBV[T@P&Z0-71V; M!/#%M'61]V"RSZXTH+PAX"=B0K?M5LNEGM08LEXHD5XT::3G%("K&V(/(+ U MGIXATV]21H6RX.>P01AR:*9(O!26H#L?@6]ZA@!:)&.#+ 'KZ!WH,;SBWC?8 M1$%G=OVV#Q1D\\&^LGFKF\0?&)ZX3930RK\!RAGFH#'U\HR-I-GKXTF(,).: M+TTP$SLDN6QFDB,LH^3+<^$/O79MRZ+F"#%A[V7QF#;W,2L8=8\8ED4)EK.A\\[H]OP\$HY KN85:8GXWC(0/WW,58#YZ=_G@EH9RV$!:E!A M5@OJ4I*@GB>$IX$V'KUKM[P!6S/$)FT$]='6)5A6FN(V*_+,/+[)+TI^P1E* M7EVZ^-\R]IA[6DAPQMR?GF"*ZB13E):O-LESU:27R_S\ N,,T5=!N9P8\)Z. M[.7H6\C:D9YN)#H]3/( N<-2J3 O.LP(W,J$SI)U^T5ZN$*$O77&,PBT9V.- M7H"W9]L:K:$3TG%2#V8[0^]7+AS98_/%HT-=!BB0>2W'[G&$S;%]M@5+T7[, MPHE?F:P$<\PR6%-7J"_G7,^O"Q#(3,U/ 9V(9#3_>7?WV>RJ6J%04\H%:.A)B\W:#G%-[:YW#_,Z7; M\;NBRK[,9$>?ZF)5E0.).$'.M6HUHIYXI"RZ;E+B,$]O)VA\Y(EG+TFB+OJ3 MN>VU8B0*5@RI4(GTDO_]O_],%'&?B9<(-@DBPPB*QVO<']VF.5$CGK3@S3O$ M')"A&[JO:Y$-B)W11@,;N*0JK+R6%/G,"#!#O1YYS$5H%/B_3O!8^$U M1Y2T#RX^4ZP^F K/[N]H(!C8S,/78&1%-5],8&ZT"3SQ22A$?.M$ @YI_?/N MO]?G^_,6@46G/[)B6+;3(^;$BA%$8K((DB>G M91ZUT[)48:Y_YQRY9@$ M# ^=%QCE\CH0_A[0I1'2)9"??R_;0#F'98:V6D*(\RXP7S]?NDI%,..YT/\ MBN/?B^NLD>4DND!LGH7[8@XXLRV0Y9;GV,+G$&I+[H;"?WJ\H7K@CK:"N$91 MG% &:V6&N^7B?M,(_0HH@BX:".1=SW.,AB]T2J#@OMT#TDE7GJUW.W W=385 MGTSZ672D?I,I0NB"$&Z$$(L+P0C"U7QMTG&=H$U?>V++*2ZD4[C:.W3"$)MX MVGC2C),9P1;> ZZJ,1M1$>Z$Q$%$YO%UE-R1"Q@3&MI.':3.PDXC=X#@O\1OCQ19Z/X.\;0_0J2/CU$%Y! MPJ^#\)5\-397 Q(>1GC=MQ*?]0$Y*$R=57[1E(J9X]N_DI$=Y M1DN69:KY:CE3+,-VD6:H@XC8;D14$1%+140A6XC8Y_%P2\9$O"F6%DPD.69A M!64(!^\%4>;! ?6HE,O(3;)(4L02'WR+^$WH;?-O9 AD"&2(#X8E5@FO8_LN ML9IN8'?31YWV/?&Y3QW6,&E3]Q5LLU#:_!5P3A!MMK/7 C=\Y7G8VLDG]%:&)T$1H(C33#\WX3?#-@6;"CHYM3/,^?[)>FL)] MV2KBZ$PY/^+\[M^#W:M$$K.NUA!:42KAIBZ4Z+^3+RRN(N6JU M[92)!N(,/T:2^V7<>$V1W;<"N;@*>R@#RW1)D;7::BJ9(8 1P,D#N*#)I6I< MB1,$\!8#. -ZJUJ1*TI<(31T,F9-U2T5$Z@EN6J-]K9CFY35HV%"1M4^W1JY M0P,-]Q2*QTUR4OJ$<-$*QBMX*RMQ& $5] -B?C-*GYK7?"E MNX96/9:D]QWEDA*WX"-H$;2I VU)5JH(VFT";2%=H%W<,2>7J@JZ2U,V*P4U M/\>'G4%W:94W>&U[Q RKVJ#5GJS5/BEU"B!UFK;/BINL1(3.#7M/UB.U\@$F M'I -ZH 6%S*/\$?X;R[\6>!=.>Z$$L(?X;^@4IU!^%=DK;P:X8^^WQ5-:3$_ M.Z%I\P*OR:;/@@1.W^;8Z@>U\LU>Q"/B$?&(>,S(H-8>3+"BJ5NZSKB.J5NS M6_&[AD5=5^I1SS%T-^OY-U-GT&?>@,,DAPA-A"9"$Z&9 M8FT3\V]FUT>9V?R;DF4WJ8MF= H%6<:6TD(IKR&.$$>K.;Q>FK/=@YC++N8R MD*P(5N=,>?FR&Y/YJC,)E?QL/$MF/'G3FMF5WW!UQVA0QPU2$O6"I)MHI:*5 MFK756BUJ&&J&Z,TL>N/6?43O%J,WK8?;\6![:G7;A>=06_"X4*ESYT2,-D[ZIFX8%LL#;*91CI8=XDGW>,3P8F2[:&E V/*"R MV?RTH(!92E>-I_OY!%$/=J_RDO2_C\9"4\!B-(,L39)AZ0XE+FU*?Y7SF@3] M-PW;DB7;X15&W\M2"SYZ'2JYQJ/4@PYU7(E"UYO2%]^B4D&1)4U1:[)$7$FW M>WWBP$^>_?PC55EJ0@?@5C+Q[E&7X(-$@!%<5VI1H&?+L7N2[4-OJ$EU]KE/ M'>+9C@MC9V.:N'FA7K-WF7Z32G\5\LJH W9+LBV:\V 6HVWFES[QKUCA4@+ MTSGU6P-$SOMI'OS42KXR@3]6]FNY^.L[!@R<]6>,1$!]82X4YW3?A0\NNVRU MQ^B,WB<0"BVYL@24TSO2@$'JWC=8+Z'17;_MNU[0'9:U%WI0S)?F=R @I.2. M=D3"CHQ:!R(T'0.N1<;6&$++D@HJVON)]AB%"*PPI$T%E2+S OV>^SYXC/-- ME-*L\_DW@#%S/! I[L8 'NQ*/?,$*_^67U1"2]+H#1)_\2P HZO M>[X#8^D0CS&D8;DP3:8L 4Q8OWGV;,ZY\-ECI#&"%TVN 1^;QL.__X,_X6SJ M)G2/:6F= $RC?$8,5(&BJ2CO$]'%= N=4+4:L6(\TU F-5_&_62__V__T1[ M.ZMU!JF6(L/H")5(X[IDF^8:,"_='&G!FW>(.2!#-U0]:_GB*(W3SBA=4X'[ M I6\!LB,?&8$F*%>CSSF(C0*=-><25O>3O!8>(WKH:.+MFLP&;OC4!.$[0-E MK4^TRZ?"L_L[3/=DG Y?@Y$5U7PQ@;G19KV@A8A>3*2.0UO_O/OO]?G^/%UT MT>F/2!;+=GK$G%!<@TL1C##:P?NOF5[-U)I]N!M@XXY03!9!\N2TS*/VU@A^ M41'J!7)BZ MSV&!WP@_+KH7,-:#WQY1@X1?#^&5*A)^#81_;K<3"8^B9M,(K]20\"AJMH?P M(&H0\2AJMHCPE7Q!0\*CJ-D>PC\7((2$CR?\(G'XW!?T)L?-\L9>#?>07N$V M>RYF+6[[^,\[57F7*%D*M547S:S&[2T'C38F&IUT$U\9C]*I M\/G71SY_$?!84.0P\K'QPB,MR$IK9*7J#"'B !#-5CF9N;+Q!--HR?),-5^M M98IEV/[9#'52C8CU"-?$<9(YF%27#9-897Q;85)<;:GGM^)DOT.L-D6DK&2Q M%794AM#Q7JS&\T""BA@NNZNS:5+$$Q]\B_A-Z&[S;^0(Y CDB'\_&)98)[R. M[;O$:KJ!Z4X?==KWQ.<^=5C#I$W=5_#-@EDJELXZX[@V>Q371H.XMF47NUKV MV%91X",^$&>SCGNO^ZS_"BL*;00T5VJD(#17!,UESRI",VEHQN^N(S13!,UU M9XY(JMC5QF9]0;V$XW2!*03*[&E5I*J\K5N&QE\:]MR0Q:5F5-338Y MZ$8";MD2>6L 5U+DE2X<::>C'M84F0!KD#QPT2?@B>K!-,^RP N 2K M?FTU ,Z _HD SIK:JLE5;46)EC=A1C.@YZKJ8M5?4Z7.'M ':MK]'K4\OKGM M4;UCP52UYQ9YW81FNY_#,0>@X2J&2NI%+>4DN*'$[CXBZK#F.LH"ZHES4DD5=!O3$ MC49=!K2^:A4#*],[.^7\K$LDL[[*W9X-O?G#0RI9F17#\HC5-ECE#>*ZU,,P MRX3]EBM,1K,^M]"J!YGX=I%67E&0T';A?[4IW1#_K_8Z%6H;XG5"_*_#JYIQ M_%?+E7\[3Y7*&-:]LCIJ3'I#Q"Q]?BNG4!Q$[3]IDILQ+A MFMQ9XY6/(VG]H5"62PE'^6TD9F?T <3L^O;E*G*EE"V_&V+V;6[@S&.V*E<+ MV0JFWBY7L5I^ZFS21U[=>&U28"EEH&/KI$_G8#+^S4N3UP+%U[#&)<^5J9KG M+*?!>WEY1<_STG6'CGH@&>Z<(N@6] O$X*@,^OAN2VH:#M4]/A#F3 \JH;.@ M"58ZO3;WF;#4N]N!?DI]8O"^\FN,& M449D0:4-P!L1$SHL-UJN=23 M&D/I+^V)LNU-"FC5#>']#VP,B1>%$A1C[QZ7H&\9CZP/?%M U&MGOQ_L7DD- MWS";.=OW@%[V;R"!^_3DFGZ3\JFMCKH$I H-G.FW]UAY>('/2.Z'\8BA^7O? M8!,,P]GUVSY0GL_D&V">8>X:DRC/6$R:O3ZF=(31M/%D<#YC %\FG\ES^(IQ M2&4NAT#?7=NR_O_VOO2Y;2/;]_M4S?^ \CBOY"J()KA3GJ1*WB:ZU[$\MG-S MW_NB:@)-$3$(,%BTS%__SM( &MQ$221%4IVJR!*67D[_SG[0+8,"'/D<;'RM M7FO/?2U4:^F\;B2G*]$VW.G$(;]+%FWD!M'FD+ M=#K8._4.IL%>PEQ7>JM >*KR.]RYDDT3*]1 MR; (7]HR*"./GPVU%^>QDKV,C]P@RCRB5U:)8]DE \[O/P*ZQAJWK;C&S'YZ MHX;]'LM^VLNTSDE0'(-TWX*#>/5_6XD;F8K1>6NB$T4[-V3Y$Z[767(@"64K+)14W",T5YY?C<]-"\;%X M>7QLBTZ U0ZR=0,I8@PEC%3C1:P'.UG'2;8+C_%HM+1B*YY2LS]]6NW?_U8Y M=GK MT?_)TGY' LQ0;RQNCC4:J0#+<2"'Z8EZ+;\6\R'$ZN(=QPNKI4BCR4G#J9%@ M@#_5S%I.K;6&M6G,5KTUM>"-L$:Q'/[\XA_?S]]-8>U>RZ^)KC"*QR*H'&.C M+FD80=IAH@^#/\B%[R*TI[#*3J%8K(+DZK+,H_;V!?:=A83WD-MWME78NLND M=Z/6^&FKTAM?0C. 8YPS0CR6"I&&1XPP'FA MS9((1>]P*1K/N,&N2$:6!#:[$@%*7,V>)V&<2!@K<" ,9B "]' I^HK4 >\3 M;@'?WDU(:E6-6T*?$\+S?]@#:A;V%SX% JM9+AJ,?")=%-_!K:UD7H68AV?_ M/T "T,)^%SWVL/.C1JVYZ@O B>?SA^'#M5@E M):B95*19&L6W?']&5*%$ $&0L8D!,B6ZIJ#6:L,HN)Q^@7< IN']5^( ??I[ M\_3G* 1G)TSCB*,LN;Y+#I2UI^>;B_E$8Z494]:I]T"9;Y"]#XW*#\ AF!.? MHB2Q3M,T]@<9&P5 O7?1& AG?4LC]\<(G@4QG7ZR//J:\8'VMWX!.68QUV(.#X_\_T)P; M^L!QI]Z?68*8^O#V[/O[4\0,8D)9G$>(C5,! 1A%!?!>)=-IS[0T$RBRYYC)]A+65IR]D.4X;REO**:> MH#D>HSD.@O!2^&$"["2@5;+;P^,874IT'+''80PSHVG!PUF8)9D(GI3!A.5[ M/[^XZ'4Z_7;K!8<>-P2K@0Q\B?8Z4F<:7'YB98D<9@&'$*Z S%&<:$L#=^%O M6%V43<."%='$EV-RY4%N267-PV+A8Z7 AU^&&(9%ZWX@79&AG*,ZI2L?EQ"Z M&%O7?CK"RBZ,9B.6! XF"A2L44=9@RP!UF#Q6C0HW#A*E!X+_;RLA"_"(L#)4RZZBG6H? .7O[H D(U9'IT/T]0\)2JW^.H+V]:?&^J7O1>A)LJ+B7$POB6E,+V9DI*_\\_^IUN M_\WT.*;J3O5%J69QMI%8F&:N N;W8"R05=@\R500@HD/#88N2V?F!L%(8[;! MER<"A&G9@L8BMC44J%2167.> ,H?\V^J/3_!ZBD<2%E+19ZU]JK^)/=+IOT!R@7YTWK[0)CY59@ (CR2;0#A6J0#M^;)$)P197\@;G M53#DFJJ!JXFYWI1$/J8K2QE:BV7&CA<]M.JFZ,$4/6REZ,%HH8=KH9U6/\J5 MFHY=@3(*YN@5>>5'64*&GJI4*S5(Z,U1*"J,F8*UB.[CT IA KJ&$=2+[DIQ4TVEO,S=>Q7JRD)@.7B_\($& M$8 $7V9+ 5TM#"C*.,R#$G,=I(,+LF(8,2*3"=;2)?,HHVH,G\VB<%YXD5 2 MPBHI"&G.8-6LJLV\G8RB+/"HPX%DAQ5D+GVH!M(BR09)ZJ=9RCE9=AH+G*(0 MF;Q MBFB13GNR9'*".'>S0 $4^+$8,J>Z)1F'\':(=29>=(@H*NSZ,IWNAR.:>X7F M(%4B]#1@M6A]> &F89*.P,B\' ']$C>(6J=]B5:R[V6%&.'161IE%]@;X6N5)P:/8+$SY1N(OA3??:3TC@?AW)9 M'&73KK9Y4N>.S9XUHU]K'^V&(:QV3J3\;ZH4/F$O\!K(BYNE$C2&\$37/B/!&U!A1\[P(;T2-$35[2?A5S@*B M,-RC(F:;FWLO3]3J]?%K.CIAV;P?&L+:;4K O/'BSR_:+]9+E7JML5Z %(6# M\RI[5*/+/J#X/HJEM'[C[W<^T/<[Q6<2F\#%79KY^>)BO2?3/-8ML%O'WDGF6;=SK?--N+T:<3I(>'&"-P=%[B]&4(L6V]> MXMF?,\*B8)'&>EFD3X>S[!&'X%?IFQ:E2S-AN\T;!B<<>UJ1+]56KTMW P\[9YYJF/)5^>9]_4B8WK M&O]=Z>J=. BPX72VL)3;CCL8X!X^<&W':6\'NEMU<0UT]PJZJ\+UJ&7WF]U7 M!K &L'L"6 <$;&L6L'.L_:ZQU-H.V]X+4\7IV+UN M:WT+M!_6M$'=$Z.N:SDV#.H.ZK:*N:_(Y=Q,??MK=_XL!A=O6G"RP:_^XO??FM+^-T#(\?@=]_P MV[*;O;K!K\'OGN*W8]>[LQ&,'8Q WWDNN(DU[R O'2++.+;3=$RHV8!NJW)Z M3NS%1/P,Y#;JFIGDA@'=UI5KLS];<[9/4>:S\M#1HX$,Y=!/7YD(L_$0=X$C M5ZY,ZCE;JJ/; ]/70';OE(B)*!OP[BUXG67!!8->@]Z=1F]KM@IS!Z/)9_B% MIDQ2[41L9:+3>4LFEKR#?'20[&)WUAQCV0.#VH#N:4'77I:P/D@[PB#NB8M' M[6;3Y"\,Z+:K6QO]O0XD?XY"&%&8QE$0X)F7OK)9YU8ZF"CRP_W"+6XC]G1^ MX[8GN6YF7O;!BXE'&_ ?,OCGI41-2-"@?__0OW("LMLT&WD8R!\"Y!\B\'OM MV1S0#D;13[T_LR25GO7A[=GW]Z+%V$ MB&?YX2KM]FK6:0)-3V2,.ZICR[&\DF$F;6O>X)LP]I_N,6@ON@YYF,U^K?F3 MUOZJC< (O\-3TX,I:(&CFL0^D!W6R_(RVM<>-3150JHG6W";"17FHE6E-/8L8+JOYKT97=R3"2T#X-71G MP?NI+P*@8S0<)D"BP6U.RDXQ;"!;,6Q_88E70C5>M4=PUF*&+A_$0P%VC;U; M3JT^P]Z)?W,/YN[7NCESM]JUYD+F7MKJO5F[C@RZZH UQN[5VG,9^Z[1W3.W4NHN9VEK&U.IU9^[KWM+-7.<)AOFR9:%@ ML"W0L>[H#L9MUAH/8EQ[12#,2)T[%GTC\N!>!\G#C_P]-Y B1L-KI!HO["KL M1)F/]?I/:[&>J@>6-%JE[:3LIY:CC9)^_OUO^FAG@[?*Y-.F,>(C3QID_5W* MXP$L^(]C,82>3T1P+6X3-:UNO]8JCNL]*J-QJ-?R:V0Y%A>CQ$A7T!"R6-10NT@X:K%GG\#*/YM92JX8(#X=;+1EAWQ^2M7DB MW2RF4<%S3KNN65OB2O@!/83:JR" /G^>V4>>V2VVT- T+_3$6M5/P)Q)9'P% M8\>V:%VR-$EAO-CB)YFFV.0P;_$T2T=1G.MW<0FV-V[.GI 1-DT8T-VX\![J MY])\T-OG$:-"_2[CL?4I$B$;"^K%,$*#(H,.%KSV55Y%P14-%5:W'&CM\;C? M2793^ Q=?P*2)4NFX4EL-I R1$-EF(73K 9+$L4_D%ZNDDXQ(C+F5;2+JV0E M08M9K-A,N/ 8RUA8;&!H?,)-81$$_@ 055JRKF&U82#4?3G@4$J/?;URR-&5 M6LL0A+L%09^-Q9?=9@EYN\3\RW9/8X5\G+'TQX,L1C,XET&Z MH?_^])LUR/S .P8 4TQE $[+6%$ZBI,G-0$W@;RST/HH!W$& MDI$S[P6'D\5'WAI@3A22(I<-UA&N&(ZR47\S?9,N.V]8'I/NAH9*L0++DXZL MMR+\@>MW.I:Q[PK;^EP[K9$>0'4 ^+S$;@A5B(8XL4(QIH6$ 4B5TG%0$E%]4HV0;G ZH2[SOE [WZ14*TLEB!6!3=4D#X! M$=]>W&(AW543[!!&EY)<,EKD9=*!O'=K%QI^,:=YY?J^DO4 L8^ MK%OL7ZE.&M!$@+5B#26-&WR2\J5Z37^''/=;F'6&PF^"[CN;"'?HU\,2;U\E MT&NL DAB,22F 38&*H/Z$*X+&B F\:78$;6'TH^P)"*F@,25'P5")W", 90$ MGE3"Y%K$L0@+Z]8%[0@V,XQE+#R9-STM174)YX+=*^ YMK5]4*!E&Q@R 2G! MW,:B$3M1=B/Q8@):W1_ZK@7VLLB"E*>1E!W8H =3,,Q2D"UC/Z60B$WQFX* M,3PM>!U1W" 0/3F 4:*?#AJ8Y!&&K_(^R-!/V#[QPP00)T/WMG*9B$%!7"2" M"A61(8*43;+!GV2-1)8+@C8B^[V8MTX> 9H_],?9V/H+5!FP9'!+]CN6=-'J MP5KX,(->3OW'@ W M(_Q#C2'AZ.(T)I7?! Z14J )>-VXJ$ ,"V,5"#48Y#"0-XK?J(O2)L-5 V,H M8_LM21'8EP"*B,@,[C4;<2M9BP4+(*NH5LEN2E&N83P-_CTX>0+FTKF;1@,4 MY,I:ZI&U!$ONV86-B=P,:XE13:0-K']",5M7>TOU.DO(OB-7* M,A5WH V25:@B07 !^L,0Y<=40^QP+)K@E/51[8GM#YAX(!-D$K [D2! A3J M0&!0#0H1'LI4!0G4T3'B 18OR6"$*#]J:"7PM>G1-9IL/H?%&L:L.I/0(2S5XZB M4T_(V$J&HRD/UP>@)-/I&-&RMX$.>!$]37SOX$3F?!ZBB(8("RE9KDG![&#% M=YK 2B7Q=,*1%'CIV/5Z78M$L(F7R[N9;HNTD\+C7 ,#[;1CSP\R#H91CF^L MK*42_W[L@J9.,?!)+$ Q-V7T)?K,Y'#(RE6?(XS8I4F*"8A9,"$8NQ@Y;#HT M-9IU/EZ]903XV,_&LV\W0386><9&K=TN&R*^0IXH.IX&XHPD:W#2BUD$F>Q: M\MN<\XM@6B@Z#@ZO?[!)PP+; EU$K V2:LJ'F@,NQW,L;QQ8&N<,B]!$\FSC (0X[!1/A>J8#1 MTD?K7]X4S@#[,,6X4'B"N 41&I+42$<@JJAA.H. X8@ES#"2^XC3+ MVR0G\,)D3F+3_^"N/\;'^S.ZS%(Z@* M;"4;SR.#(2Q*2G)/V;H&RP]HAT)"R:=2IAV12>>WI8W\/OJ28F/1\.'ZT%-V:=E_S3HC;R)DTYW]VM)# MXF2"S F% ;0APM-/,%@BYL*R] )GO!=0P"E9KK8BYUQ;U"XKI:84+8T%%6ON M %Z/(G8[N,:,Z+\0#/[L3(F1IZ:I=/+AL]NP'FS*2R:J1DL;L!DWR--292'X2Z%%I,B+ M6[71:RLE"))<0:O48('1@Q-F?V!U"7 HL4$>D+KQDY1+2A96.BTH;*('AT%T MK2HIRI(PRB)PG1,G*!:GX,H8S7 (,E5R8'M.\0LU.@E$&++@G,U=5+Q)KDFY M ;>FH<+97''"R0M-SZ.:%F'IUY8R%U1MFA=(4? 3N@UQK%C8!&_%^)H->O9: M7G%0%'H?9F3UP!H Y\>WQT5*+LJ3=!X\'403)6T5[UH8]XS&\%P*%I@'-XKG MP3I(28\CI= 1%AYB'E6)8#=ZBE"J%$Q+XHVEY*?4Z&CE](H?SK\7=V>+B[AW M3R*YD5'&R)X8,([B2H8..XD+"XI+<,"3O4X5MB(P,)-)Q.Y ZH^5$J4!@:NK MHJ-*"ZG[%%H%B.,9T$M%CMUG$)97,NUJ&!+&3; %9Q4!D*B.DFE,J__C,B\ M5D3DLL]Y \R%$1538( -!XK%BRI3WH$TRM)DH#(L& M$N970(Q"DU.-9\"&TB?)B.8G/P#T]=EQC0EE>6U"H=AA(;#""GFI9IV"["(# M@?KV756]H4; -1G:,!2DHY":'T>E?:A-I1PEVSV<^4#A+6-4)DIHYY'/B+\% MDH)-/CS1!L%L">3 M0,TZX8FZHS *HDN_S)WP+*K!A$3*'WH) MY$MHJI0B0?<7@)%-;J%$"5BBMP+M5G4!DK/XP+!,$ALLR::U[67ZU"IA*\59:4E"4K M,'XJT*5 0#,)_7$_BH(3V*K>=5+\TKO6?.5M12Y29:J-!OHW+E%0LJ[PK*E M.5T5->@T3N*598-=T,K#![R9HIZ\P']N.8\?YH5^!U+4L^OYFZ;)WYC\S0[G M;^ZNU1B"L\4?'N6./7_'GXXT4P3DFUC^D:TJQZZ?/*6T4#-0O,>[CZ S*2:) M/,E_T7LM*<(\(+(TRB\P ]"5"I]HNY6H9TK) RS:9]9+XWP_5U MFS6GN6QW&PU'6ONHPG&][D9R53J>/\43$@IU.N1L@C+"B3#\-L,>=8,B?5N.+YO MD&!S<+\@T:N2QXC)'1>36Z5$P2GM]7)*HU7K]MA9S[+=+5M.S=\YO ^*IE'G<*W_3,]UC;^S2B/=1^9VK#[W65' M)ID#LY\C>#>C-]:/W>Z0#D5M4'5<[3WOU7,EE!=1RDAM@]7EI\W.K. M"_U5F>7(<3JVTW.6'1=\D"+]@-&V=2F],MA:8%8XO5FL[:7-GPOMX@,.8^_O MI\FT^5.U=UC^-WMVK[E4_!M3_]GB=G29>>4[;G),MA?6RI1VCHY_IAA,!SD.V MYOT:]!/GH$]/#F4*N2WB1DG*W[#15Z:>G[BTP3M^Z?BRH1TK6NXPKFV( M0(=,T,A:G4#L7\D0 2:L$8!0EKL93&]1H#8RNXIX)Z#\^[SY MW[?;ZM2%E_JYB\OH0G]/T::<44"OD<@YCH;'8+^I2:YX7B8M4/?.$PIM'O&2 MLP>7'"B:O_V(HP=+LM47P.E2^/EV(U/$4KO_)*\+O/"V%7-V,L&&:"/H0Y,< MCY"UORN7X*R(XQ@Y6\I9.DZGT.'/S)J MODM=LO (,CPE+ MH7,4.&CS4_,B,!,\8+C:DXBP0;PJ/.S#Z=,!8\::V7\ZB M#7*9:9OZ>:'ZL"M#AJY KJGOG7%' =YR9;.NOC^8Z%^#=]/\WVS5SWWCSAF0?ADEOV;;>WM"OO3EG?+S:I&1].G%9;* M=U]#XV$H/=Q3RK9H!ROF1]P?*;#D>!)$?- +O('G]5JIN"$1$:@#4(A3OG[[ M7>T2@&("KJO]EFFS-MK3E2;VLK?@J/!"?M $Y8V,79_GK_;2FZAMGLB$FV\2 MJ5WE?#[J&6%.S8*N=ZR2<(BGM-[QN7ZN&G/J1%/4<4OJS-O49/^^W%_YL_S\HZ['?93?;N#Q:^;K MM:?X7K/3,H1_$L+7S:?A3T'X;JWG&,(_#>*7?L)@"&]$S6$1OG/'1SN&\&87 MBD,CO!$U1M0\)\(;46-$S?,BO'&@C*AY;H0WHL98-7M(^+7LP7!G<'ZWM^1X MR+P?&BW?;4H4FY,XK?7N3M+JU/9KJ[,O*M?,1='O,[7']N"6__U"Z?<-;&=B M6.E 6&F]E%AN73P?2MSE6:SYU(F]HLU=V9/=1LFFME1<.V(>JUD^R23)]\42 MX4:WT]SV%C15(CU;@?F$$[_+'=JV?'Q&^R_MT,2?*?AWS3@PX#>JOZ+Z?XMB MN4CU&^]QQ[W'/=M*O%?KM?8JXO(]2D6P87/8.$B+I.0> <5A3OJ_4L0'[#T9 MN*P)+@V&R[$Z)+$$3V+0LW7T[)U6:E70TS;H,;+G'NA9C!=C[N^XN7](>=<= MXHBU' JQRMY]V^"-_\%="ZQ8TNX%5C(2L;3&?NB/LW%RA)N@;7(_L.WB_:EW M/]MX2'.C&QUO/#*YCHV.6TV[U>]N9S6WZH<;[#YF_!M/*:T#NT[=;C6W@]V] M/-7#8'>'L=NR.XVFP:[![O[9#"!W^W7'8-=@=__D;M=N-SN//==C&VYFNY9 9T^P6ZO="O(.GZ!G2' [J]D'0=N^NT-W:" MUI;;F9 M0[>.6B89MXL,=(A2OE%W[$:[;K)Q!P.[O1;/)DIM8&=@9V!GE*R!W2[#;J^E MW3YEY:;.R3QJFUS<83#QV M>_8+#8-?@]_]L!ZZW0/Y)-F@]QE*WSW*Q%'VS9J(6SS)_JCS/+-P6]P7:Q&6A9\.\]:.O-V4\&GE%,W(!V_T#;Z3WK3ZN>&60/ MPC@P2>_G!MN#D+1[G[W,)VQUJ#UU,,%>)R]W*/8QC[&;@'$ORK"0=BN@P_8/_JV.W6@OZ+?Z8/P;QGX&_@_1^'OM #]LT6/Y+Z_3C'#"O]Z_M4O_X0?>6-N M($6,!!JIWHOY8\]J_>OUG]8RR^JI(XV6YK+S/%LM'C>-DG[^_6_Z:&<77"V- M-HT1GUO2H%6ZE,>#6(H?QV((/9^(X%K<)KG0Z]=:A=0[*987)VXY]5JC_Y.E M_8X$F*'>6-P<:S12J#@.Y# ]4:_EUVB%BXM1XJ=^!.LN Y'Z5Q);K[1+2Y%& MDY.&4\-PQAC^5#-K.;76&M:F,1L[:6J($]8HEL.?7_SC^_F[*0#>:_GY3WP1 M>"X>BZ!RZ(ZZI&$$:8?!&\2K%0VM=_ T;@I5X%K\HF%D$9*KRS)#;8V:CE-K M\XRUME:?8:V45#GG:%=P >O5U7-J3E^.YXRINIZK@#YO<7(SISGJNM:1>?2M MT:[5"["'42B+Q;?P@"*K;M5+B/-/DAG%*%@ZP@@",4GD2?[+FP< ;@FEJ,_C M0-Q&67HR]&^DIQ,FYU5>L&I,\EZHG%(0A#\8PA(=V)N1^G124%4A3:D%G6FJ M2[<-%OHB;FD[-0N0(V-+WKA!E@ TK" ">03B<&Q; (1C%[>EAL7$Q7:AX5BX M\!) 8A)'5[XGK6L?4"63A/9HRT*@&T(ML4*97D?Q#TN UDWH#3I0*;&2S!U9 M(K&$'T^B.$UJ!?/.**2'Z92JH"W.MO)AHF%Z0=V:QC%H&"&OBMI?W90', E-/=DSH;M]+C\*_,GR%0V,(2$65/ M,:(L1CT#&$LD'J$84I94I/#'0 3$NI342 M5T4W$E2:1V,GVP=^OXPB#UZ-R[$97CM 7FOM-J]]RJTLRY,#!',2N3[A\]I/ M1\0%,QL1$?N@FO"047)C+!.!A0TQP_GH#R%GI?X8M1FP2"PGN:T'?P65C@WV M#Q'[[=W&_ON%B.>ORT\O8RG)-J([;T7X Y%[.I8QD,;Z7#NM687[\EB>,!QP MB!S0V6T.F'*^0_U#E\)001];V5L)&UP 6M^SQH( S:80VS!K!_&C ?J(:+#B ME&9G9AS+CJ ^'PZ/WRH#\1L9B*=Q+,)+$B3E,>T'1(X_I.5%9.>2P2O"6W18 MCZM6,KNI=,J81@X2B]>S[W-\$&SND3])6/IF8<4&A[>5J1[G;8.LG8@X#65, MK]E%@*=\=@AXA<:',HX9V' W2>,,)#5>R'UI-,HGDEO,XDD$CD;>AFT!_T.S M--2!A.9D@@CW89J>[I_06\ M0]ZBA'WZ6;I4J(&N/OGWFOX USV$AZ)KO!N MXL#9J_91:1P6EI:RUKO8)XELG;INE(5$T2^ "#?W\CXDH%D!'GO*9O?3V$52 MJMF9':>F#P![0*(W<^CYB4)&CQ_W3B()I9)$V\L'Q]P? CYT7K-\0 S'S"P! M?P%#3E#@U*SSZ0 <&G9P/\C0E?P[&+SW&UVD)@4TP%"=A3,1!N"0UZS2QQE&2TL+"PJEE5/H\3\T =?WQ M! 5U:L$,I8TZ']D%7P$(QM0B"'8PWD'3(07PL>HT_'"(9BS!2%P)G^/E,"J\ M.3,R1%+._]C>7$(H(A0N& 8'2TI;(DBBG$,2LDNFR#06'D?E*6N%#_$#*$Y" MS&_F?A\L$LS.\V&)D(I)BD@GEO) XN1T4Z[B6-SFO0*SXI;[4LH"\ /'#@D@! ME/H3.KP!#DX#L!RF(S+$*)4X#_/6,([&SUA* 8_$4K-_PT@9K6AYQ8AS\C\2(U&_Z;Q'KO)VZ6)"1'H/?34 2WA-BATI XAW>PMGZ: M/_-5)EG <4LEI&'!;>K">5.U#F#"(@PQ\ -N,L ..>0CS(5'Z-2/_QLD>X P MN041R$#$27W[\ X?_4V IZV>Y63"DP)HURNQVJ82RU1B;;X2ZW%@?IBW^U4B M_$'%G25)!O)"<%2Q!^ M TG5!/)@+) $ U 9_@S47VA8!%&2Q>JE=SU<_^7&(\D5-+X;IH8G&/F'"#F*$J@,9&0B"3C6,$IB* MK%+A@4.##HDR;GWV2DM?LA "?H@A9MPF8%[ MA*YW8N462ZZ^P-X!&)&Z*YP9$-E9G"=$K'*YR6&CI!Z&#!(QE"H6&/A_00] M3X(S@%+KD -/5[Z\QK0$^'^1ASHIN%5=W8*3"%ZU!T. !SPY ;^-,B%ACD0W M][0 MJ=!.HJRRU%E5*J1)!O\B>$3&*3+^7F&'<>0-,H"L6\Y?S/$.:J'_R*1 M=XLJFFTGKJRLO)RHZ8Y])1#$&!4KDDFU0@R%K,8R(83V8#9@>?IHI-G\3VQ3 ME.9V(JL$AOFEU4(Q'KW&DA8((S0^KZ0N1LC<\!/4I] @/\Z)=^GF2UF$Q(YA M7L>)"*0>,$$C!MKG!D:@&V"!6$%KL1$*=<0JD3;!:12*G*N#]"$AI7[_9J48 M;XXO&MK5@;)1472(HBO%9&Y1!.21JY/T9@:8"D44$62A^D MMY0[(+M2W+ J=%6LF."D$0BUHO=GEN2!/&"\./7_4QB7( 3'?J;J:, FCV5^ MQP/S!9E422\2;2RH*HW =# ;P?&6A10#@D19X*&XT>WW0MN5%=@J4$HS?'9J M;%KWUU958!8%NV<+"@<8TV>Z\K%"05#_$[X4('EFS?HVNY15*O\*^2_*LR?Q22,W*FK6+ M:M:_\F UMZ@QOTJ:\!BJK\[V1+%[2I90E#RIO@#J#+K@(GZY\!E4 37K#,2" MQSIW>DAWS%0,AZ"".7B)(R?6QX\,P*$CEJM.;GY#-)$R@J]/B:/JXW$4ZDT7 MCZAZD>K[^G07O ^/L+4"O$R# TVL",#K0U,GIV:P@A*PQC%::QZ4KY:7@("/02W:U"R M=TB$'9%,YV5U9G[V#PD/#>FP6(*\'2YB(XGP%Q5B,L=? EK@4<3GI[.WYU^M M20!ND5/KMG^RCJT&_:L2#9]0)<=%XN!+#&.WOF*+]$Y=O2XL$@_\+!,:IY=3KQYQ&FX#63TL>45XG#QQ&N7B$\SY+8.565EJ5 M*1M_#**:(CVHL3&" ^TFB(J]5 MY-D2_R9/B+)M.H4FP4[2VUC\!]8.YO\5[*HB]E!^>K9LOL, B^]4QUK%*3:L M#4EI2O !$[!^,9(+D^6.86Y8:C(FFV 5>9&8+U+C6-7KN_ZD M\ 8Y:)(G]NTRC,GV_LB70^O##7B7%$@YIZ]G8VJ3[Y5I?G7/SJU5208NO(62 MU9ZG1.U\ )HMYNK3GQ33MX[@?4\.\Y34URS 7 QE49KBV&D?214KQ?>4F:&HA%4):=+ MK ?*&)02*J3$A7>KR1 R&'.I],RL[W=E\HN"3B$79B&=N+ZP)#*GJH%?6>>\ MA_5559\IL(.7;WWTN2,\]YY:@,#BO=<2:I9+2;>5P1L5)=&4R6/IHR7>TCR;33#GPFLEMCA+1W$#:-G#D M6 M<)=+J+%4F?+C3%G>F">Q(IC)B_7B%"4KS<"\M@5>T00D=DR5WCYEJG:AL&3@ M#!JMUK!QT6P++"SI]R]Z?<>Y:+4'KE/O-62[Y5:S\\T6G7V_V^UMR@' ,JB+H##QB'(NE#>:I_9O26W0^R4L1D)3BW:WU6[UMNDH.BLXBC1,2QOG4Y-P0]7@E4(P_&X"_DI'10V>TRH*UK2= M7,A0BJAH386II@KOLA#D)7WL^)15=_9>%;3U94\Z3KMW,:RWAQIUZO=7:*BN=KL!+.$1+C?$0V6AY MQ$E]Q:/F;YVRE@>%_19K B+K#[7U70[ST*T=(I&TO&41(J9D_$(!I%@4>=NV M;J,,JUTP!>*"73/,T-*FRIH\TC)4!/;X"Y%9,9)+LARXEHY+K3D]>OKZ^M:(MW:973U^C1V1_AYV&OI78KX-6Z[]MIQ.OU^K_>Z7J\[]5:W MU>D[??B]UVR]%HU&L]OK]?X#(NE';92.G\"O/^6/6A8(RO^^Q\?*!8!YBO1:U@_L)Y(%.KDS7D]GJ(:X55U__ M49P#6RIS$C_"Z)IX*$L* [R:M) <+B/A3#CPL.A#R+1WM8IQH6JBV@WARJV M5K&J2$N$FOZJ;.9[,I6Y(02%.^@,.\-F>S#L=[>H@9DX#2XEN\0R0RPU^"8"K@;Y0*56$JA2[I**;" M61XQ2=!&G>5/WCGT% @7!XD;(F*R!30<)66PG W6G9I?,'1$1ZXFU25[SA34 MZ( 7\<.9V"L]>*I.PAT9W>G*U4!<,Z8 ?5F02]4,HV8JW H7%CLS47;QY1/8W$@5AYQ#3/'AKG01'+\2(DD M?>@S)DJ'*-_\)==ON7&2TX3226I/BZ(&JPQ0*74S"SM50OHB(/0Y(EE7)V*H26,0.UA//%^@B^QFK;5(LJW"W6K811OE!HI M M\5', ]M:SWM5NE,KO=5KW7'W@7;>&T+EK]1OU"M,&S[0SDL#_L#=RN$$IE M[GJFM&LRI293NI5,:1GCZ7RX&0&WILD:J69(J82=7)%2\ HM,3D\ED#CCO-JK>J\G3TG#>^SXR;V6=C4+#3S' M([_ $H.N5 1+?9).295944U;>X[FH6\!QRT[];=;ZZSWT-]>52W@IRW^\/8> MO*-XIF"9U^EHC?-U:OW&)N=;58,K3)?1/?MS0_-O=FI.9_UGH]U%@=DM^G+: MS9!DY>HME$E;ACLP>I_C\3X>TH?T;"$:-6O.?IF+[\%./"1UM7> V2NT?,ZPON.0_(=]P\MR3V$' M(?,K^)R8$%[D*!0'Y4R?OQ---A6K(Y,6-X@H3UN^>Y(@V><=]KYPU&N/N,T? M]2IV.#VXLMV]VO0V%%"[8WZ/+[%SZO5&L]/&$KMZHU=O_T?>'#K4)=4J9 ZP'Y2W=*'U41GBPY&PFB;0Z/C<0^ML9?++E_M1"X]OQ M?85&=QNB[JD619G'3[TJ]>;KAO.Z47>,1*\LSM.O3+/6N.>2H,EXN$O"UMY^ MSF^W3+Q5S-C%4 M$JB;M[5V;#$/6*9NVC;;L979-N4[/;+8-N,^[$07MX>Q>S<^JM M3KOO=.O-7JO=>BV<[K'3ALL7CKQI>LZN!.VFXG,4PQNK3Y%H@V$3O]M!4W05 M =([_N\=LRA-_.[%+_7.ZWH?XW==(]UW+7YWWY"JB=_MZOQVR]S;,0_E@'U- M$[_;V\F9^-WAK*6)WQW48CZKE33QNUV^^-UN%]V] MO<5]BDQXSH3G]F913'ANIQ?GZ5?&E->9\-RS<$ .V)4TX;F]G9P)SQW.6IKP MW$$MYK-:21.>V\79[99!MY([X9AO8G\WFG6Y4W3<5H]61_V M=B7*5E;!J9W.?_/=D9 !'NH7R%M[T1F+MC7)XB131U?CYN#:D:JM(S%]I"I> MHJVSA1=-,)*GO_Z-CU3+#P-L%!N,BW@@0IDL-$ ''&KJVDBDYM?T/_=5>MTQQRJ W:-3;AQ;R=GPHV'LY9; M"C<:";I_EMF3KIL))>Z'_-PM\VW%X*+Y>'=W@XN-IM-M>[L;7/R"Y^99OT97 M,O0QALC!Q8_%Z:0FN+C+8#?!Q<-:3Q- M3FX[H403.-Q+R\L$#DW@<.=L+A,X?+:!PX:I2MS=P&'#\09=K]?:R4]&T^O&_,13V-H*F(NL//Y:!3!*;[YZ%;@UZBJFAO[@ABW,R?FAY?_OVZ^?K*.S$.=BR?]-90B4#Z3U-DO@2I*H\> 4 M/HGP,A.7\M6)=>2K8L)W$?03)GBP;Q32N=V\X: (8+;2^C:2,DTLDW6ND(AE9 M'P'-)0W7.YQ51X.#^99&[H]1%'@R3E N.-TWUH>_,I 7=_:# SJZRA<)I_$Y M2H'-T\A:T',9 2\I8ENIN+S$?383:Q# 8(A&*)5K.^8?F?BTB4_OKI=DXM,F M/KVCOM*SB$]O9'[D+[U.!=B1#QWH2N-:?5CK'L2*W0K+]WY^<=%I]@:>)P87 M_;IL7K3D<'C1:SJ]BU9+=@;MCFQW6^*%RFU[_M4O_X0?>4]N($5\,HC2D1K. M,?R>1N.3)@XK!TO]IX=C8J$KV6A-4JM>_@]=M'J\RC1*^OGWO^FC'0CWQV4< M9:%W[$9!%)_\HT[_O=&FH>#7($Q?RN-!+,6/8S&$GD]$<"UND]R5[M=:P .# M* 8S[Z2>#PLG;@%_-/H_6=KO2( 9ZHW%S;%&(\5#QU@O<:)>RZ_%S!3J8I3X MZ"^<@ $IL%("6Z^T2TL!_'K2<&H=Q K\J6;6>?;V;\^GW[__>N';Q?T MF5Y7\?KP9-*E4?,W4<'!WBO56M/CT0OT$&O M*);@3\6E_T<%.M+-8E@JZ.C#C3L2X:7,JW2$=>%MQ: MKLC0K4I'?@+W*< !W0S0A;P,X4846CYT,Y C$0RMP2TU!%($W#M^ /Z.91;" M2]2>R-)1%,/(22)/\E_T7CM%KRR#8!Y1?H$%$%VI MR"E-^:MG9B7_BL')=GW])L64B,+_%;SF226=IW1"U.]O0@%]\>+/+QHOGGCB M=XF.M^=GG_]U;OUQ]O7#IP_?ON7AB,_O:H4HN7><^4F7\J!6[@%\O_.K]5ZD M\L0ZS2ZS)&6TM3D>=R\G!%KK;ICZ;V]/K/N-J5UK-7*C,+>%GS=[^>?OAD?3S[_.G#_]T/G*R3JW< 30_FY=6!MV5@50NX M#:@,J-8 J@5? 5!JY#=*Q^4&_]M(Q)Y!G4'=&E!W]"7V0]>?B& 6>J^>'\:, M$6R\3^-]&L8[0,8SWN?VO<\O'[Y_^&K]>OX_'SZ???BZ'S@Q)MN.FVS5+X(- MJ RHUN9]SGQ6;M!ET+5>+[.$& 8V3ETWRD(J9%[@=&ZJ8F6W:U2>"D4[7NC2 M7VNABRXI5(E))>M;O89E)4UFF/O4QQ0%,*\'D7<+_XS2*@$ $0 @ $ =VEF:2TR M,#$Y,#8S,"YX&UL4$L! A0#% @ MW'$%3[E2=?[.. *R,$ !4 ( !&3, '=I9FDM,C Q.3 V M,S!?9&5F+GAM;%!+ 0(4 Q0 ( -QQ!4_!M3#93:0 &_?"@ 5 M " 1IL !W:69I+3(P,3DP-C,P7VQA8BYX;6Q02P$"% ,4 " #< M<05/&_DYG9!B )DP< %0 @ &:$ $ =VEF:2TR,#$Y,#8S M,%]P&UL4$L! A0#% @ W'$%3^I=D$LV" _#D !P M ( !77,! '=I9FDM,C Q.3 V,S!E>#,Q,30X93!F."YH=&U02P$"% ,4 M " #<<05/"T.2DB8( A.0 ' @ '->P$ =VEF:2TR M,#$Y,#8S,&5X,S$R,S$W-60X+FAT;5!+ 0(4 Q0 ( -QQ!4^E]SZ]<08 M -8[ < " 2V$ 0!W:69I+3(P,3DP-C,P97@S,C%D8C=D M.#0N:'1M4$L! A0#% @ W'$%3P>+";_*HP( $4\A !4 M ( !V(H! '=I9FDM,C Q.3 V,S!X,3!Q+FAT;5!+!08 "0 ) &P" #5 %+@0 ! end

W.+5T$(;)K[G!^P"B0?DIL2]\U%\ M\>H&*7&3+HG4J(2(HT.)'$\N'$SO@%XY8:=O_ 9DRW:;/0(ZY:XV MH4!%C5 M4IH'ZFI0EOKVAXY:78 9 2UA7KIMZ/!@_^C@F_VKE8#J 5=6(M6P:&#IJDJ_ MUM/5M+^5=2.*J%V#.*HO)+M\"*N\IG5_?KX9D$KQ9,7##H*R(*Q8+= $#$#; M+RN1J8,%C%E,JDI"&.")?VM5#65/BB*AAR#TT!R+2$F;X[0;Z+R@@O M[Z]N1T,*P1*!5C31,(1UMD%5:4(DT/1'H/ZY=+9&@=D4(FX%PE+1_B0BYA^: M&BAD4<]BL&0AB%*&FK 0X%H$7,)-<.O%"B\;C *NH .5I:%H_FRH;1 7"&G-K@TQ#$U'UM;">'*/%BEV9\00/)EBE)E_ MBF54OSJ(.WFTD-;G"1J8+$B])OD.1U/LS$_29$;(_)O,:DP)A1@Q!6\>:U0(_W2HGIOWS)(/"SW.O_^/]0 M2P,$% @ W'$%3\&U,-E-I ;]\* !4 !W:69I+3(P,3DP-C,P7VQA M8BYX;6SLO7MSY#:6)_K_C;C? =M[(VQ'I.PJ>Z9W[)W9#954U=;27.#Z^#<_[U?W[9 MA^2))BF+HW_[T]MOW_R)T,B/ Q8]_MN?\O3,2WW&_O0__\?_^7_\ZW\Y._O? M[VX_DB#V\SV-,N(GU,MH0)Y9MB/W\>'@1>0331(6AN1=PH)'2LB/WW[_[7][ M^\]OOOW^QQ__Y4=R=J8HO?-2WC..B"#Y_;=ORV\N%-4X^HG\RW???_?]F[<_ MDA]_^O[M3V_>DIM/9;M/7,@MZVH8LNBWG^!_'CA#PI6-TI^^I.S?_K3+LL-/ MWWWW_/S\[?,/W\;)(^__YNUW__O3QSM_1_?>&8O2S(M\^B?"V_^4B@\_QKZ7 M"4MIW;\\)&%!X(?O2E[&%O"OLZ+9&7QT]O;[LQ_>?OLE#?ZD1(2O+9@4S>%; MUM)>TT6V/Z&O;/#VQQ]__$Y\^R=N/4+^-8E#>DNW1'SV4_9RH/_VIY3M#R'0 M$I_M$KIM9ATFR7?0_[N(/L)/"KK^"+J^_3/H^E_5QQ^]!QK^B4#+7VZOC%K\ M6*.E.@EUK SUG=1'C@?H_)'_55.+?LEH%-"@4 S8M9 6TE26 MJQ7R,8PFB) MD[JAGOF@/8.A^N;//[P19H!/_N-2.=5Y%+R/,I:]7$7;.-F+T7;^D&:)YV<% M(2&^I&3;KZ>90!E@" M%"/NT>D_PH4^ 8AJ=_7+70YG_43 A M7A00R89H?/Y5BM=KZ"JN@N/62Q\$6SY'/'K>0:#O=S3,TN(3,%:1N"):T?-D \[D[2C1V!) MF$C*BX_&&YJPF*_3@TL.K2T6.&ZW@I'8J-KQ.*PU0CX*FV4=/08E6;Z)"@@0 M7GYN3;PH9;!KZT3$AJ8K&(@F!4_FWZ-VR(>C4=SQ\W))>6E8E"<)'UA(/^?[ M!YHTJ-_0!/$8-"E4C+WC[Y&..:.80\>:.C("BD227'B,W=)'!F=A4?;9VS?- MO(9FZ,=:LV+U\59O@WK,&40=.>XJJ@3(+CSVKB(_3CBNBJ-2L:F^B/,H2UXN MXL \%+MZH1^95FK7!VIK%]3CUD[RD<.XQF1#!!L2)T2Q(L!KX;%][WVY"O@B M@FV9O,SLF,C-[=&/YPY5ZR/9T!CU&.Z2>>3HY>1)G;Z;IH_<%SZ MUFB2YK;HAVJ+BO5AVM 0]1!MDW?D\%0T-\4?1!SI7T=+(ZIB?\'_O$[NX^>H MRQBUEFL9FJ?J-0[,JMD:AF6#M%,-2B -4ST0=S,@Q6KC.KE)XB<6^>9UJ['Y M6H:F0='&\7G4=@V#U"3R5".U7)46'-P,UYLXS;SP_V&'UDV6H?%:AFJCDHT# MM=9R#<.T6>"I!JFD3CCY93=- ./G"?4,@_+H:\3#L$F18N#IWR$=:HTB#AU< M8FX&:LN.)0@?#F]V<60^/&]H@GA,F10JQM7Q]TC'EE',H>-+$"2"XM([YCOJ MYPD?WF^_?[AGV4F I:$)XC%F4J@88\??(QUC1C&'CC%!A<1;\O;[KQ^^(07] MQ0?:^R_^CFM #;*%T M][)_B)MT/OX>\6AK5*489K4OD8ZO9AD'HYJD1B2YA3>B%WF2T"B3(16@$]\8 MY\=!XA;-$0\W&T7KV]'FMD@'HY7(([>DBCHIR1-)?_$[ZHS"2R'V1"^]S%-2 MM5QW&IJC'ZSMBAY?1S>U13U8.T0>?0%=4H?@1:\8O0X"QI(++Z./.SH(XD=2)(K\T..YH&':-SJ-&Z =EDU)'R*BU0#T$&P4= MBXM T]%XXUSW$&@9^[_=[3QNK^L\@ZPDL-TW[^3:.Z$?CS9*'VVW6WJ@'J]6 M@H_=>@L>1##9$,F&:'R6NQ66NZ@/+/6]\._42\P/!%N:(AZ^70J6-\>&=DB' M:J>X@V^4U:&0I$R M+L'@Y5Z'_@G33L?/7@D?-D([(+FE'OQ74 M1Z0@[6@XRE>T=@.RWG8U0[)!Q>9!J35J@:E>5R\[--62A8N1>.%5 M%- O_SDJVJ':TUZXV0#L5V6<>N*"59(N@23GBQ(7C.G2 0+A9Z M31N@X^\1#[E&58JA5OL2Z1!KEG'HT"JI$2"'(-_9]?8#B[S(9QS)8YDWP)!3 MLF=7I&-RB $:LZ2U]$,XD@>)/WC#$W/$C"")+_\KC4,6B*R][[P0$LW"21/- M!L_GX\?^>9IR_AVC_*01\O'0([\6!!VE])M%*]=. MI(XVK'SIM.TJ7,J@XJEG'35$[V F><>-R$T9 X7#X:;6LM#.$]1_ %UZZ M.X\"^,_[?^3LR0NY6.EY=N$ER0N+'O_JA?GQF7/?OL@=M)<)=(>UZHC8@?O) M/WBH<_(B1;CX0V.T(5Y&"EY$,'/CX@O;P8<_:,5H'J7CS O=*WT/8DB-;51? M<.'QY+$0LH5_B),[+HQZ;L!H>DD?LNI?S4&OPZD@Q\*!9JDM8_J10(R/0S49 M?&[-J9**[(:4 IQMX^0LY2)L3-&U"RV&%K;()R_YC6; D*0E\5E4?Z+)0XQ+ M^;M=G&1G_#?9D[V-'18$3]^'[&+I+?4IAW(NUF>:=2!E>Q?LL&BA< T#6]IC M!CP;L0=O[!1Q4E'?$$[?-:0MHG.BZ1S1P6\CQKON34(/'@O>?SG T2I? %YG M.YK4-KD&0]GU1.[(/=37_=FB&V*W[B/]T)&N>!#%1*SV!1MR=*#CQLN7- &5 M3%)A@UC8P*\=]R Y;K4Y\,+OT9V^NQ8OG78P+N)U76<,TZJDSA*0N-)-$A]H MDKW<<&U$G;U_Y.P 5Z)\^6 $H=8NR!W-1N'ZG&ENC]@-K<0>/D5(XALBR,O* MB04#L1IV-3TNH+30EE;:-JR#EX&E6;65*'6PUWDYR+KF(GF03N CY:+>LL== M=KW]A2^' $H-MNKJ@QRTK%364:NU V+8LI-[Z* NJ1-!?D,$@[-X>\99R!6^ M&^!:2NT0R).DT#J''8Y:8!#![ D?R;HDXI!>8SG;(\RL]Z:JBTS^X*+]>J \C,?_ZU' M=J:VR)VV5<7:HKRI(6(7;9=W\'JL=IQ>$7:T\IY11]>+2ZE6ZZ$F?N^J*W%Z M(H[8?XX$G#:X?W'^%L"9_JG&ZBMQGCP\#?ND<&#W MUPWI@3)JF3&>..;.N#:&2VLSI:.<^F]9J,S](]P5?!,>1 M6 O]C66[BYSO//8T*8SQT@Y UOT0XQLO<0?D=-%,"'/#-)2 M*S:;$O1>'$/>(D:XI%O**04DH4\T.GWU["HBS-++.SLA]V\[I=5BTBCF?5NL&+M\H0PR?59[:5 MR7'?_/F'-\(SX9/B0>@GCT49%3SN:/+$?)JJA)9\[=#NK2/((/7@L88!KQY* MP[&G!RIEN <#;Z(?>HH'Q2GXPQ.D8@)OR*. I>)4FV\>XX>0/0IYR39.X)0; M%$C%/Y3;!.2@WB3O*[E)J@3?$#_TTI1KQQMZ:?&R\MM9L*4)2ET:5EA%8TH* MKJ1DZWPWX\P^#4 RQLL3NUN355V7S'"*OMS]2-=-P6Q7!,4; M=_SW 9VAZ?:]D3MG3S-87PRL(J"]KP8S7@^XCGM?RA3'EP3B.0K,Q'Y]=#]6L6B'W(PL%;=XA9A%0!@+_L<=PFN?7Y^[:O#6O1W"IW^;6R,W*G;E31= M+JS"?3L$GNJ*X?T7/\RA2BK*RX99%$=XN=#IH-V]D'NJI=J=MPRK\%U;R:>_ M:YAYVAUZW3#WM(OBSL'HQ.,H(77L"O\PH8,L? 41E9(COH68 MUKP]+R)<;85<6JD1I9%<2!3'-%>1'^_IO?=%.Q0VI]OI[H44J'NJK:_ .KH@ M7H'92C[ZJ$\R()Q#_16(LYP[BVF><951W':(!"2ZEE:Y=TP=D'MQM[(G67@: M6R/V70NAQ^6JJ3NJZX/*N;5%X:.:@MTWL_B]L$$=PWT_8C]KDG*"&W[G%_L3 MW>BC\)N+>+]GF=BB0>6_.(*[!KDZ\]\QTG>_M,W[ASX-.,07YC+&Y<;N3,^S[*$ M/>2B5-Q]#-,_A"O$(1?E\8IOVOEOTI6L9W(FR&%B'J/JR#(M!\1@-).B0_WY MKI8U2PJT(:5(1,E$=*%(%I.Z6*20RWG>(M3FE4G)'"8[NDG488*0JZUN>7-+ MY##5HMY1I;KC9H@!HTW:$6?JZE!)$-W(RN+<[],TIX&KF\QY-4VEIO_7FV_? MO'GSEAR\1-[8_'?RSQO^"4EW7@*91O)L%R?L=QK\=Q+%Q:=,&$:F(?CC&Y[5PZFAWV[9LW)I?] MIW_:O'WSWX2C_M/WFS__^<=V#R9>1OX]CRCYX"]ET0>AE-+BD6^8ST\&$54?D?FZOO.[GW;T0^WD/X8<.\X(% M*7B0KS4N1+$Y.;A;QLT7T%]7-I TG68[+801=X8^]],8%C;RK(/7^@68[RI?8A@1@3AFHRA8/(B^P:QR+PYFM@^HV(MX$0 M,\[96>)59^91!>MKY@DY,TRW'M;GH_AAP:Q<^PT"8N=N$7;*D_R38_L;SUTJ M@!ET5JD M/,"- 5 /K$H3L3U@[Q2,!BEH1ER;S0IIOOB<1O$GF@4=58_-%R? MN9E*)S.N)W_6F-./WU/V*8F5A!)-?]L^#5@28L M#MY'P?SW_*/M^90]B4A'6&*R'B[#=_;7"9\L,AJ(6_@; MFMS!S;?!@M:=D7MY/R.8H\!,/1%[?$\%)HL5XYQ(G!#)2X:@$,Z-"'9N=K"+ MFT+%II0Q*>1K%I& +R>\)"5\X2:C3AR&P=7 6I>5>7&3 MY%.[\K7Y%8([?YY'\;I38WM^T7/?;=<3N8?W4-_P;F.%V^T^TD_SN@/A1GM! M(Z#?8FNVL-Q?M_=8C]/;[*Q;FJ_#R2??7-:=&\F&>@&%\6VE3Y1NW4>;6Z_- M8\T[:$/3-7GJ1)O))B^=]86E5;C#7-JJ6WLQMTH'G><%B&4LP]K5[ ^WTXY: M7.[2U7Q/T3KGO;\9?Y\<=2^B,\*!#/J01NSS(^=61 M%LO<&KGC=JBI^ZRA*6)W[9)X^*B- AJE5"2]2^.0!>*V7#>T*=;DQ=-01.K>$YJKK ,WCASV>G 3:3?X#(C 0GR!#[->*>$BAI>_%_RV'S#I]1BT=] 1A-< M$EVX+IQC,S< ,R>K;Y3:H=L%HEW]^%\0$<6ZU6 MC9O/]CY(8;R7RO7SE98.B-=F=G(//PZ0U%7>UI)^L?=R=3 RI\ZZFJ!V1OU= M%(?QH\/'B'=4/*7F"G_RDM\H8%:[^[9V0.Z[W@D*3% MT"V)N_77A;3=%\3=^>E?:,2G^Y!K>A[L6<3@' BR6K<[:W1#A[2B+X9TG8-;+UY2;Z_&P6$FV3UL%7\7"_CK[17?#4>/["&D<.5B M/.7L[(3V!V)R5 FC#69I;HG< MYUK4JQ4M/VV&V//:I!TZ1JNCX5J6.(>"A5J0I?P;&6"$X=SWJND<:&R/VRVZ91Z03CD\<5!%W](YC/F7+2JIBKA2%!M0\N2$1 M=5BSI$*C(MZ/13E7OXKP?4>W<:)J+]Q[7VAZG%B:+ROJ5&2VOD\TV\7\FR?> M1 0.&XR^K 3(\<3!SW$:!K\(>\28Y\(*8Y< 'ZLE0"6P%J=/'H3(1>9Z*0C1 M)-D4&"ST@8OV+/'B)&"1E[R0JXSN^8>+)KCO6E&M\6>2*S7U6S#Y80:2N9X! MN'G47/>.1G1K+$5G;KT*9#6J>8J")TW1(Y99XI'#EA,NSB_(UXKVQ$NT'Z62 MD0BK:GTT/;.NW!NY?PJ2Y&MJ6(XNF6TLYI*T'&'4&B#WP5-EZNG"BF\1>UJ# MD"-"M8[+K^$JV6"1+6Q28S056UMF*3&Q(DR?[5T5\%Y2IP7/EFA6K=A&%/<9 M0@V,JB\1Q%@]7)?)(!TW?KLQ4 U)B'=DH A?E;&:F6Q,N3*LZ,2! MM?CX OX[9ZG-7NZZ@"LV5.#<$-Z9^>(8.V!AGLV5X:YKQ8; %NX J2BH7B3G M['BLWM(<.4QU*:HCEJDM8O#J%'FZ\5RF5ATRLI?:LF"UA\,W[\0?P:VF^ MHNW*G+RF8IN'BX8KBE70):6 MJ5JOS"&/U&QS2=5T14YY+/&4;GDYYPJYKV-.I:BB@\XY_T;9XXX+=LX7&MXC M_9SO'VARO3W)Z]BQ6!Y !KD[#S6,[N=]:2 &@,&J#'68@B%1'(ED"4\43LN^ ME*#A/+N4.SMYRDXJ96H.V? 89,'8'W(1+1BM=CEO:]2V97Y?&J\$GHS;@EX$ M7@$P3;/"[HE*#G<8R]JEVGG,F5+>XC#$T7 HP->O9:]^Z+**+."%U_F'1#*I!MV463/53)'B' ME]FPM#Z/@@N^XD[HCD8I>U)AU!V[Y_Y4D,/J0+/4,@7U(X$85H=J,FLM@IH M[2\]%WR"#$^\&DSS(4XX)D07D!TR\E_N$R]*N:58''%3BG^%XNG">?"?N7Q[ M(-\PW'M?;D362$XFH=PXEU3^M\,?7RTOH;[^4&\0^MMW,^4S\CF^C:S,5LITD]C9!LX'\=IA9@]D<(8@?FSA UG M97F0FKRPIU_8,]/LYY7\'$9+RN2?"@QUA(H-J?AL2,6) *M9*-V?1^N+$N?Z MVWO5^-03>]:)*^XP8\YWQ"-6/(NZ/ZHWM=K=]ITFD$P(9Q_UT-H7.1KT,H$A MPL'<$3%"])-_KF@&$2VFL?]*)6M$X!-2$/#M.(+#W/,OS'1@VM5G+3[0IG+C MV&_JL(8QWRKWX-=P,LUH197\"G1/+K(7?+M95_,RWGOLN+YL5UOD8[=5Q=JK MS::&B,=JN[Q3C5'RJR3LZ+V58R47W6/Q99^8Z3Y1B, U+U-/VB'W0*-J1[NH M>B/$GF>6=<0& 1;]@B3Y51)UY''S*N>P>EP0,#BN]L(;CP57T85W8'Q+V.IL M77V0.YZ5RK72<6T=$#NDG=Q#QV]%G0!Y2Z(8+O1J:9.(/F =%YEU$('^)D2UF6)W.5H.[" M%0=V VX>'^.@OQYL0/(H@(1AXF_&&T09+"$.G T^())I*:9 H@Y*ZX0B&_-8 M8%$;F?6!D94VV90)QWOSYAS<";^"3_ZA> J;W ML>%T5=KB;RS;[6@8\%],U- \LN=X:DAQ9R(S ?:,).48?X*8[[RYV$TSSE2: M#3X5V,>YC)QB*J, ^3I0.06^@:2A7G6T?X ;#<@CJFXTOCZ_N;KXAG"Q\E"D M%175<[V2HN^E.Q+GV3:,GR%<$4 @W;X0+R)T?PCC%TJ_2K4BKN09M(M#\?0E M?@C9HWH$FW+6B2#I0?*!,YFH-*59%I:!7Y[T<069WK.7!-_. HQ-LXGS7[%B M#88^OH6JKF.*;&K/2@*RC1-9L'CI:J2N3=9D",>%A*VM\7 \L=[2?^0L91F] MH\D3\ZF7DB7G,OIOKL<-JV3B]E M)4I8M<8GFKBN8@&0VU]L+911?8T]4>6D':;"8%&A_TL0],-O\R$Y)%#[M2&K"7,ZTZM( M;\!W>>P0TO?;+?6SZ^UY$!] @_^5>[S!EOEMI[%S\4(.D;.:N%ZJ=@9&B,%S M7GV'EUA\)A574I.+\,VIE P6G[562K@-D>+!44@AX(;41715=!>CM2]D+ R< M$M/2XD_8]+'F7,WCLBD M.X,E?(P)A+0GUA=>NOL0QL^I_:OZIB[(/=Y&8<,;^I/VB#W<2NQY\__#-8W@ MZW([D8$8?'GPQ (:O'OYA0M]%5T?:.+!''SN\ZE:Y#SL&/.#""'WA.'&J:_R M^U)![#4CE!F^/L^DJQ1,R<,+^?H765OQ&U*R)A5OYR4H'9A)F AN?%-Y\A.7 M=O%*9DBNV.#4RTF[N-ID&@F5LBQ:DX#&Z_/)N*#&.]F57>B:[)2 M++%;J&T@X.NU8><:3)Z4)H>:'+!#@>V*2AYK2@XH>D)[$9]ST'Z1)JQV6.OW MDO)MF,_:CH:/FB 'QR:%=%#3OT<,1HUB#JYNJ!%SX^BSJ2.J87A[2'W\N_R M[[:XOW$ORU[$EW"=?M@WY#$<$YB:IARC]@>/)4#Y8N$68B*#V&Z/SVQQ G>>7 XOU/UG(Z*[L[H;%402&9'RNZQ[G^W*4[RTS!4( M_6)QW%?->GZQ=]'JKGRKTK%#4/Y#GA&6\HF5S[5LS^ H)8LW0ERJMCL9MPJ# M])Q2D@W,NO6/!.?'. Z>61@N':+JX/<&,J3B211388:/ZH?6&(L++,%ZZ9-F M5Q;2; ,C:5,.?WW8;]D7"&NN1M#IN"K#6,%M1)6V337*'1Y<]WIXM=:W5?;/ MIU;W0FJF1U"&P$E'CYEF?.G5$,CH\ !,6XY>;S^PR./[Q^CQ(N;[0HYR'-_$ MM;V]<0M<,GR[Z(O;JW"B/6>[7]SR5]R$CYCD_P$[-4R='1:8\K M>P1T2Y.$X\.VX,F1HC!* ,8*%.^R\*JGEM#J'18LZR MZ^TO*16K'5WZIN53G\Y( 6*8$EIV"U(;>%03@[N7?:$)WCLHBZ_."IX6E< M'P4-HV70]:,!+$^+/_+)HCZ7W"1TS_)]6DXAUU%3&7 ME3TCTEACU\G3;T16_4OGP/RN&I1PP(:L&.^5RMQ0/%;2KJ#5:\Z.4)5>!)#. M(\.-H>_L[7LCWML/4&+PV769-.123QI2+5'+[.>.HSD6M(E\U *1&'I A7:[ MQ;P'%KH.KC@UB'J$D]Y2G[(G0#=K6S9V71U0F W0#A&G_58%#BWB3PP+!2=2 ML7+UT'<1,Y3Z)D9]73H\7U]!2J=+=0+Y7IZW\&68> ;3&!LRFMCJ0*&/D=IA MPH;2JH"CET(30XGB3=X7AX11D=5\CN"!,;BRB)4*QFTRJCZK0Y-#*K;K2]4IU5AA$GVN586B@^63<;4ZI=Z'IKU=.S62<[1L=K> M%"!7W094W_4Q83^R:P2% 8;KQ(P>--<&*4-4FQYQ0 JBL=(6(=H=7?4](E!: MTH"%I1K6)J'9."Z1[ )>S7A^!DE'+_(TB_M@@P7^BWGQ"*4 MP;R"&= =*0(,-41YY]ZC+_9+]2&J#!W6]_*=RDD6]D"6B(!G+'R;#S>4D)1* M)I-5SUN\Q\=$'$YHZ=>/XJ'TR9;W\3*5N%UE;:\>WHKO'FD$O:EVA2&?T"Q\ M^;ZD_3LOLP1'=RNZQ0W2,H+6D"K&,%OU(H 4HH<;8UA*&,1+LP%*+)@"9B/6 M;"S*X6/5H"%QZS3 $6=>V+9.6]A45OD%T ')5?1$TRER3K436B>P6!C' F!: MJ*P/:&R4F0EP2M:8\J8X,--QSBE6V@4#SMQX+T6M!?\?.4NH1?AWW[[(T:27 M"70 L>J(&#/ZR3_X]E=Q$<5*)!\X0!)+8IS1(H9# MG1?"_?\G+P.Q7JZW?0!A !WLX##4-#6@Z$L$,V@,UF5X^(CD**=/X"DN:0JN MX$\+X(GM"F-Y^P 7E*ARC*LW*CO.#>3&X79Y7V3&L07F-@+8<:2W,5I7&L;> MF)&COQ)3KCENRMQ,@I],/_/>E./,V>)C1J/H*Y#I,KTM?=XQ>F>''RSZ&V/8 MN09BL!B@Q(+G&&LX.)W+5.+@-)?607:88;!$F3!E[*%I.Z%U@HJ%<2S I87* M^D#&1IF9P*9DO8)#TSG-='QH6N4?PH SQ:+M>@L)HXI\42(=4\CO2G&+,]=YC#I6%FJQ0TV]2T\WYYLKRGR?XCBRC7 M_"*A 3,>0%CTP^Z[MJJ;SBL;.V'V8VO9ISF/!!YG? KE?P$74;-*\'%5BVYI M _B"*-EZ?F.0[W)>?DL/):#U\7*;?LB]W%IUW M;C]WSV\ 5>S6"TEEB&@*;S<$MY^W#\%*J-"987YV1QGLF2#6D:0^$5OLT7KV-$6#R( M5=45\$A3/211[3F2#]*X-N*^,^&?%/\0\? ,DGB$GBSY0+A[0BT(* 3!=^/, MS\*7DC1O\34D":-?O+THS,TIY9&OU]],\X>4!9CL1Z@\'@6#P;S;$#[F^_#<010%.]^XO"X?INQP)33=1%7MQ M^W*E_=25")OJ+,A)"CP41@.WT+RD&.0P7EF@3MUQ;"M%,OUK40P^??^%)CY+ M:6 3(F#HAW0"ZJVZ,0RFJ1/B!:>][!.%N0 /HIB0D@N"F)8%E*>*+OA_*@P1 M'QHOV-QL+C_''.W:\\.T-$?NV5V*FG:0>EO$?MPI\C3[14%ZGGPOP_:(D^JJ MS\]R=4?E(SRYH(F$\LZ3P!12WLI5PWU\[WV!)]^[.(02I!_BI%?UIQ'DD+O\ M6$,U7?[TI848,D:K--K-;JO-'>=--.8BX_,RU:KZWRNY,QC4;]2,E'&C\>T# M5*@IKZ1X$]C P/X8-KUBE9%'S.DU5;GE^L2B&"*&A9U "[Y"ZS"VL=-*P*== MZ>9@V*8>*P"2#L&G.&KX'$?Z:5*Q77=^U;R ZL;*XFN(2QL=@8/?X?L;8UC\ M&6(@&*#$@O%F:PANG!67$%G[[=;ZF?7V_=??)'#_Y9C[G4$QH'_AV<" M3UXHEUW%L@:^.(^"^@=:2UD\FBMXJ8KY_B6)\T-145", 1I4(\#P$Z$0##GH MH;#1"9BZEPHQ2",RSE!$DRK 5J=0@MR*M%F1F!,VGB3I.' M*>/J/YBT@.$77EP(Y+..FQ]%GV&6E0#Q;.+($&/>7TPR/4C124/V0GWJJ$]/ M4@_F]C%4/UG@-]).^Y<\5PQQ^_VRI%\8E&6ZK"1,=&PYL]$ ? M613!'&NTU++ _R&,G^%V@O]9O5"/@H8#/=A#A7&:)[3CM?8$9%< _U,8[G@& M&$,3^20PB6JC7!(DV! E@Y9& ERU\9UW)8CS)]_.+7B7'PXA%0'^H:BZK@S# M44Q<\(%)645 O8! S#X=%.12&>)=GG^/L[S2[\9@I1+A'=_30 MU<\0=8BRZXL:BGJJ,!QR9"UKG1,I6(D'(9P9>>'[16#G"E46,L9-8W8K^0Q= MO*@YJE2W@4]FJ@-E>.ZF;%&A:9+ V8 (8R@R=5UOR^Q?''A5&8 MIMCO-! O?TZ"=E7)Z!9SV_1=P?1B;8+CJ:.SXTJF!7L]AKK$>5D>S*]8RMAL M%=[N:URAYE>8!S)6JSF?J5SQN<'N^OFOD6J*-NXT ZF#%UC&FJY!4#B&#'VE$ZCZ)&:'[J5]BLETW["C<4XLQ:8**]],IU#7AH,M*3A)_4[+C8@@?@2;+ NA" M=I!L"/ A'^!!JP='LA6O(A<.%=\X0,F%[*!H!4,'PW+76]?)HQ>QWX4#7939 MH_@_Y)E)6CC7]58=MGCA'?]$'D]T7.=/11LINLYB0OW6;!+"B*_4IM5O#'87 MBY:5^F%U;7]/OV3ON)B_S6'R9C:OV3M;##N9HS;P>*T^VZ;J4/?5!1(/7BN1 MQ,Y"%PIFXE(L4LE5"]@!T8B0S5'(#CH3XT#((@I(I>XSXPM_WX$JNY$@.BB7""?^=E[+T>JM[ M>G&0L^P8M@0(2$ AR[C MICKTU<04RXM*4%)(BGD)@>('6 ,\%U:YB/.#:R.]D"'& M>KTQ8._D+:(H07]:>-XP+PVG@M2W1YI%"^?K2P+[-><(C08G+(A)0+(C>XHJWO-*-(-2W8$W2DC>J# T&^W0M#(910HHD$YBG(P=#%QG$ MZXN[+0:\+FE3S3**10;@42D@+Z0/?PB3[-X3Y.. M[;1];^0@T],,];H<5ET1@TE?#08[AB)>A-<('RD^&QE7N(@W=,V_/;JOVQ]: M9UK;ONOUB.GF"L5(5F(J_4-4+2R8(9A%%S,'?H0H'KO?< TA?KMZO]@^4]KT M0XX)UJH?E:%K[X08!>QEGS9U L+1;7\XW9/$6L>\Y4%UG_YK](0YSFH+9ALB MV G?J%ZZHSJ]=F(7-& AT[FD\B8ZR;VPZ_:UO0=V*.A6]ZAPDJDY9D>WD'KX M'W1#S9=@@\>(0F-& 9^>#YL 1]P3(^N[:ZYM:K&J&M M6U5#T]6,T>E@%.CBF#GFUA2-.WZ$BE-=AZLGC9 [7[-2M0U:K05B5S,(.G3< M27(3[J4$0 M&LVFN"",8R9;0%&'NQVQV2K.>-LG,4-3I,ACHZ ^H36U0SRMM8H[_$T*G#PH MJA/.<;JPK1.CR_K& M;>N9)):#HH^!!#[_# ]AL?ME-S*!Z$E/^0.TIFQI2^1U^ B[7E:>E%8NY-, M&=U6]Y(:0URSIV/+(,&/2M7KK5ZH\9:&7@:U&],LO=MY"17U%6^\%YMR+J.) M(L>7:8Q6"^P:11$Q_DRDV. $PJ)&*N._*/>V)TH.G,X:O.V=;HW.R,?15%^+ MO[6;;9##-9-\#1[7H=G@R,Q:^$ZM,+$2@0@9-D1(H0KW%G(@6!BX-B RS'KO M)1%?J*0W-!%:=Z%16WOD.-.IJHX@QL:(L:%;YJ&#MJ!,.&GIV @\>3YU/],, M/!1.R+[F6)%^0PY<[U3H[659PAYRF5TQBZ$F^9Z#GRA3OHO#@$OM,.6[+.MP M5+3A1?YO9\IWV\[(_;R?$6HIWZUZ(D: G@H,3OE>%$>I&&UDV9,7\JOZKW-X M6-H6!ZV6BLL30ZW*BYW?=W1![NTV"M?/_LSM$7NVE=@C7JWJM8^P>?*LNM\D M?*9GAY *)_9U5NZ\N"EYM%3<8*+6#L@]N%M9W7_-K1%[KX700\=O8U9T?#Z\ MC 4P9#N_HX]P9'!+#W'2=PENVQ>Y1_[<5AT1^WD_^0J!BHR*Q)X+&@AR/; M)-2/'V4A*Y=Y&-*44OFOI&HS-$?NZC=3#'UX#[0V1U/'X M\+PZNWUL7H;FVCEH2W/DWMFE:&-L^7K\LE/D\3'E^);F8O]KLX='<:X-YQ?&"ZKF+D#I5]2>KU]GV9L[V4T-1CMI!%R^&A62L>$ M>@O$CFX0=.@@Y.3@,JDDB&\1,(_"M""((// ]?8#B[S(9UYX%:59(C+$M%^B MV?9%[I>]3-"8D:"M(V(O[B?_!!D*^) O&1&-$SY_7] T3X5IMJ5I6,7)888X M^JS% B5QQ/_TJ::^W7Y@ !GD>#'4,+6L7?)6)#C6N#J_Z_1T-\A"64ERP[.5O+*!7U>6C=HWQ_@NW:^2%Q15& M^NZ%FR[(??$\\8XF3\SO3I$T)S_D(#6[J6MA"',Q0PQ[\^L\R=5EP;R\M4S) MPPLI^(N3D4("\NN]" IRCIAX37N7[_=>\@*KM4QEL\Q>ODI)HDP>L-1[?$SH MHWC8Q0U]D-+P#EN:P.,+#.#[+D]91-/TW/]'SE)Q?\L-I_U+C(/.'\>:S&J@ MLI]AFA'0CL8J@*VG*H.=2C$$KRI8$IWG!CQ)^T !U0DZ+?ANZ-0R'_D'5QG= MFTXK.[H@]Q$;A6LO@UK:(Q[[5F(/?OG2,+;)KT"?" ;SS+9/-'F(.U[^S*FU M[L@8)K];&;3T.PVN IB_MXP&YVE*,ZE^PO\5Z;5.^7?YG@;W;3G,Y^."'!9F M,FOSS#H)"\3@,Y>F4\S+E42D$HE(F4@AE-A-Z(6-E5P(-Q9(+%S?3AP2&K(] MB^"C U=^![50#@G?PA O%. X\%+64)ZA ??/_2SWPEN:YAQ4X3&H, 9M1;^Q MM)!BW"0F*NM #"6$O53$:+W&5)/(O(<\])*C&DF>8LCWY9X0A6_/A2R%G\4' MFJA $!;Y81YPB&(19"8X>)&^G4^YWN+,=.&:%,Z,VK1$W1#)F]S6K5B(X!S= MW9I,GR7KPPW5]O0FB3_ 9IVCM:9WZ(W%:1(/M(L'?O:-A*(5YM#-9D66CA+ M(G@2C:ES1'%E(QU+ &+SR,L#!D?)!VXGP= ]N%2+Z LOW<'_O^?6>?)"E3OT M;AN^<1A)%#T'3&:]XC#Z6*&*@F5&YPO@_.=$/@?XG& M6VQW-:9H8 N!Q70D\\%N(LDO_$&/#+C'E8V@Z?VD.!C0S@->K.!L&"7D^#7" M/$=)A?J208Q08[09D8*HX4GR1A[)U0[B7M#@D@L[U8"HL)D'3#1W#QYGZJM "K^,GX N!YJ(Y1A\'3^$[+'A/$&=(C@$,[Y8Y8)F+S=<#S R M3 ,'@/LN[++JB!RJ[)77D:F[%V(@ZB'\\/1?D@7?N@$3X0PE&S1(LX A=& Y M*';"&K3@->%)?;6BNZ2'A/I,P U7['P/^6)^%_]\_P62,]/S\JJ@^]1^(KI( MD6!RTY6G^5,0Q7ZR/ZF.@T_YFT_X2W;PKT 33WB@IPE(J)20\#_E'5N3JVZ* MKZM\AGP.+X__@4MU:;#P90"*WT%'N\MC>^N"$"4)J41Q/BO@-*/EL)UR=IGZ M /#<]Y. AMZHQG]>2;-+9%C08MZM6([I\T0>W>;M%.,V8]Q M]'C&'6I/@)/^*MA]F'==]X\=$=[FUJL:MR=JFL?NQQ6$='=)/+BP4WVTSA_( MW5VI:29-+^+HB:\_&4!Y%7&5:9JIK;3&5/#LP<9A:TYXO,B5#>0J3J%*-65R<$I:>%(%4SHX$E[66CB8%Y^+ ;W.*+\XQ M%HVQN@;4,M ,\PN4\X2T(.=1(-:+:9K#);8HX_DAS[@#-)R']KM(FHK).N!\ M8J,V7C%-PF$]4\#4"D\[.6P%=^-I?0"+RT!)+P[@Q"=,*<#G#JZ!PRLD'*:M MWR=Q^USJ%I-[Z\)BJCZR%*WYL@G91(/1RHWC=1LG=@,6PVV3]8Z_HPO2>:6/ MPLUW2*O:[EN)/1F\N :(Q;4^R#*-7D@.12WY((<7)0%-",1^DX^Q-^5CXDHS M([I]B),3*.RSM!Q'&*G;3V^\AB7D"*KK639.H>3$<4JMKK>MBT$N2M,*TOD<@-&4/0>I MRS)?7BI,8;4"-+=&.@M8JEDO[=78%/&2KTOB4>6M-L++G3OYW+KJGAL"#_TH M$3)8Q)%8[)5?T^)X-LT/AU"$L_)91#S%VX;QLU[\V&H&[5&_066IY_CZ (@)PS!=+)V6?]EXCCR2&%B+D,:EXPC:*]MX3B%JK.< M-.ZE8,J?R^V)3D7GTG 0GR\IMFR+5[W&&WT(J M>#];RD6$8,Y!$[^!JXIO7F5>[:46R79>1CP V<+._-];K6I<1" C7&'W!Y 7 M02U)"ZO^$L4/*4V>P+A7T2'/(",SMT7(K')3SL0*.>;.:>#&PI83\D&,P+.J M.ZHVI )?2\3=$%TZ(L0C=?G0@#)*F^O8G-3MIBYE'^@CBR*PN'B,'XF;66\/ MH5/I<5#OME;=$Y),\<;P5 R23+! I9,@'([I8YR(W/I>RG]DY)'SE>3V[*YO7Q M2.*(D7EZ':> !L'G##X/B"X-T<6!FE5Z0R42$3*Y?]K<:4^3.3]VO(*>A#!V MOY[,>#6''DT5LR=/I]Q@%[9PVPZO_>CZC3<&,V9\J06)+J%NSA,E!T[G9-,Y MB34L2I=AL,?8885AJ?=^?PCC%TI5R52#6WT0"2C/?3[QVJ:AGX3P:L!UK/'Z;+"[J:X"+D6 M>D/DP MS"\1RX8"VC":J\&R$29KAK$!!%>!8&/TF@*\2OZD$D#AEA !,V@YL5V%5[=W MOZ""J?=> K<[*5^)%G#.?'C"S\(\ZUT%O"^UU4#3(#,9=JA]2*T"CH9I-,GN M4G&&+:)<4FW$S; OLVI(_@A!R)W%8!.89^4N^Z$T5J",!76 6,2;4?)U&*?I M-U#ZAZ0@)?$RCI@/O#N84SZ_VG,Z8@VVB\. &V"&:MV7-/43=BBSTS>%BK:T M18HQ5BJ>5-,^;H@]AKQ3[N'9:('@@P@9HP1.YC,H9/V@^#FJ7SVYFF4168WR MF+M4>U4G8V1C@UV\L\[7AT=DLXO\+W$ .E&$SH<)_S_0-- MKK<7? :E"43$_AQGZ8'__X=A!Z;Z7-JF8DI^/K7->6F;@K4#J'1JGZ:Q\QPG8?#,&6F6^AL[^\!( MFC^4<"[?"03>"SG NX%R>*D!Y^X=;L<06?$\4'?* M4'CO[H+\RS]][S@7W U4;.=V""%K7L!@<7[C^;]YCZ9U1'"?2B;DURS)X1U7F+J'H4 N?TA9P+SDY<9+.%C"ATFZ8X>RMHY8 M@J37VXL=/'Y(/]/6.J]S\D..=[.;^J@HX#S,$&/N_#J/*$982<8Q&TY",\Z# M2.F($(]4\L&*!"0DI8AE^:V-VK&(C*]*S@WADKH_;)C#_EWG$'/S_ -B2NOI MQ:P,_V#8,MUN?1E\F?M,9D.T&'P!RG^3.,JX3"%LYRJ< MJ;"GX@KOIB5?-]O9)0VC:.5.*12CZY*N/0P65T@Y88C?U+E% O%._F'ST&+T@C::7,^P+0ZFD_ MAJQ^XM=^#(CYGS#0<4(3G<+G/!R0PN:,YBR#)Z/2=E?4T07I/-5'87V=WM8>\8+;2NS!K]QJQ&5: M)$%^\LN.-,FTLYGUXE*=73^A1W?2[0T0SI>NQ2#,6IJ M@W!<=HHZ_'!7$)6Q^(IP2GX%VFZ&(90S*.2XC/=\&C";HK$M_@%I5O%H5)XV MQ#TT6^0=/3[/:^-34E\XD'4A33T;34=LWOGT(Q_\T^ \RF@4>7!?C,:8J"-KE.B*!.)'F7N+.$ MOOJO.B$*05@-A3/.&R_)(IIHZF0O*ES"#G+J%K^L.ANO3YVO&JPZ(84L/HJ;G$#]G$%SP.L19_A)NRC MZW0%LRM?J/KP0@X)$ZFDCZ#:U7N$Q517,2INGQ+8Q6_I(4[@*2S7W@]C M"+:YWKX7*4A3^1WX,%Q])$CH.3F*R62'L,0<0(.HU>@U-$ M2X*D9+\AE0 BTW:18;<2@A12D%\+.5PEUG9JNYM&2':'4D62OU.5#>9K[8 < M7[J5U<'#W!HQ,E@(/3XY8X-;N_'E1;1-*FU32=UYBKK3U#\?6.1%/HSZ8[8Y8=H,3I?7$-JJ TI&9*2H\P2]5USEJAE0&)) M^U1FH047@)!M:1B_8(400ZXB/Q$GV5X(52:OM]\"ZJT)8F M(@R#>^'U0\CDR9"J_WU/D^:"(CWZ(L66028H+ZYL.V*_Q^JMQ^#AK0K*9T - M7O_XA=O+=VYYFL5[FGP+8!'F >1P><@S2+\?Q1D)V9[)ET0;DO&_.6QPWSA( MFAON,2S-*!?>,-%OR).7%!GPBE0G+! )\J ,:12(3[@\#+PN4LWY;J/6< -R M?W43_3WZ%%W>1S_S_]Q]160,TT8DQ*=?O/TAY#CXUQ>] M-H/$'J'SET!#L'EW]N?&0AH+^E$7WFLQI\&H9:TN:^EF@CM-8IH-,X5O.! MDM4M\CP_OYC%3378U_?93+[/9R@--( M?&<8T=//'+?596[GY-#4=@7X;U3Q&.)/&JX$Q"NNY1Q!XQQFDM>,&F7GV#:]ED7Q$L,H M6&@U6UQ&-7[9^R"CD]H*<&V$F:P6M^VD5H*-8S0;?[EYT%9%<<5!')*H8Y%R MBL>T8)S90)VK1F7!ZZVA!;:S M<#RMUUUXPQNA#K5?]%U'^2*]V.8#NK MCDA1N+_R^AU5=R_$5U$]A!\ZVA4+4O @&A/G\6T+ZN\7^F<5$_09>%OL,W$& MWIZ> U)@G=&2=O!ETG<03V9C;0XE-)\M7)I>4K)+9+S M50Z!P2$:'Y(8"M:+OH6(T6-5[N"EB#;P0I)RH\A4 .*:I\ 2^H\<@@ZJ!,"P ML8<;JO+:2!Q^%HA3LM[FD0_V@+B?XDNE0M6-BL<2)1PEU ^]-.6_@Z]=DZF\ MJZW@)I.RQHF JN5?$N,:-'/-OJC3!"]EW-8TP;83\(23Z;L\91'W<6Z6!W5C M?*$'_0A#;"F7)WA'03Z(^..^Q\6HM6LR_82T,4^@4YNPG#JG(HQ]TIQS@/NYGL@>ON;3 M#5P@Z@Q>U$3-.R8TV>BU="$>-F]N!9-N.=G*:DB$I6E^VG;AV0W-KUL(0C1) M-J3&@]R?_M*5./6V#N8R-*:L&PVNLK5QKHWK#F=Q=U+7PY)O#9OYGB20SF!C M#*(?FO7IC_@T;) :"P&2FS.K12TBJJN3 U=B!U7D#PD[?9D^B=H6N4(<*(X: M')LFDH_%JX)>-NRBM$JHM#)/-V*VDED=<-II,SE^-J[7-J3DC E)YS71A>7* MRRVHNK&!MA5SA[7JT4MZ'Y_+[5EA(9K^)8E34PX4BV[(4=16<1TRN_H@QD=K MT4>^GDKA'%&Q(!6/#1%.F.'#PV9>Q_(>-YM;&5;Y^5#H',U/1S M' 8/GO^;]6'H0'I(O7DR4YT<>@XAMI:#SE&Z3?1>P2O/.G>*W='L"!?[Y*%8 M8FGG.X[.#YT8K5QB:MPW91:'0@*5;FY#"B'0G!0Z,=K/C0-JZ26G>SOM8FI,)1CF:D!'+#1S*60[PC#LZ@%,6+:"8F-DB6$3^H5A[?[X6Q2"T. M'8H'=N6C$N\QH50%M,DWUL\L#,D#1)B$U%/O];2;LT %G)" AHPC3]HLA,CH MP7^A ]SN\]5XFON[)J[NY]&E?M[F612XDW? 9 ;=R^05!/,YNS1M@L#774.*4#BM]^KU";S M!N0="5,HWXV]/6BL 7C[FJ0MD*Z5P%H@M[<^D[M#%Y;*R#;/ET R,M706M(, M+?[S-%^$'O]H);P[1W(LXW9>V%;7'M=;@XX?XN1DZV!IM8&D5P;R8PS8AOU# MZ*YP2ABEYM@DCA #>GK#<+)]U1)\-)S@U .7R^,7[6 'V#0OXHFV1V#IR9%. MR=!+:'&>(Q]A5!RK)T;N)Q G/V;SO%+\Q-=;\Q3#Q9''.*)Z:GF,@V/.<>H8 M(EA:#,MTIG.=Q2.D/U8/%*[4^X1>X3\]B"*=P:8UVL"XZ@:*B -B)E)LH=CK M*G@07N$44F"*(US,AGO/7:\=!Y.9;U>TV862\]I(K%.[VG59)P' M$9,'Z>X#7,FODJ^KW-Y.K&/"EXV]>4:^Y%0]."OR)SL):9I/=4Z9*-*DI.T2:&95]?1G M=;>;^DLC]G0;Z7:T\]2ERMQ3P>Q[I@8Z\ M#5^%!Y]IUA]_)N:Z/JR:P^P=N#8ERW5AX"R:3XN7E8CUN!)U.%U(N2'52@V. MM/1@:26KK+Z&$&51_0J:O8M'(A EI9M>Q:B4CZ+ WGJ)"$]*M3XX;S2N+,B3 MR9:<"F5/T-.TK5R(]>L$]D$_P 3HWHOOZX/X8>H[P7DSN"MYRWLY3>15(?VR M/X8Z,(#GJ0715PC;-PF%Y+SOOQQHE%+>7A1BD]\M_>MUR/)'!7:;GV@1I&\3 MY(\(_5;V0#X7*!V(4D)TE(4E98M7-D',^I,5MJ22NBRVJHHN*[-[C49=YSQR MD\0'FF0O-]Q<&6_QGK<][$\3I2S-^P\T3W3^!'/-"T;&?Y!YH%M_9+A?",S_ M I'E45 I]?I1?KX?I*!<5O%LM-@Z(5S,?I_CR-?GR 5^+1/?/Q!TMYI^+MAN M9/H'@>QVW9'!M5R"5]+.N1H?5AH,V>\@#29BZU[A4EOM8?0OU.G4C?<"-);; M1[7*\ ?";^N?9.:C&;, ?Q!D/'56PD^+^#_*GR82J9^" MA4]@9OR%2JL=FJTV;;J7:0V1Y+0XCTJ+ RFM15,4,P*9D"(]%O.4R(]"(.QO M+]#89S#^E.ET/#A+D5%0D8E&9+IW$2?&1?"R2[+V0P F$)^*J M_13OT+E59+FJVV3M2OSE"U[\0\NL"/ULK\#X3SW3_" M7 !OYOP'078+ R"#=.T^IX;J0NC7 .4S_B2G%SRO;AG_F2X1.B6Y_)$@FLX> M#L59_%% EZ(-<>*BS1/'%&=>N!B"3F!?>,Q7)F.K/3]3G%\'7%89YY8(6:IS M^P/!9X.9YX)1C=4?!$Z;-$8&JX8LCZ_@9<"4QF\Q#'IT[7I!/>U/8<'M=:*K MK9D7R,GP^M#56F/4.1A6M7Z=W>3W(#@Y%-G%#@GS'1[=%FJW9%G^&V6/NXS/ M-D\T\1[I+RG=YN%'MC7=OXTDB1PFIS"8CH5CZ"$&O$G4&GY+KI9_:I47FG)Y M%R(0)0.10A"0PLU*T*G=3LSQ/LW8'HY:=<.0KR&D)_T&U8KP)HD_0%315;2% M_TBT%]=BUUME4WK'N'>?5Y%$EURSIU\C--T=K 'SOZ\5H^@(U1>!$@+^2 4&B1\)8CJP.QP M$11R9NZ15=.OP326R6"MB:P$!?L9I0G;["BL +%Z*C(:AS1^!AQ"DPYU(=. M$015PK7)N6N3K_/(RP.^MPX0;& U*Z2%&>R"V]M[K@\J3.IWX,-QMW6!@E'Z MN9!@EOCJ$:X_N0'0;+J:E.0+EZO(C_<4EDH#C'3WF@*6U^O=5ZIQS?K M,)??PY)9LB-? \.3J6\26_1(N3*_24!EIE0.FU2>X/5\PR*FIL1YEB7L(<_@ MEO$^OO&2TS2"4]!#B@.3F>KDQ?D08FMY+3Y*M\%WTCNXB"Z6RH L? M;ED&9Q;@0_"]>(Y]H F+@PV)J'@>KOPL\[Y W/_SCOD[PE+B::*2+)8]A<#P MOAM>>\,G#P5V^=5! S#4_IF2G1>0!RAD"L7H0II5+\,?Z".+X A"O%-7DCEZ M'N[DM^N-_>3\Z'>1@CBH6^C4;B<3Q,EXY=_M^5A,L]C_;1>' ==EF4FD.%2[ MHCU8,>1<0:BAZ+R M.O#C6)DE$43Q1H\A4]G(H.]R.'+AI;OS*(#_0![_)R_DRWV^M[WPDN2%:_Q7 M+\Q-6[VA-)"CQR"3Z,#1BP!BS!BFQ^ JS)R->+$C_M 8;N!4K>!)!%/G$0.. M3./#'[1BZ+"Z*Y$[Y20#RIWCS"+^\AO-/N11 M<.SU!L6[>R'W%TNU=5?JZ(+8RVPE'SJ"!7TB&1#!H6&6<^.ARZB^EZI[*IN\ M0V\6@L#9X!WU\T0^K&U?[W9TP>['%@K7G+BE/68/MA%[\%O.)X^%0/ML&R=G M*5^,D8I+E4_4]2IU5AO<[>(D.^,R[)4SB_/UM&1TYIT8R>%RMRSG2(/SPI5$%:!11M2T'8S^TQQY6;"O^^"*" ?43"BD/6402 M2#0F(T2CE 6B#F J)K;Q6&1KO1EP(:PJ2]2D!YD@JYUXTG'E2T@S?)/[=LE)Y1[PAGM MH)6<0+@S+!4?8JR5.WMO)U^K<\_OU+AVA],IKFV6_CV/*/GA#<[=X2P:+[T] M+)60JZ2KZ)ZOL+>)MZQ0KZ#O^O^F6E84QM2SMT5/,?+YN MMEWBS<(9*30Z,'_KGG=ZMFO<.L]HA?$[<'T_JNH[> E+8?,J]K_^\5KG17TN M=^1\=YX5VHCM^:%2B<2E3K!%?J D+5036V%6J(-@"XSP-^J=H:8HIR\NG3&?L4,DB72;(YD#)F<&%$7E3E@AE1W&!N*K%6KU?D-(W# MHB8Y.=!X$1-T\UR>0N1+F K%A6TC=QUU_#C)UR9/2IKV'0_R^ (7U+2O1:^B&PZ0 M+,[AZ3I7J\?OT)OP"B%IF/&Z8*H?U95!UT#EIH:SKDTFN'8A"I&R8 *YA:U8 M )^7IK'/Q*)3V-.TP$IU,QX*,TID=/@*0,T(C<;KN&"V[(H8AGS M=HR=[D&-!>^VHU$?%V8%K0PIQB)0'CCMTB39S[I2F0;AE#%K8 M,G4*@QW$4F> M@PLP$'?')0ORJV!R@AK+^8-1^W1F%F4;<:911RG?;XD@-(A'B1V[2 M=H_MZ(+<96T4/HKY,;9'[+168H^(TRF)DRN(O9'D'?OM7NXG,+WAYQ;I-P-=,S>IM;(?;Q#S?JGN19%#,NB9."NO,#78/6K4>Y77W6.9K-Q[>M'=8WHB(Y_V>:/^;SJQ:6F&U N[%"O?X#>TP?[4ODWDH0/NDF8>"\5KG4Q% MB&0Q)(<#3E!QB[/:$(_XWD$,0W@(Q"+BBRT:7"' I0*7F/>#@),HI:G(2+JC MA*O"LI>%W^;/82-%DTBBCM:_LVLG?^OIX>7ZH/+,=D-,0],5P(Q)P6.H.6ZW M$K@QBCT/Y,0ENQ7"SN2V*IRS(HP ?F;3LOKM749-IQ32[Y]'@7;@]UX.LM:# M,;N>2 %M@/KUR.?.;HAW,GVD'Q[1+'F(8V_]M%NQ<7RLMH0)=*T!PS/J[Z(X MC!]/DK8NY^Y_H1''G)"K?1[L^60$+V,S]D1M'-ZV+W*7[V4"W>FM.B)V^W[R M#QWUBHOP^SH?)*Z_K!G \;T:'X3AIA]91*\RNN\=::UW1.[V]LI;Q9J6O1 [ M? _A9WI< (R(X(0MTG1Z$PC=$=RF&57^2Q*GO3V\Z+16[ZXI;>79HL<:O;HN M^$QQTX(),E^>1G%9Y?F S)O/?3_?YR++Z"4])!025,']"SV$5%RH\F7,/DXR M]KOXW&@C@TTG)(\<(:8VI(XE4]%&C#J3JS@X6ULE"-$EV9!2%N&[NC3PKKJ& M:ILZK"V=51V=43_2-/T)KD1*TP::/'(3HPGB#@YU,QU9IR/'G5U/Y"#60WT= MGRRZ(8:>/M(//ZNS0Q+GB>Z6-L:)[Q<74#@PP 25%M9KZ;HB%.@R@ D&3/U6 M@@.=XL\-!.Z]?S83R(U0ZP) I )'ME/2'QS=>"^0UN(B3Q+SWJ>U W((Z%;6 M]":OWAJQNUL(/O+"G!*OC'=2=29(NJ,T(P'? MK,(W1P5P(Z7\ 7):TX M*G,6ZNQT?PTV*'GV/&5V;5#FN+">^Q(Z9C;*.AD=/%*_8M +DIOBJ$26S71+G MC[NRUFC*!124DP3J*8I\&QN%80") 6^CXE/CB'(0\Q(W!>FFL621U%]0O<=A$_NDCBB?V=U[7RQ]L;'].MS1K&J#1YXVQN^4+3*/]4OU&E/0 MQN&;,RJ; =$)E]P_QV'PX/F_P4$."]3##KL#$/NN2'UPB '*-;QE/^S+^[YJ M+++R/SKUV"D9Q5%@*22JM?U29BSXD!JC#9*#B,6M4!L0TQ\(WWA)%M%$/7SK M/@LVM<>,?S:J'I\ -S;&CG16LB]WL.&I"?T@Y2E?UA8/97&=7=4]^N6=;[=NDGA+TY2[CQ=^H)9[+G,GI*#73^F&W9>A!_XM6)?@ MH]U7HT^ 8[-V-QJ'W2UM]3ENL0;7$&;@%V)1IT >6>O;V?35SS@A?6_0>O/<>9R-P Z7HG863@7NXJX MK6B:W7J9S(L:W%!N["CS'DU%.WL10.[<_8U1?X)BVQNQZP]08OASE(>,5+PV MI.!&;L7YIV1(*HZS@ -WQ(>XZV7*8C:I2,'Q+RL,DJC[+N)%4;['@A8:C,D_ MX7SC%C81;ZTLV=Y_55AA80HS5+1T7@U2V.@P&5!HS(I_ #LB^+EZO;:4-31] MDR9]4:'!3<)\.@(-RO[K1X.Z*7JB@>R\;C0XTF%V-!#\T*+!1-;0]#T 1;%* M&!PB;8AT:%*GU*%:LD"Y=[IG^?X^%B'?XNNFF].1])!BP62F*B,IQA##'FDQ MB6[3++,/DD.9=7R[I;Y(ZND?.Q=OX6M[]P"@B)5*0!A:E;;\JU3Z(?'#.(6H M#T%BX9 ,IU8^0NH3;-YH>SMRO25*!G(?RQ&X>?>.C9,&[YL&L8 M:0Z+D9K O[$!4C0W*U.K%XH%;]O69A,.3F=^.9LNCGVE#C6W-*#[0W8*-5;K MS+;>R+VLIQG,NR=C5\3^V5>#R79.%:O3"1G#QFD^4]07@$EE!U1PH&T<[SF7 M%-XXZ,N/NRSV?Q.FN4_8XZ.QNL%XJJN"C\%FLSJ4L2.Y&K@9KMD\!SBE$*3N MHT(."5-$28(!HI8W7V6@^FX@%0:2^]2LV4"8<.P^\0*^5[GT7DQYV_O26#U& M-9BD'R)I!%:-/TUZS(TVBBJM'D@Y3]4,5 [%5(TR73G.CC<9_%<@SE[TJB_B:1; @4L*>1%FK"^_0 M=IS9V! ]AIB4JX/#<2O47F\4=K@[%R2Y)WL'MU?*,VH'Q7G5UN%K%I$@#D,O M2:N[Y&\FO4P^5N03B]@^WS=*1>P^$R#I*IJFNXM+I@$+E2@P9_6_P^V)'A-*RY*'3?$,7\Z*CGIC*EZWM@ M]];R*VMU#KP4WXW6!\^GYR+=A=7:L]8<*43;*FK>955M42^G.D2>;(\$M(DD MCF'_,Z&J-UZBDGRKV"*T+W]^B50-#!ICF5U_75D0%!HJR4P??4LB"_8%%D%OJ LH"?*9FMS:U1N_, MK6K67;BQ*6K';9=XN+M*ND01)H+R!K)JN7/2>50]<4V6IKG0613*<%K4R>*U M_.I>R%N\BE_/2_BI7X,O\]X=BIRUN=K46G$WY?O46E$;OMY%M-8]4OB#QY*_ M@I@P_X=QFG,KVYG*T'-=+MFF?HN;-G5;C^NV2C^5.\->EB5$\"$:(V=UUV:W M@- 7H\L7S_3?RU2I8(".*LKM/9"[N(6ZNFNW-$?LTC92#QW(9?()17PC'-IY M3>1%5%;IA$E"98%T]8X-MS>__^*'.80)6-1&[M%]?7[>:H@.IV_LNRX$:%=A M6CC8D)(;@HK)BQGC0JL.R8Y PV%&:DW%ZZT\-N":BX,#@\4ZNB#W?1N%:[FH M6]HC]G$KL0?G/SVJ]%V2ER=@CI)0+ZDQJC.PNN: 8,61O+I6M[)8<[]5>7.+ MZF:7;NBT&K]NDWVJH2Y6\ 43\K5BNI755T6%A4>^#+\OTACBB&:5OL0BZ\ ^/H!I?H M'8C:T!PY2G0IVC2+'[=%[/N=(H^>SP5EHI%V>QPVN:*U=354OCX^ X,@;9/N M(],N%GL$H=3U5A=%K5T^\!9>^'?J)9^\+$\X>ACNN::BB=2=)S59+07C&(+X M7]),I-_@V)&8[U.W+)(EB;PGCW'Q0A=Y$IV:H88Q!:S(1T/:)G[X<9TMQ#1H M?4OW'HL"FL#19&$ *R/V(+8J4.EK)#.:V%):'8ST5FR$XX!C0+'<)A?RLBQA M#WD&F +WV@WN)-KZZM[[ 6[!_?@QDO&BW,FAO/@./E72DZT07A38Y1X:AO%S MT09NS_FJ0&O@&L86^QGJ1ZUR15C#M/+0I^0OKU^$J4 $1WE>W9CKW_/PA;S= M$+'WNJ0^W3]P@_R@/ED8X$&C^^=XJ(6J[FL'\2-#]()MU?6? M\EW9RG%Y*JLW(/'& ,7 DG">2*%W*HO\NQ?E7J+P]OLWQWC[_1L7>,NI&&LC M]"'P*C!7-T9_U(7>KP9W:\I@1]YLQY+7 ;R3F+TW] )7S. [B57J\/OV!'[? M.H#?#]RB8RRC^K\&\-5-T1M[H?-K@=Z:+MB1=\N%S7:O 7HG,7M?Y 6FB(%W M$IO4& M7QC8^%>;(R"Y5QC84&)K!V+[,+!!E%X# M_.() ZN[TRL+ W/S,]2Q?T5A8&[,M6@86)>*'6%@]MW7#N)M86"6?5\#4+L, M QL"S>L( UO*Z@U(C#0,;"F++!T&9J576QA8'P*O G.-86#6O5\-[CH+ QN" MO*L( UO.[+VAUV$8V')663H,S$:SMC"P'OU? _@:P\!L.[\6Z'46!C8$>=<1 M!K:8V?LBK\,PL,5LLG08F)5B+6%@/?J_"MPUA8'9=GXUN.LJ#&P0[JXA#&PQ MJ_>&77=A8(O99.DPL"[%AAKD%<#L('A]#; Z1QA8'2W1A('-;@IKC',4!C;_ M6'";WO(CB^CU]B*A 8,*K2)-WCW,XT<&L6F/%-"L5=4STAD;(TY)URWST$$* ME$4A(D&;%,3)KX+\24"1V^$+GUUE=&^J5M#59X7#^$3EKJ%<=EC9<#Z5>_(A M+;X0/!S5)II7[R-]<;GN)^\+V^?[=W&2B$W?A7?@WV0O/2S50F*%CMUED"X_ M-_5?F=MWJC$Q"FR(XDA*EJ3@B0<49K/*19XD?),D-B4T( ^E#7R##5RE8W_G MI2R].R34"ZZCOWH)@^4(9)E^:S!CC^[(T:*O(!') MC/#]:<%.9&%W PZ+&:/2>AO&?!O,(:&>.Q/L]R\!>'VAW!8CSC[K,_&H6NZK1,JEQQ2YQG:>9%HIIK+IZBR!<^A?^%2G._4?,%'8[_ M%O?\IX#5T[N7C@?1UIVP.Z65TC4W;>V!V7'M!!\ZVA5!1E,QF-66&>J8A*63 MP]6>HQEX7N5O$A;Y[."%Y."]P"PNC' O@"WV3@HWNW'JZA>ZI868U]M2=)N7 MMQ.271$PC#&<"3J&T%P)N(Q2;?Q* D38D$H(> 2J>V4I");7H6AL./T[T<5! M["IJ?E\ZDM3K :L3 PT$J)+.ZP"E4W46!"+"(D>O(YU::I:7DJX0I^&%Y6AB MKPYUCE]>CJ/TJI!GDL=OH[!G^>>!CJTURU-!1_C3\,1P+*W7AC['3P]'$7I- MV#/)^Z\QT+/\^SBWMIKEK9PKX#E]8S>6UJL#GJ.W=Z,(O2K@F>(%U"C@6?R% MF%M;S?):;'K@L;#9NF"BR_M7XM03^^JR3YAF46CJI-7ZBZKK[?&#JRL56Z;> M6@5'&@ZC@-2-1IBC?(#9KSOVIY@#M9DD1W#3"W:XVBVC'8NG[^J_M5?L!YJP M.%CXM:9+:_&UQND[3E+P+%YP!@[>IKNT2NMXP1)!7Y@ XH,OQ1"^$:/7,)E8 M=T:*LL.,8(Z=-_5$O,#IJ+,D_HTF&[&?2.AC'H(K MO9 MI>DW<+*;Z$%]11SRRUQ1?4-A>3[[=X&T'O;(6Q2/FQU5Q7!CIL4J8G2H M9PI7[-MWQ1C=&)#8J^/*D7BZ@#H$X*NJ8SA(1;FDE3O7P5>N CJ7-<62M2[L ME#(5NNC5>_UHVECBPK[KZT#4.8M;+(FILNX%6DB=RLSVH.JHD,6"YEBRBH65 M6J82%GTZKQY6&XM76/=\%: Z9]F*)3%55;3 "JI3F=D:4QV5J%C.&$O6I[#3 MRE">_V?*4#$I\/6!)B(7M: O RB8?/-TO;V((V/L:[_N2-UTJ"'*I72/ MOMB7U4-4&;RP@E=]?!T9"IY?I20NV/*/A'/SG?%7-]'?HT_1Y7WT,__/W5=$ MKL,WI'8@\=7-V[__\Z>W/UQ^19)JX<[_Y$M#&I M%QX+B!]^;[6;+G MFNQ2>3X!-V89I1$)O)>E%^Y+&EWR(B4SB:.D9$>*7Z7@Z.!$8DE[7-?''!\- M26F*3)G"-YAB%.YR9I\XFWV^_YS#(<@MC>BS%UZ+&:/Q?,*B#VZ$M5-9@]7V M#OBQU%+^P0"ZHR02A&&4)I(X1U%!72*KMWC-R]FU5@L_Q8)('D0Q(8J+$]2: M6?%"8]-//OFR\ .+X!BE#7^/JP3U[XT;LOJ:X6A-:-,5/XSUUF2R%>%6G8M!JKX_=?6)I1+OGU5LXV M]_'[+_P#TR/TOC20@O0HDYP>MUD20'_XUE>/L4=Q1YO)#2E9@L=(IB2+B61+ M?LV2G'(,#E/W9]$ZJ@QS(EL*JW"A7N8X=2"K[NC=IY\68YVG-O6NR76.SV?$ M5@0FY![85.^U"A?I5+MK7M&ZH'>%;LDGGSN*C3QP<7F),Y_J34>.4N>L06=T M"TNP <>LK#W\H!>9%3J^C6$&K#!+&BN#!BM5EEIGEIQ1S9<=RPH[M^I!9!5. MU=0GDS^+M&6= ! #E]@P2F\1M5BKEU*+7PUY,""1W=#PGC76U+B)]$8$YVS@ZLB MA^8Q@^VF-L)TYN*F47](XG*/PL6'!Q-=U;L;VB'%X4[5ZIN)HT:(ETMF64?% MU(@G/.Y&8/U =0SJ-_8$/D8-"NG#\+35HA'88NPXT]&U6K]HF%$+K,^GU4[ M.5>H1/8SK<551OZVS-7MS9%ZE*VBC(_358+9#O@TY;]EF M36*')YH\Q(,/_28U1^L>4Z1\ 9:0><0/\X!"D1UR2.#Y5?8BVM-_Y.P@BXY$ MPTX+I\>0HU)#%B8^[;$BK#"H:\*'H^8KP023U!/AP'']+/='_5,K7&K(_5I. M_"'S'E@H:H/.M+-HV)J;VB#UMU:5&C<."/;BO78+DVQ8];/SXGR(\(DE?HS8 M[WS6>'A1A^KB\84\%F=>Z/Q@?!+EZ[L'(.DBN_"2WPK6:K%LP8]#@]EZ]=:-]X+"&E*O&9LC!1+[)0T7[@6 M+1$?GG0(/-G%:T%Y6@?_42H8T4<(A;&_?IU!3Q\\>1O&SRF!P7.<>VK0V$\%ICXJ5:Q@S5PR3X)QU6XN]FN2=R\Y*!\QE^";7G M<6G#SO_H0C>]?L@\%L'>Y/T7?\?5H'S?(M2]?@C9H]C9M>[ZQQ)$ZN#3&:O< M[8^BAGVG/XURZ]GEN]7W-'P_);&2 /;W5,D@#@#DSCZNQ'"XLS\R6Z/5ZKNJ MKKW$.(I(T6="<^F+CQ'D$"]-IM!JM"-6#XVN-3]\K_OA<3;CF38NM@$?+LW6 MD%SD%-&PG#_^C8)L-#A_XI\^5FG]Q)?P\/PXO>@(,LCQ:*AAS*>9W300(\]@ M528[ 2UX$L54RXHI0<9=@B*'QBE Y;FPCJ>L4V7*E(LBD2_S:P[4D%\U_0;' MT0H,]0PUFN:!AJ(D6:P*O.M:0JN!-ANB&*,<%4SKWF,F!,4]DD@ M =;77DH\"!D$]CB7-/9PTYL(EB>VA>IR3Q30 MY'K[@3NU%_Z=;TL,=AQ%$+FKC#=65]ID.VJ(W6@"I29/I5SRKV(_-Z24 <*8 MI10$Q,"3EWTAL_U['KZ0_Z^];^N-'$?2_2M\69Q>(-T[537 [@P.#N"R73-> MN)P%V]6#@WI8R"FF4U-**5M2^C*_?GG1A IAK%(&8HS.G$!%-(TV MK% BX$KT;")J*VEU/O/GH],)(F": 8<8I!#BK=2_>'?MU& M5QV#!4KV274LB$/A=HEPY617RL%^=7!U?8%" B)1@O+HM=B@-=^VI4E2I'4< MIR^L95#0R[["'YW4N+=GYK+0?>]-@1J#&P@F;)U5N[=GF#;Z_KD#??_L 'W/ MU\1*!B#X@,X<<+C+-,I@+!*9"R)WZ@0,E@,JXSR0V:BYU>"9L?8!I(W:Z&&# M,\P&$/QE]HEK"[A0K6L(G>7T#);1]I?/=A_IM6Z/\OW>?;'/,-I&2;3=;P]F M'Z#H\%V8/J]>5Z0IGV-U+#I RV?<&#.1-(CT$?(544;UF1)>1.:(KO;%^P./G^/"\8U"*T<924"P'%%W1A]5Q^\S4[64,),<0"!V>%> MOJMJ8ZYM N2MO).RM+4(>0@3ZEG9ZE0\@XV)TXD/;DQYD'OMP$AP14#G/\N882#O6:'[#""B+\]9MJ_G &$D:U<)']QE,UNS M!^@L9BDK]&;:M8P/ M&;DRE:K%MCYB@+2O^^;3D_DNH!G=S#3NSNGN5QL<[F.\7%\$NXA:@*H7GN>L MU-M#\!CWQ>-R/8$[I(+ZHGM*= /LK"K2ZP[KB@?=XBBY<#<.>3G&'/U@C(XR MV^T-_4/EB5 W48*O"[SMJXH^T@7X8)=16!SE0^T!#V\IL77'=<]8I@P0X^#H MJL:D2KN^E-&^JY9_86O>KWS)*W]A2YT*<'_6-$M_:8E1$H"]7E<34P4F%HBS M1"7/UB[S0KR#@;X&I"'=B'9]O\NUS< CRL4^R[!DS3T)(O/ DP.C:,!)2<%_ M-#E4Q!*8W.+7 CV\X/B9M$B38G/D2:#PPY256CD"T*YU2=KB.GEX2>DLT+?$ MT*$S#UPY-HT&M#1$_$>7#ETF!QB>L!DE]#88BU9@0XM!$X&^'29O#GH)Q@R^ MB)1F@S!'YM'#F)K,+%#F6!N+.$.9^X$TYLP$^I*9M$'HC1HC4",2F@O2'!E' M"VAJ*G/ F6-E[,$,Y>T%RI@S$NB[:O+VB)[-Q#,BH=F S*%Q]$"FHC(+D#E2 MQB+($-Y^@(PQ(TUTY9IVXM!=P!!G.-U$D,0?\&,@U4>GO.WJ8RJ!0 @\H M6296+00ZQT3*$J,9)NI4YH DP]DEBB1\QQ.#:1,*D (@K<2V=4 GE<@:8RRE M1(?.3"!E,)U$F<@,8,5$_ ML)A+BU#$%=>)(];M SIM1-8:(TDC&F1F@BI#"2.J-&: *L;R(%11Q7&FB'7[ M@,X3D;+&:):(.I4Y8,IPAH@B"=\1Q6#R@PJ@N$X-L6T;"(DA4CJ?8J^9X(,V M*OB.!381P$TRB!TS^)<*=K.)]B,/KI/J+MB$'27H/$^,&4T./?GI> M@XJ$6A-CS0)5,J!*"+J:^=;CE*?93/[=3*>FX\]H\C%#"-,TONI- M3901TO07U#'0AU\__1LJ4O2?O_[GOT&&L6](^7ZUM<'/Q=^V-($/8> MTF2-IP9L8U2]AC=IY28'N5(2Q$2A+Q@288Z:08VY)C81 _4KWH2?$7DI-71'=\7W= MK+ +C((\)X*Q\FC;,DBMPE/V2U9NC:) P)]M)I\RCXA(."2_.7 +RX71')B, MLD*<5_6.->/6?J_=044T5\/G%S(( K3#1)FD^'>#N$B69+L@"K\&=$.(%9&X MQ]ESM"(K.%93(DJ>RM79'=Z21D3-Y9K?W:*G[UTV.ITD9 PU9+ :64^D!QUO M3:FGZT9--B:87[H@YPW[7M_GL?&[_X=?*,<,EK+#^\I*>9 MK$5G'MA_;!H-P&^(S ?E.W0""^TY)@,BA%JOV(G-E3'\LJH13[B#QFV#1IKH M9ITQO*;7?,P8JZ0T+\P6S7,":E,R\\/MEE9@D;O81-F,@-N(T4^ ;LK?"_ V M8JB)[BZ:@.^3K30GL#X-HV<%S6 1&3*T.D%4NZDY#HS"B@:C-<]?.CSJL(N; M8Q7L%8TT0,YS3!TSE K"CM:$]Q=O)RMW/XZ^)*;%C"-MU _0GF+R9(:516A1 M ,0E*-.F;>>-.S<9SQF_WN[V!0=H&[+F&O:1RQO^?0?&0*%2RN.\\ M?(]U.0$46 KU0UZCI)/ 4U0QA1KOF[,&"77?9J%^"*&/)]#P)Y3P) M*]4BG'_%04YB\'"9W&&:LT<4)PUNTR2K_ODYR*/\(7B,^RX#FZ0/%(_.U+Q1D(1(Y(Y^,-9'KTX[<.7/;X+07S+\ M^QXGJ[?SUZCO4IM<3U_<;US]3L?J[^:#RTA(KWTCJB&,:LKH!Z4-8;1WZ7V9 MTK!JS&:#/7T9[>/J=X[V_FX^C'8)Z7E%# QZ]7D08:Y^;$9 ME />(1J^N(**24:GP#X"/CB&DAZF)T7A]X+;@ N2K1AFW .D.,ZV>V+G 'E M![G N+.'+ZC0KVXG!APW]\'C!Z0V,(PY=<3)0XEU)U"9$4,.RTAT*?=1V4<_ M^NRC']5\]*.7/GHHM6$?_0C01TVIS'W485&&+N4^*?OH)Y]]]).:CW[RTD:Q?TNR>:'U/PP\6 MKESBQZ+Y5Q]PRG<'#@JJAFA-_9)] 4."L@JZXY^20PT]LBBI.)^MT^PL)[P= MQ0"V+/"5^3[E1%^+*JD"C/-58R4/?'Q,5:EX'K(7C\H\2?SNIG;(=,KR]PCX M>MZ=8PJ[&NJK<.G.P%U6S0BB_\KU!.S,B@IH[^4W;* NS^U;PN%"?5A9+0OY M[N;J[NVM6YO]+BGNYG()[8(G\V%C7@ QY;#)Q;LB.)[DC[2]P'H M0H$=X=[1IV57I!=[:> BB%?[F/UXE\8Q6;2\!%DX=F0R(5_@"&/-])U'GE,Q M!8QS]G0W<30Z?A[*!*7/_C2B\GP/U!9V@01QT0\J,"HE=GU@"O9+M)G0]U6* M#4:/^"E*DNHL&B1 M!@#]0HKZ/Z)B8GY?^U\LU[> M[PN6AS_!A C=S?C]@/6(_B!QF\N,*J'1+Y781W5:O83QB3[)Q8;T8\5ZJMV> MHR6:/02_6J_QJHB>B5U6Z18_!*^TP.\%FVGVQ"++73G)](7$2@2 8ZFZ,41 ME.\-&-4TE-#U@YH5XKP08<;K7Q]BT#=>_=D-J#BQ2$%,8:C\M:'S_#3/+ZKX M3>QL#]_]A)5OG]ITM ?OUB,#:R2:$+&K1=?^@\)&J-R-79 <[^#9D MCY0='+8W'MQ$E1#:Y/"]<7TS=$)]+]+M-BKX UCT-'(ELC%8Z>0&%U3-Y?HB MPV%4]&1YCC0%ZGDR"M:E2GK:0:]*,B:V[OB[35&(UU$24<:6RX5,I5-)%RW7 MB%-VEFAJ14VZ#\DH.YS@VRHNR7J^"%A>16>5.X5N0"%'5?'6E#_2!_+$+RNZ M@3%=NJ[ 8S%)'33YRYR3:R]0K/*1#(8 RV*#LZ\!TV%H_N]I!]031U6K9_ZN M1M"G_4&9C_2=1C1%%)56WT_Z$^FTY52@+^K=;_'(1!]$V_Q+% M.+S=#SQI)]<3*-9HJ-^_UN_L!GGN5Y#>T.K_;8$(&\3Y(,:(_(:Q@K 1,(T- M.!D6U5/:].$F'#UCATE=!UI?!MO@">?WZ?YI4PRE"\OT\\O3^U4?\//C3OYX M^8#LYGR\9((XE\6$.;*J#CZ!^@PP^(4"AV\ST-L5#X3+0,&3PS; /;53I=:[ M"V(#P![8+:?V^PJ4&J+DG%<@N=\$&?Y,I HOTNT.)SE;]9QG&4V^8#O@G]^: M-F66'9._,4D2?B.&N VV>+!0R42L@+O E 86/6D*/H =]\)UZQ*U#XTC% O:DGV0_Z/I^J&MKA0(*"QI/0 MRP9G^/$-$<^O>*(T0TF:G-7_CG)$FD9%S._$ELM1FBS)KL?NBWV&%RC?/_X3 MKPK:XAGG176Y-F7[5<1D11:MRMMQ 4KJ)6Y.'3FOB#$^;_1B4X#R'5X1RQ"F M.]*5< AROFM)?E,V#YXRS/3X%9W'Q88&Z?3W!.XHY#T'67TA+TFS;1#'9*T1 MK D 52(NJ $2JGW*C,QT?<79*LKI3@,3J33#V2:-0])S%[SE[ ]4HY^XO!E, M!%K1ARC+.\-1GM,\M*IS=E8I1BQ2VH\PXI#"+? K>J#,Q%\1B@EZ)(P(8\*@ M)%T^\+@F7XEQ)+:BOZ;9LO2#EG]F)F,9Q>F^$,UO>8_7UK"N^+")3."$&"O$ M>3FJFV#5$%Q?/IH=[@]7L^_ \O*@"="Y:4@A,206_PXXE.T44_L>5!,P.EY9 M2JT)?5O-C:_#O%E!&0[&H:Q4K*MUP@*#$B>_[:[;V-T"J'\,J%.O"MI_AA[\ M]TBK_^C-CHC)UO\L&$W6-/IE$= .9P496#0V)?'DC@XXRKAZ/8"'J99C1,/: M5^1<1GN&56+J4)J ]V[[]F1X=)L+F4V#Z0%3\ &*8Y.;5FG+5I4)X&AC.EU/ MVJP]>QS[RH%*0 MV%[(;%X ,!4_&"#LQ3FKB%Q%,P@@R]D^JKC;6E5#1"J\\,2\%0'Q O M4",=[=C(5SVWQ"1T_\S"/8YC7I>8EP(C/U^]4C5PYZZO0C?H7BRI>,LA1_I M]BU9T;7=A#-@I^DU"U3R<+2Q:EUYNGNPK5@X? [,"'S>C#RX8IX+<,B8R*RM MU\?,L@ ,2%-I>G(ZD+&I_<;U$S303"Q8*J-'HM+=P:.=&I&:-V8D>H)&)<4%=!.JJW8].),%3LYJD!LQPR\'EH?&O@> M05T$NXCH1W\[^*;-=-R X\S$9C8?61VQ HQD4VL,)=*B1 MXOAXQR%SUMBKQ\<3UXZCW!FXB7#\ X ME8F/$-(T(^A0.9F^8#"32UA7-" R.L1/<.86@+3'.A[$E,?I?G>CE%/0$?@>(TC^OY,?IUPZTTT#W1S@HY>TYG79!S7P08R_DVH M+02 %.0# )$ C7U!JS+$./R/-2<^%S 50MU_8+J-@,/S9YR1%7\U:WRCCTK1 M,'AM:^4L+\C,H5C_XTRTXI:48L9 ?H(Q(.!\ZTY8I0 J-:C#9,1T<%9'P^-O M-6+2V<\3;K_D'S/"P6=P, W\@?W> OXL'A29],LH/S,2DKDER'+Z*[Y6F,N+ M(_;,W/\.R;AQ 6[[U 76@4'N\)8_VTQK$]*-V'T0/^!L.U3& MV[X(0!'?Y0>I7R2WS!\@TCLUPY1EUFJ0[ZJR5H/\,9C7PB-!>D3%=UNXW+=O M5/$[ZS':+R>'74CG+ ;R1-#(KGX=A1'\(XLLH7\5I3M=?/>L' M6SQ]F ^F-KG)D_E!AM Q?G*](:!Y(RD21/4^P6K:#W#^])2Q9&%T3: _2O)H MA7ZC=5?]16-ASJEU8BI-?V!_Q&_F*#QJZHERH]K,9HR^XSI#0-Y6'#V"(T9, M;K> C6'+^Q$3WY6%K7'([LM]3Z(BO[O_/OC:^5@?X&@HI;*(:(,= *.2G-SZ MS]=6U,L2X8P^ND/WZ+OC!\XG5OS^N]9M\[YS+OXZ'@.H+L'[R\U*]P3JD!KJ M-X=!4MV@EZU5U,) .=O^4K8YEZ6, ;+&N]ESM&A/Y$$!G3ESR]5M+1FI>GZ3 MGT#UH)O#BKAVS2 Q#$R6UL89&Y:)%@XJ]8:,A>IF:,IU2W>%CHD:FDR*B[M& M'GC8:-%8 BNP&.G&'!-A9><"+\\*87%'_G6XL"._^I^'J*!EPZ[)XO,Y"O=! M?/X:'9:M&6H'%"-'5:-HV-L(X$)M7%;M0@*4*MU?:.BB'Y2RN=IJ>B/Q'U&Q MN<,Q ]I\$^T>TJNDB(JWRY2>3")=3MA.U/>+KV3RW^ZWO9YQ^'? OM&I2N4=K3\"]8]N&75'54G-H8],HH]E M]PA>A]WCX.^0W:-+E=H]Q#]"=8].&;6'$Z?FTCVFT ?"RS('=5;+>"5G.,ZUM47(#\B*J/M*UJ0S7U]]NL^KK'D(L]/5[_NH>+M.\B)C&)(OB3;9 MPR9(RKMNC1F7:R%]<_\ASM]DC0GTVQG MU E,I)WB=C3G"EGK**T8TLFY9(G(7U$19$^X0$E=2Q4SE0@"UCJAE"I%^@4) M2LMGV/9)2!]\I+-ZF8FS$F>LH#&=+W,[H$]IX,(VUP8)ZJ!E\Q7KZ]S?6@-& M3.^OU4*U7CX]H@?H:W[KV938]X.JA$J=?'LISLV'.[3AK&<$ MKJR[#U?S_V,>:'\*RU, 9_Z^T?_ !AX"OX=%.*U_'IH3RPEV5]UD=5V.7_PW M:,KI2FTZ-F9?KD\YA(OT;O8U9UR2R_CV/V+_;:;3[0]B91=N\W^4DVF," M^',H%[RIH#:W)9+A#_.W\O;YS&']-S:G.8/U(_;O%M:[/X0=6&_S?I>PWF," M^+#.!9\*UO_"OTG"*@PX6A<9_C2EP6:.ZU^J+[KV?PP[ '[%_ MEQC?;P7X,%_+/F>D-_^!>LH;SQCXZXVO@Q)Q;#US2;[MER#*6!T,$&?DBE*^ MVPGDI,]J^8A%1<1W.1&=9BGXDY5P7'-4E)/IB*B2B&K):PSY6^,-Z+>6,_O[ MGO\ #X4_9CJ5#PAM>OMC3I,SSPPGLEGG)4S_9<=2%D(R10993G_%UW!SSUZP M;?*^Q(9QP\\A=F@?(<(+(-3E>[=1A.:G=)%&\4<\8=)&\(.*PT0,I[$%F(2- MZ;^PF-'Q/N:S]LDIO/E,7;YW.Y]I?DH7^2-_S&P6%]?)*MWBFS3/JZ/IGJ_2UQ8XP@^J* )N9T/ ^#D8( PETJH#AR:!RNHXGB("X#-4+2X@DH%M>]!E9%0N(V.VC*RW.U!P@*_B4Y[T26$"K?185 M$L$42XF29^Y#K69EO%S?X1WYFANB_?E3AGE<.1)K*70'#GVJ MAA#13;8O8 !35D%[VZ1F1)VE884:7LZWE*P9@S\*GS5&V&7I4Q:8J\>IGAM! M)6IT_L;E.=\7FS2+_D7B3 :N'_K._Z1[ T<#13,A1K CQ"@QB@$'5U8,UIBE M!JV @QI%JP:E'+[@_WF?1PG.\_/5[_LHCUABTFO4=_S5WQHXL(RH*:)&3U/ MD# FL>[PK>@B@3!9A1#21RL0MP.6_DA6(9GG=4;@,EZZ.$%>ED[ICA.&!5\(H4E;Q1Q7R!;FXN+->T MG4S_0^40(8U^<.*6,/*M?;JCUH!#@L& MA-5/6WPLA LGSJ/-66 MKHMA94^(3B_H\TU9$3W&^'N2TS-V'-[C)$JSV[3 ^=>@8+6!KY,/>;%<%2F9 M"S_^Z>.G_A#V5() G=>I@^"1JT"-F,\H9"*OI>8D86N^(5.4.)0FN!3'1 MOI(3Y4Q0E%!)T;84E;X:4$J*/BP0E=9R%.[6IJ*I:O:(\T=, %1)@)@(2)#! M94P/QVR,G\.\R/"?^[Q@B0M?B/+XY7RUHEOSM/9[EB;DQU69UM"_'E"E 13. M3S))*Y]1A0#@J$U/#^US[H8;.QAN:M&A_LB2,(@ M"_/ONS H,&G_YS_]9= I9?L"]U(E$[3F*)F.@/U837[M.:F9?VHV2.3CV-,M M6>'^ OW7GS\:<_0\*P0G)_\Z='#RJ_]9OB1$^TVTZP@\N_X.U%%[5:'.>/1' M@ [7+Z/N<*JIF0[BU,95YTYR=PL?QM;Q?G''GZ&/+T,[I<((<[(5[$:G4W9\ M-]$J>$HOR%@C5LCQ)7[&<;JC2ZV_9>E^=W-S,;"[J] 9J"?I&:'9M97M"7Z' M5ED1_<.,(HCB_'#KE?-'M0!(D Q$5RD.M@SBX0!T WYWX73S5-(YM!.FNB! MPL\I&8OIW],XI-M<059$JV@7K%*+ML=FZD'-],.F@#%N"&% MQ*TQ\>\ %TR#8NJ#$R7F>#=K HT,!@9?HS@J@NSM/ D'7&*D*5#7D%&PGO%[ MVD&?Y,?$GG1>KYBC/(@)I-/7H\(HPZLB?N-O)24Y?:+6\NP^E4EJ;0EAY!1: M[*A)/V=F'&_V<1%]";91_$;C@01GPI-^ ]@CU0TT#LDKWF#2>!_P^*2@@ME= M%\;Y;,U8HQWGC0+A_4C;L&3!$HP'XDQ0R:55F\$E7MG2GW]R@YAU&>0J6#7< M'#)&22A:8]- 6^B8)".Z62RZ/+^' $&3*A[DT!!G4G7)%XVC%4YRC(+ZE2QW M^QFT"@P;\ ]XM4FBW_=X(+6UMS%0<))34MSMZ&X)>-]C1&#=85J31>?TD9)@ MM6%A?<;IL=Z#=^$&FGLW=OOOPO6U]6K\&LH0:$:P,&B=7H6SH&J?LYK/ MD;C#<837]('9N_0MB(NWK[C8I&%_=#O6 :@;RBM;1[B#K:''N'+"GSY2@VJD MTM=&GNAS#H0M?R@XXXS1EG&V'.I.JS^GCBAY5-)'G('+>->*SAV?UN03,J\K MG.?5\]9'"ITG(:V@1I^H?<;)'G,%\X%G9DZC!QG,3)BJ>:[F!&+0H="(;L:1 M$C.I$"[%6G1!YX+-_[0DQ5FZ/LNX?*73V=X[<&I%SKQYM[\+?^FI#!6!7EDJ MA2@Q.7?ZS@X N^D/,H/07M>JO2$B7:1Y,19ICG6 #,Y2RM;H.]@:.KS*"3_I M.?2:UH!^IC*@F([W%9&B)S:9%B2GM453ZAI1^H@R !!V6E#ZX-LZW&?]B@-: M)(%ZQ'6RVQ?T NG 3NM \AQU'QUNO=TIV >K2:TO4B>;0'](6RO +:K]EL MZ,9-X[D1\]R \475SLYSS9D-9+I^#C'QEFV48/:&8+.:MKS%.+V!.(=Z>[#A MX1+++.E^U_W]X80WM 0A??=%.:SI[ @4_-25'PICCGMY%+X,"&\N;*F80 Q6 M)C! K2YU;9.[]T>!%C\\& Y29#H!]5,UI9L;&V,]H H%39!&S, MMN,1OO&;KDD0@X(\QX7M2QM6S5&NM$ISN Y)IM?]3OCP[N*091;B;)E]R])P MOZ)^\3E8_8S3I\$89+034%Q34UJ,/89[ (X[) 77?L**DD?+##4,4,G!<;PQ ML>(E-9,I E$2%?@F>L;A-9FCDB?ZEO@YA?V\9/9W'(=?TNP^B ?"#CTR0!WV M5,,T20;J-* '*Z>H-&E"PF/I_RQDR=&&2,%>_Z;WY"U',"YLQ'DBQA0U7!%G M6Z,C98P(9T19.\U@<&"CR@AG[='A+@RZV.=%NL79':O(ER;T5<;NS%JY'D#Q M5$%=,?H9: XX])&16OL5NY(V:A%W'/)843@3B3LLUI %2;Z-\IR(UNEX_5L:.;.[SE(>8WG+'(DWC)\C&.GA@:7;WN\*K X4.T)4V6ZWORVWP= ML(7??1%DQ650#*4J&F<"'$&F,6K[R3V3' CTT2*GGC2N4"U0$B0"#4B+5 E M%.)2T9UF4:X%8I*A2[85JYW"V;?=L<_(NF.?X2_1*_U/?IZ$R_6:H,[5[_MH M-_S*C$IGH)ZH9X1F0T.V)_AM#&5%M.>W:B6^(Y-MF@0QVF4IW;IX0_N<>$&4 MT(.6E/$F,V#!:L30ZT$D\LWHV,8H22D-XE T+B#?.,%\Y[-(60X) M+>>ZHKJPLQOTN(_X&[!DE;MGR0<1SG\EWA=L=_3EP"A9Q?N0>.PCS5?)*/D" MQ<0EJ6L6Z0*%.*>5Q%>;(,K(?XN *$'^^YBF/U=$,_JG=+O;TQB"_KB+R ], M\'7PBK;!:A,EUC=>K'W5FA.J6+'+<)P9JKDYW6&Q;XP%6E?6H .A'-2X8N?P MO(E5&KM.0OQ*9L/T.L_WQ';4#L4;__^!*$VZ,U#,US-"ZQQ*JB?@:$E1 >US M*5[0KN1#@9ES^C\YXERGCJ"P?L=!X[P4#E" M[0< KK>X,<4Q)BR@W'VY".)X.5Z%MJ,9<'_O4ZQUV'#0!K /]XJJO=Q8%O%P:BOIZE7P[(_HNMJY\W0-!2B' U.IW&94Q7M>>!-E.#EFLLU&&]U M-@3N??W*B;YWW JPYPT(JSLH*4GZ=%8Y.-V&7A/H=^!T3@]ST_@Y2I[:V#+H M=F-]@'N@E,H')Z?]'0#[I9S<)YQKVJN:Z)U'C0![9+^LNN.QI(@H2<>.9UZY!YQMT4T:.-R@^"W( M(GJ\>S>@1%;/ ;)S^5ZCEY#L"]POE4S0VKV0Z0C8>]7DU][C8%Q0S0:5?+@'W*!K]!DMT9WKS0\[ MMJ"TW#G[MRS:XM&7?HY; 7?@'K5$5SUH M@I^R35'7*,'H2'>*93S.&FQ";- M"KI\HZO!D5>I^]H"=ZY!%5L;%%T- 3O:L+S:&Q64ZAE]28?M52Q@/$1]I.O@ MXJJ_M6]CM7^9U=/4I_%J:$7"Z**':L1"2,R;5-5CYW2_",,%$4KN++B[*7#' M'%*PM:+J: ?8)0?%U5XC,*)P3H6GTS&'<*Y$"T%=I F]=(63583SSV^W ;W! M0E2N?SV4LJ=$ +J?*ANCO1\BVQNR3ZLKH;\SPNH)U4019^0\6FR;H%1_,&(< M[N'5H.]4MW^4MYI[,ZR[I38^CIT&D38U7HRI?,*%]>;F_'+]/0EQM@NBL+QM M?[\),OPM>*-W*P<*LJJ3 .JRIQBDOL*NV!_Z179==;1S^N(@VJ*7J-@@H@]] MR8%>:=I7G.N2!SGEC78E=T>(P+8%P)T@_E!C3:@$4/0?4:64@-'\&'-!T2:E]*,]I.0^\ M2SF&,U\.VO@QU@;R7<0&\,>;J320:L2YS6^QJI/-XPXRF7PF0H47Z7:'DYQ- M;>B;V1!@6*'2:\G.UW<7I&\;W1;KZ M*?%8RE![X* PJJH( ;V- 3O\N,RZ([FBC!AI&$^K3*_#RZI6]YS7049?:4V_X8SCG%OW00&=GVF MY0@<'2R86\27"=D!1B@;6NMZO4@:-;2=[Z)UJWP;;(?/L"6Z>>F1QXJ/NU73 MQSO?Z!#=] "G+!SOW+G2?=&O_/_]CT;0&_(3^67UJY+J__M?4$L#!!0 ( M -QQ!4\;^3F=D&( F3!P 5 =VEF:2TR,#$Y,#8S,%]P&UL[;UK M<^LXMA[\_:W*?U Z']Z9JG2W+/FFJ9FD?.UQQ=YR;._IG'R9HDE(XFF*U/#B M;<^O#\"+1(K$C00($%+EI&?;!D"L9SVX+2RL]=?_^;GV1A\@C-S _]M/)[^, M?QH!WPX#5Z"S8;RQ\]@3!T/6]T';K.$HQ&LU\FOUR_3GZ=C$]FH]E?)B=_&9^,GI^VY9Y@ M)Q8OO_[ZX\>/7WY,?PG"):P_ M/OGU_SP]OMHKL+9^=OTHMGP;_#2"Y?\2I;]\#&PK3I$J5?]\#[VB@>FOVV]A M2Z"??BZ*_8Q^]?/)Y.?IR2^?D?-3WD7T9X:/%,717UU"^9(L6?E:^SD&)[/9 M[-?TKS]!]$:COX:!!U[ 8I3^[B_QUP;\[:?(76\\U%;ZNU4(%G_[Z0?4Q<]( M ^/SZ1A)\M]N6Q["^G4%0!RQ M2A." M%2SC?H 'N'ZLP6,0"< Y<7._^E<#I2B@O? *["3$':27W&\YC84C3X[3(!S][E!TSF">@[W )P@B_+G-K-7'=I]1./CB=QCBN+C"ELGWY#B M) %0M*W\M-9.R*86]#^YM9.UU2>T/<6UQ("C96U.=.U$);6DZ>FN[1AF;5>+ MDUYKXC:VHL&IKZ5 C6TH/ &V$Z-:5_EIL)T032UHO-S"_=7KM?Z FA;7>-3QK45N=%\\1R""%(SO89N*77W[VD, MTW/H^K8+&T[OJ8O[2ME@T;^J,61-YQ.I:!$_J#%0KV"9^SW]!H)E:&U6KEWR M?9**&>NW-8;O!7P /X$?LP-8"O7Z&1T-D2L1.EPX+O(MDXDA5P<&!>0;"-?9 MU).>MN4.7X[/:PSB?1 "^/>;) R!;W^]A7"CY\D?QPR?56[K:PE 8Q/*A8$; M&,]=NSY4S7,2VBOX+;A:V^#*\W(O8A'R\GQ%.217=IQ8'EQ*GL/@'JT@+R!* MO#CZ[EN)X\; $0 (^S?TMP>WA*/=-[2U"+=%@:=I;6S"+84E-J6I5;CU8&=N M6 N[<'OZ-C>CA5 W5AA^P:Y#]+<6.4&"$IO60OA;\!X_1%&"GB?T%*9T]B]I &P[^!ZC"F@_"KM?$TD05%V^K,%E2UL4 MFAM1>-W24I"]R@H%0,__G,0#\\63%>>;I/DB_5OWQ:O5)[0 XSZ!/05/KN^N MDW7ZQV?K*W4*^^X[(/P6^#=H8'D>VEX*H(*8+RN_N&N)06,3VES=M12*V)0V MPCV"#^!-D9')1[-J%\L,=_.J_5Q;RMG4@FY>KX\@AOLF9"Q,E\S6NP[N#^@& M1'I:BN#"@WHK'H;FYG6YFD__T];.2FM.%R'1,UFX_ZUNA46)3&I<%P#27\TW MJ(M7/ZS0$:AQ?-.Z"/\"SX:A:Z=/9>$?O_MN+!H$^B>&X['2=H/6Z5O<\&Q* MWA"/\(\Y)JA3Y ZSACV?CT<^CHJ'R/RW?&66M MCMI%Y$AEA%)Z@5WI2WJ%$80T!J#?_),DX=5[E%I^BX;@20%X?_N)K7Y>ZF*9)E=AM;M6:!=MPW_6F%-535[BUTT:=^-G>^5Z M6T8LPF#-"E[>@8!1D""$P^1O/YW\-$HBV+T@G6=1P(\>E?"_$RN$>Q?OZP5L M@G"?,X221JB&1:9<2Q.56H)3KAM \9Q;*R:-F4HY(S1$ERC7SU2E?E+_@O1& MECJ,]HL:H24FH7)%G:I05";1O>N!;\GZ'80-"MHO,FC%, F3*^1,G4)>P-)% M OCQ-VO=-+$U%3- ,0P"YGMRG$@J%'^/_ D M#$ZP.FLH:X"^6*7*=353KJL;^,]Y^!;\\&F:VI4T1T\4F8H#[UBYFM*)>QX^ MA\&'FT6*)>IJK[@Y"F,1K-":$CM%I;?/011;WO]U-\0=2%-AGCW::\L?PDP%HBF8D9H MABI0H1TE)HBWT$)9&5Z_UN^!UZ"6RM\'K0^Z)(4B%%H0LH=T<6;=1;V%<"81 M=@O67'S0:N(6K-":0OM!ZCR/GMY^@%LKMO+.$TQW3<4-T!J'8(76%%H2D-4^ MO('GLF40?A$O*K:E#- 179[B(E:A]>!U;7E>*9Y]LVHJI0Q0#5V>0C4*301W M:Q NX8S\6QC\B%?(;\_R\:.GL715M-/IY<7IT%3%+E>A,B56@IQ7*^!Y-$V5 M"QF@(*HXA5Z4V WR3<[.E2]U](OF28PR:J%M*G[+1ZAD@-ZXQ2OTJ,3:D.]P M[MW(MKS_ %:(=QW"%1VTSKB$*C2EQ I12+?KZCW\3=/> E-RT'KBD:E0DQ)S M1+6CF5,:FZ)*90U2%4VJ0EDJ318 !<#P'GP'?/XO@-]@[)4;M)+8)2H4I,0Z M<07E5;3CJ+R]VKWSV#WQ\-1"%V20A$X@\-??]U_#='MC01?\LT2FMBG M$B=C]%1BVR[\][;I4;GM4=[XB#NU)S=SF.&'E:R5"ST8!2D)54J/M\H M,^E_KZQV-�'4[A+*(9HG=,N+2X"$24ON#'\("IKJ:\8%%QG1[M)3:$+EK&DKO/=[]U'RWU+(5HR@D0G;L&[3V9-K QQR T@?Y"AA5A:T M-7H!-H #"T6V C&%1H0J9G&&5U#L([AAS3;/(=A8;A'ML AV6$$20PV&FD8Q MI*V\V$=XPR(*"R7,53ZSFNLF;4XU!['E*9T/LD"O* Y'7([V"J=#[$2 KU*% MZAQ"=:8#";B'/J>$$G8/*L@PAU);R.DJC7KWXBY7\,#_'4Y^"$0,&XAUS* # MOX@2-@O*=Y._!8'SP_7V747W_VR&RHG2&++"W[N^&X-']P.@&,"6OT2Q;S.T M\),_N9(9RF\AHZC=@.H%8+?%_1;X-G'SUUC6# *PBX:-(3 LO6>R$G?Y9FB6 M( LVB,"P-O2E@,]PYUJ.%H=VL?$7Y2*"M;IV=!!X1=4) T.. B4,V&ZP\!6T MHTHG_1+IPB*Y*=<6N0$U#RK.9E:N%M:9&"R:Q%N5&>0TAP8H>TX=.3P3FLL; M208.40U9-XJD6+^[\>HFB>)@O4NE]$6F!DM5\UC26FI#+J2JQC5&JI KF4>2 M%O)*,%(I-T$^!OX2I6A%U_ID@C24K*)TH<[M6!@K6(648)Q23H7LC =X)@U2 M%?/(P2VM(%/6!PC? Q$\P<1ESZ_EGRS7CT$JXBL(/UP;1/FQ'TZ29#ZT;<8< MC@A%0)3=K'%VF>AB_6"V>IC#$DX9L<$\AV4_)>['J9>M"'=&02' ;47YFNLU[ODW>6L(>[T]&J64JH;J( M+^' KT81A*%R*UETT=R)K%.!![NR3./6@HCF MW";V(Z;SL@>T\!E3AK7&/1>]33$C189H**D=CWI0?)UMK, (V,*,BZ I"/56N',?-^OYLN?"0>6-M7+C!*X& <].D5JP"-U-O M)51"IY8X&>*[]P)BR_6!%/L0PNK+M9)UX*!3=+5BXMHO;3]$K'NG5 2=# M'JB6I$TM("BH=PA6P(_<#Y!9S!Z#"-G)YHLWZQ/O<<[3RI%XHD ST>VPK@SF M$^.16!RXB+H@46S.>G+]E*\%6!BR[!<[4H49%4,N0\0 +-5Z=22E9"P-<:"D M&1/I=SF-U2J0S<80LJE11M-6\N,3$7?EC,*@Z,\I]"L0N[:UC39$C9!^UB9" M^NA/E8_]^:=CQ'3XZ?/3V?G9B;J(Z56++M30/$S[[Z06NV<0IOF!F.SDN,K: MS2:M%40SB',A8,BC]"H"63:IJR1>P>WDOW>3!Y$X^Y4.AS!,DAOBI-\D^4,4 M)5PDR2H<&D$(4AMBW6Z2&I^GC['6H=&$)KHAINK2A0_G?H6AILF<:2N^(0$7 M:TDOJ=L40HT#X0G/!F7H@1EK8A-W)YC2!\4+^KYDZ+9BCN3!+%4.BAV,VQ'Q MKO/]VM.V?XWFB_P]+?PKHRUMPIIM54; 85;ZCL14MN[W>]IUB.,.4KO)O MHLY6]@(^@)^ >SB"FA[=WWWFEQ,H\"W\/P?O)]&BI>H0.E$_=?!HJ\G;1@P" MAEC1;H(H?5B09\"AI;#$%3>,)%QB&F(FNW5#8,?;P QH54U\U\YF^Q00#"?H M%;5C!Y=^Z_1H*;'R*0/SH+PF#A1@.P^29&UBA8 63:&++"BDIC$\4;7%B0!4 M",H2>@M7:"](4S'E@&,W,X0ZII"HO;"&6.A?0>I5 ^5^LL(_ !HG9%K@*YC& M"4Y)#3'#_P9\.%]Z4.HK9^WZ+H(L=C\ F1646J91HXVXAIC;K];(1^_?J;+F MB_WD3K@'!,1*IK&CA;3&V-JKP#&>H+&(1%(XYU*< G#% M#5,_EYBBPC"J#R^U+_:U%;DV(Q/2LMK1@$N1=![@A51^X2^' ;>NE\18_V1, M:=-90!+3$ ^AWX&[7$$9K^"D9"W!MV3]#L+YHN9T2UDN>)O1CCG=EA$AXIL2 M&I45#-*BP]6&=F020H?V+#-^\<( D4_7K&\K.%LY<)9QP2)M<53W&@,32(_Q M:<:TW=.,RD='V5='?T+?'4[$DZS7:9S[&H+LP4]86JDNUFI%K?Y@C8NY>1^$<%KULS2L]M=;:/D11 ^IU7?2G[Q,RMWV]@U-SS21TD+5$7-Z-CF_T,9TQ8EX M?:9@$!5[6E:JOTQ:--$%/KH.N?IT<:=;8AU]M8O7"$&-S")JI=52.+LB,;5FT%*0^[J,8D6B30@UC&2$OP2&^)_MI\HD1+-^D->0W<;(LALH94Q4BB< ML2 29/),:WZ& 8:Q3'H#NN2'.3B>GRK.ZMJ0-CX""IB4]>)"*G E[FX1H ME*3=2G/H%*\00>JT"+?QJ2I)$Q%70^:P1Y#LAARB,6ADXTH$IT@M:4@J(=Q@ M)ATW.,IMO)CHX;M[Z^@MP-@F,V%1GH45\)S[($PC-.VQJ6-K&C**;D1N#5Q!^N#;(!N,+L(.EG[:2#GCL78/$$A +8W:*HSNB(A.+?X8Y(?\_.6#AG;T'-F\-V'20H*./R.0Q\^$\["3D652^K6C]%G?(E*'()"AV7?7] MX$[34S6:)CTPZ_ TL-FQ=LCL:"VMH%!X.-Y<'N\(F&SB0^:>1#Q$A>?+C,-W MOLI8OA*N",ZGEYHL =_F^3CRH[=C_3% M,45:_H;TG2]8%=9T>!*"@G)#O>+#D 9D$*1)]L.2/-4K/RI53+G(#NO;K@T//Q/RSMP!VWG9)IL=R$>U8U9ORZ[RCXF+(@B@]K^1A MTZ@%4LH=3W$N$:C+#^N-Y8;I<0T>0Y< I5M$^,W]6S?:!)&;"=K(GI:M'.DD M%CI!CEXX&^:9(ALFEVL7@X/281*M!4*&/)VJSM3WKF]!M/UED5,6CJ[T@I%M M2<17/Y),$&92_6*X35^8-7.+T2/RMGA!<<7G"PA?.CV7Q6]:*IDK5_&Y@/@H MOAQ1M4)V0TS" Z\.=@X,H^I1%N%(J0ZDYQ"LW60=;*S'/[T<%*6LC]+"E&-_8&CD05AIHA&2'K*.3.91'4!G _"'&U M6*IJ1[B.6F>A$2,*76UJVF0BKB, YWAX<'=N:F,?&*H?=L?;6:N/)ZAT@G%@@,>3;9*'R8P-Z[UKOK99N)?!SM3EF[ MO_'0BJ/9 V5=5X0,,FO&V(6O,?H-3%$ :2N M=Y3UL:&&=G01I&O\@L@*@N2-OJ+,GN5=Z&/@+]] N'YT?8 >:4.17.P6BU;O M@(C4"@HI>>^5;]U?P&8[K'CH1*UW.'1J!X7D_3GW4Q#,I4[M%'*=1$BV*+T: M+4*B//A7BX7KN; KT1;0IDN>#LV93R@I"$F.UZKH.JABBT&16>:I7-'=)PAM M-\(&JZ'6JV(XFUY>3 QC63