0001558370-21-009628.txt : 20210729 0001558370-21-009628.hdr.sgml : 20210729 20210729170459 ACCESSION NUMBER: 0001558370-21-009628 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 74 CONFORMED PERIOD OF REPORT: 20210630 FILED AS OF DATE: 20210729 DATE AS OF CHANGE: 20210729 FILER: COMPANY DATA: COMPANY CONFORMED NAME: DoubleVerify Holdings, Inc. CENTRAL INDEX KEY: 0001819928 STANDARD INDUSTRIAL CLASSIFICATION: SERVICES-COMPUTER PROGRAMMING, DATA PROCESSING, ETC. [7370] IRS NUMBER: 822714562 STATE OF INCORPORATION: DE FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 001-40349 FILM NUMBER: 211128410 BUSINESS ADDRESS: STREET 1: 233 SPRING STREET CITY: NEW YORK STATE: NY ZIP: 10013 BUSINESS PHONE: 212-631-2111 MAIL ADDRESS: STREET 1: 233 SPRING STREET CITY: NEW YORK STATE: NY ZIP: 10013 10-Q 1 dvh-20210630x10q.htm 10-Q
0001819928--12-312021Q2falseNew York157768000061006000610060000.333100018199282021-04-232021-04-230001819928us-gaap:AdditionalPaidInCapitalMemberus-gaap:PrivatePlacementMember2021-04-012021-06-300001819928us-gaap:AdditionalPaidInCapitalMemberus-gaap:IPOMember2021-04-012021-06-300001819928us-gaap:PrivatePlacementMember2021-04-012021-06-300001819928us-gaap:IPOMember2021-04-012021-06-300001819928us-gaap:CommonStockMember2021-01-012021-03-310001819928us-gaap:CommonStockMember2020-04-012020-06-300001819928us-gaap:CommonStockMember2020-01-012020-03-310001819928dvh:ProvidenceViiU.s.HoldingsL.p.Memberus-gaap:PrivatePlacementMember2021-04-232021-04-230001819928dvh:ProvidenceViiU.s.HoldingsL.p.Memberus-gaap:OverAllotmentOptionMember2021-04-232021-04-230001819928us-gaap:OverAllotmentOptionMember2021-04-232021-04-230001819928us-gaap:CommonStockMemberus-gaap:PrivatePlacementMember2021-04-012021-06-300001819928us-gaap:CommonStockMemberus-gaap:IPOMember2021-04-012021-06-300001819928us-gaap:TreasuryStockCommonMember2021-04-012021-06-300001819928us-gaap:PreferredStockMember2021-04-012021-06-300001819928us-gaap:CommonStockMember2021-04-012021-06-3000018199282021-03-292021-03-290001819928us-gaap:RetainedEarningsMember2021-06-300001819928us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember2021-06-300001819928us-gaap:AdditionalPaidInCapitalMember2021-06-300001819928us-gaap:RetainedEarningsMember2021-03-310001819928us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember2021-03-310001819928us-gaap:AdditionalPaidInCapitalMember2021-03-3100018199282021-03-310001819928us-gaap:RetainedEarningsMember2020-12-310001819928us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember2020-12-310001819928us-gaap:AdditionalPaidInCapitalMember2020-12-310001819928us-gaap:RetainedEarningsMember2020-06-300001819928us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember2020-06-300001819928us-gaap:AdditionalPaidInCapitalMember2020-06-300001819928us-gaap:RetainedEarningsMember2020-03-310001819928us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember2020-03-310001819928us-gaap:AdditionalPaidInCapitalMember2020-03-3100018199282020-03-310001819928us-gaap:RetainedEarningsMember2019-12-310001819928us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember2019-12-310001819928us-gaap:AdditionalPaidInCapitalMember2019-12-310001819928dvh:TigerGlobalManagementLlcMemberus-gaap:PrivatePlacementMember2021-04-090001819928us-gaap:CommonStockMember2021-06-300001819928us-gaap:TreasuryStockCommonMember2021-03-310001819928us-gaap:PreferredStockMember2021-03-310001819928us-gaap:CommonStockMember2021-03-310001819928us-gaap:TreasuryStockCommonMember2020-12-310001819928us-gaap:PreferredStockMember2020-12-310001819928us-gaap:CommonStockMember2020-12-310001819928us-gaap:CommonStockMember2020-06-300001819928us-gaap:CommonStockMember2020-03-310001819928us-gaap:CommonStockMember2019-12-310001819928dvh:PerformanceAndMarketBasedSharesMember2021-06-300001819928us-gaap:EmployeeStockOptionMemberdvh:OmnibusEquityIncentivePlan2021Memberus-gaap:SubsequentEventMember2021-07-212021-07-210001819928us-gaap:EmployeeStockOptionMemberdvh:EquityIncentiveProgramMemberus-gaap:SubsequentEventMember2021-07-212021-07-210001819928dvh:OmnibusEquityIncentivePlan2021Member2021-04-190001819928dvh:EquityIncentiveProgramMember2017-09-200001819928dvh:EquityIncentiveProgramMember2021-01-012021-06-300001819928us-gaap:RestrictedStockUnitsRSUMember2021-06-300001819928us-gaap:RestrictedStockUnitsRSUMember2020-12-310001819928us-gaap:RestrictedStockUnitsRSUMemberdvh:OmnibusEquityIncentivePlan2021Memberus-gaap:SubsequentEventMember2021-07-212021-07-210001819928us-gaap:RestrictedStockUnitsRSUMemberdvh:EquityIncentiveProgramMemberus-gaap:SubsequentEventMember2021-07-212021-07-210001819928dvh:PerformanceAndMarketBasedSharesMember2021-01-012021-06-300001819928us-gaap:EmployeeStockOptionMember2021-01-012021-06-300001819928dvh:SupplySideCustomerMember2021-04-012021-06-300001819928dvh:AdvertisersProgrammaticMember2021-04-012021-06-300001819928dvh:AdvertisersDirectMember2021-04-012021-06-300001819928dvh:SupplySideCustomerMember2021-01-012021-06-300001819928dvh:AdvertisersProgrammaticMember2021-01-012021-06-300001819928dvh:AdvertisersDirectMember2021-01-012021-06-300001819928dvh:SupplySideCustomerMember2020-04-012020-06-300001819928dvh:AdvertisersProgrammaticMember2020-04-012020-06-300001819928dvh:AdvertisersDirectMember2020-04-012020-06-300001819928dvh:SupplySideCustomerMember2020-01-012020-06-300001819928dvh:AdvertisersProgrammaticMember2020-01-012020-06-300001819928dvh:AdvertisersDirectMember2020-01-012020-06-300001819928us-gaap:SoftwareAndSoftwareDevelopmentCostsMember2021-06-300001819928us-gaap:LeaseholdImprovementsMember2021-06-300001819928us-gaap:FurnitureAndFixturesMember2021-06-300001819928us-gaap:ComputerEquipmentMember2021-06-300001819928us-gaap:SoftwareAndSoftwareDevelopmentCostsMember2020-12-310001819928us-gaap:LeaseholdImprovementsMember2020-12-310001819928us-gaap:FurnitureAndFixturesMember2020-12-310001819928us-gaap:ComputerEquipmentMember2020-12-310001819928dvh:ZentrickMember2021-01-012021-06-300001819928dvh:ZentrickMember2020-01-012020-06-300001819928dvh:LeikiMember2020-01-012020-06-300001819928us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember2021-04-012021-06-300001819928us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember2021-01-012021-03-310001819928us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember2020-04-012020-06-300001819928us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember2020-01-012020-03-310001819928us-gaap:RetainedEarningsMember2021-04-012021-06-300001819928us-gaap:RetainedEarningsMember2021-01-012021-03-310001819928us-gaap:RetainedEarningsMember2020-04-012020-06-300001819928us-gaap:RetainedEarningsMember2020-01-012020-03-310001819928us-gaap:RevolvingCreditFacilityMember2021-06-300001819928us-gaap:RevolvingCreditFacilityMember2020-12-310001819928us-gaap:LetterOfCreditMember2020-10-010001819928srt:MinimumMember2020-10-012020-10-010001819928srt:MaximumMember2020-10-012020-10-010001819928dvh:OperatingLeaseOfficeSpaceInDomesticAndForeignMember2021-04-012021-06-300001819928dvh:OperatingLeaseDataCenterInDomesticAndForeignMember2021-04-012021-06-300001819928dvh:OperatingLeaseOfficeSpaceInDomesticAndForeignMember2021-01-012021-06-300001819928dvh:OperatingLeaseDataCenterInDomesticAndForeignMember2021-01-012021-06-300001819928dvh:OperatingLeaseOfficeSpaceInDomesticAndForeignMember2020-04-012020-06-300001819928dvh:OperatingLeaseDataCenterInDomesticAndForeignMember2020-04-012020-06-300001819928dvh:OperatingLeaseOfficeSpaceInDomesticAndForeignMember2020-01-012020-06-300001819928dvh:OperatingLeaseDataCenterInDomesticAndForeignMember2020-01-012020-06-3000018199282020-01-012020-12-310001819928us-gaap:TrademarksAndTradeNamesMember2021-01-012021-06-300001819928us-gaap:DevelopedTechnologyRightsMember2021-01-012021-06-300001819928us-gaap:CustomerRelationshipsMember2021-01-012021-06-300001819928us-gaap:TrademarksAndTradeNamesMember2021-06-300001819928us-gaap:DevelopedTechnologyRightsMember2021-06-300001819928us-gaap:CustomerRelationshipsMember2021-06-300001819928us-gaap:TrademarksAndTradeNamesMember2020-12-310001819928us-gaap:DevelopedTechnologyRightsMember2020-12-310001819928us-gaap:CustomerRelationshipsMember2020-12-310001819928us-gaap:FairValueInputsLevel3Memberdvh:BusinessCombinationContingentConsiderationLiabilityMember2021-06-300001819928us-gaap:FairValueInputsLevel3Memberdvh:BusinessCombinationContingentConsiderationLiabilityMember2020-12-310001819928us-gaap:FairValueInputsLevel3Memberdvh:BusinessCombinationContingentConsiderationLiabilityMember2021-01-012021-06-300001819928us-gaap:RevolvingCreditFacilityMember2020-10-010001819928us-gaap:RevolvingCreditFacilityMemberus-gaap:LondonInterbankOfferedRateLIBORMember2020-10-012020-10-010001819928us-gaap:IPOMember2021-04-230001819928us-gaap:IPOMember2020-12-310001819928us-gaap:IPOMember2021-06-3000018199282021-03-2900018199282019-12-310001819928dvh:MoneyMarketFundsAndTimeDepositsMemberus-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2021-06-300001819928us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2021-06-300001819928dvh:MoneyMarketFundsAndTimeDepositsMemberus-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2020-12-310001819928us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2020-12-3100018199282020-06-300001819928us-gaap:MeasurementInputDiscountRateMember2021-06-300001819928dvh:MeasurementInputRevenueVolatilityMember2021-06-300001819928us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2021-06-300001819928us-gaap:FairValueMeasurementsRecurringMember2021-06-300001819928dvh:ZentrickNVMember2021-06-300001819928us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2020-12-310001819928us-gaap:FairValueMeasurementsRecurringMember2020-12-310001819928dvh:ZentrickNVMember2020-04-012020-06-300001819928dvh:ZentrickNVMember2020-01-012020-06-300001819928dvh:DoubleverifyInc.Member2017-08-180001819928us-gaap:SellingAndMarketingExpenseMember2021-04-012021-06-300001819928us-gaap:ResearchAndDevelopmentExpenseMember2021-04-012021-06-300001819928us-gaap:GeneralAndAdministrativeExpenseMember2021-04-012021-06-300001819928us-gaap:SellingAndMarketingExpenseMember2021-01-012021-06-300001819928us-gaap:ResearchAndDevelopmentExpenseMember2021-01-012021-06-300001819928us-gaap:GeneralAndAdministrativeExpenseMember2021-01-012021-06-300001819928us-gaap:SellingAndMarketingExpenseMember2020-04-012020-06-300001819928us-gaap:ResearchAndDevelopmentExpenseMember2020-04-012020-06-300001819928us-gaap:GeneralAndAdministrativeExpenseMember2020-04-012020-06-300001819928us-gaap:SellingAndMarketingExpenseMember2020-01-012020-06-300001819928us-gaap:ResearchAndDevelopmentExpenseMember2020-01-012020-06-300001819928us-gaap:GeneralAndAdministrativeExpenseMember2020-01-012020-06-300001819928us-gaap:AdditionalPaidInCapitalMember2021-04-012021-06-300001819928us-gaap:AdditionalPaidInCapitalMember2021-01-012021-03-3100018199282021-01-012021-03-310001819928us-gaap:AdditionalPaidInCapitalMember2020-04-012020-06-3000018199282020-04-012020-06-300001819928us-gaap:AdditionalPaidInCapitalMember2020-01-012020-03-3100018199282020-01-012020-03-310001819928us-gaap:GeneralAndAdministrativeExpenseMemberus-gaap:IPOMember2021-04-012021-06-300001819928us-gaap:GeneralAndAdministrativeExpenseMemberus-gaap:IPOMember2021-01-012021-06-300001819928us-gaap:RestrictedStockUnitsRSUMember2021-01-012021-06-300001819928dvh:OmnibusEquityIncentivePlan2021Member2021-04-192021-04-190001819928dvh:TigerGlobalManagementLlcMemberus-gaap:PrivatePlacementMember2021-04-092021-04-090001819928us-gaap:IPOMember2021-04-232021-04-230001819928srt:MaximumMemberdvh:ZentrickNVMember2021-04-012021-06-300001819928dvh:ZentrickNVMember2021-04-012021-06-300001819928srt:MaximumMemberdvh:ZentrickNVMember2021-01-012021-06-300001819928dvh:ZentrickNVMember2021-01-012021-06-300001819928us-gaap:OtherCurrentLiabilitiesMemberdvh:ZentrickNVMember2021-06-300001819928dvh:BusinessCombinationSecondTrancheOfHoldbackPaymentsMemberdvh:ZentrickNVMember2019-02-152019-02-150001819928dvh:BusinessCombinationFirstTrancheOfHoldbackPaymentsMemberdvh:ZentrickNVMember2019-02-152019-02-150001819928dvh:ZentrickNVMember2019-02-152019-02-150001819928dvh:ZentrickNVMember2019-02-1500018199282021-04-012021-06-3000018199282020-01-012020-06-3000018199282021-06-3000018199282020-12-3100018199282021-07-2600018199282021-01-012021-06-30xbrli:sharesiso4217:USDxbrli:puredvh:Milestonedvh:componentdvh:agreementiso4217:USDxbrli:sharesdvh:segment

 

 

UNITED STATES

SECURITIES AND EXCHANGE COMMISSION

Washington, D.C. 20549

FORM 10-Q

(Mark One)                                                                                                                                                                                         

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

For the quarterly period ended June 30, 2021

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-40349

DoubleVerify Holdings, Inc.

(Exact name of registrant as specified in its charter)

Delaware

82-2714562

(State or other jurisdiction of

incorporation or organization)

(I.R.S. Employer

Identification Number)

233 Spring Street

New York, NY, 10013

(Address of Principal Executive Offices)

(212) 631-2111

(Registrant’s telephone number)

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

Title of Each Class

Trading symbol

Name of Exchange on which registered

Common Stock, par value $0.001 per share

DV

New York Stock Exchange

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, 2021, there were 157,851,204 shares of the registrant’s common stock, par value $0.001 per share, outstanding.

 

 

TABLE OF CONTENTS

0

`

    

    

    

    

 

    

    

Page

Part I

FINANCIAL INFORMATION

Item 1.

Condensed Consolidated Financial Statements (Unaudited)

4

Condensed Consolidated Balance Sheets as of June 30, 2021 and December 31, 2020

4

Condensed Consolidated Statements of Operations and Comprehensive (Loss) Income for the three and six months ended June 30, 2021 and 2020

5

Condensed Consolidated Statements of Stockholders’ Equity for the three and six months ended June 30, 2021 and 2020

6

Condensed Consolidated Statements of Cash Flows for the six months ended June 30, 2021 and 2020

7

Notes to Condensed Consolidated Financial Statements (Unaudited)

8

Item 2.

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

21

Item 3.

Quantitative and Qualitative Disclosures about Market Risk

31

Item 4.

Controls and Procedures

31

Part II

OTHER INFORMATION

Item 1.

Legal Proceedings

33

Item 1A.

Risk Factors

33

Item 2.

Unregistered Sales of Equity Securities and Use of Proceeds

33

Item 3.

Defaults Upon Senior Securities

34

Item 4.

Mine Safety Disclosures

34

Item 5.

Other Information

34

Item 6.

Exhibits

35

Signatures

37

2

Note About Forward Looking Statements

This Quarterly Report on Form 10-Q (“Quarterly Report”) includes “forward-looking statements” within the meaning of Section 27A of the Securities Act of 1933, as amended (the “Securities Act”) and Section 21E of the Securities Exchange Act of 1934, as amended (the “Exchange Act”). All statements other than statements of historical facts included in this Quarterly Report, including, without limitation, statements regarding our future financial position, business strategy, budgets, projected costs, savings and plans and objectives of management for future operations, are forward-looking statements. In addition, forward-looking statements generally can be identified by the use of forward-looking terminology such as “may,” “will,” “expect,” “intend,” “estimate,” “anticipate,” “believe” or “continue” or the negative thereof or variations thereon or similar terminology. Although we believe that the expectations reflected in such forward-looking statements are reasonable, we can give no assurance that such expectations will prove to have been correct.

You should read the “Special Note Regarding Forward-Looking Statements” and “Risk Factors” sections of our final prospectus, dated April 20, 2021 and filed with the Securities and Exchange Commission (“SEC”), pursuant to Rule 424(b)(4) under the Securities Act, on April 22, 2021 (the “Prospectus”), for a discussion of important factors that could cause actual results to differ materially from the results described in or implied by the forward-looking statements contained in the following discussion and analysis. There may be other factors not presently known to us or which we currently consider to be immaterial that may cause our actual results to differ materially from the forward-looking statements.

All forward-looking statements attributable to us or persons acting on our behalf apply only as of the date of this Quarterly Report and are expressly qualified in their entirety by the cautionary statements included in this Quarterly Report. We undertake no obligation to publicly update or revise forward-looking statements to reflect events or circumstances after the date made or to reflect the occurrence of unanticipated events.

“DoubleVerify,” “the DV Authentic Ad,” “Authentic Brand Safety,” “DV Pinnacle” and other trademarks of ours appearing in this report are our property and we deem particularly important to the marketing activities conducted by each of our businesses. Solely for convenience, the trademarks, service marks and trade names referred to in this report are without the ® and ™  symbols, but such references are not intended to indicate, in any way, that we will not assert, to the fullest extent under applicable law, our rights to these trademarks, service marks and trade names. This report contains additional trade names and trademarks of other companies. We do not intend our use or display of other companies' trade names or trademarks to imply an endorsement or sponsorship of us by such companies, or any relationship with any of these companies.

Unless the context otherwise requires, the terms “DoubleVerify,” ‘‘we,’’ ‘‘us,’’ ‘‘our,’’ and the ‘‘Company,’’ as used in this report refer to DoubleVerify Holdings, Inc. and its consolidated subsidiaries. DoubleVerify Holdings, Inc. and its subsidiary DoubleVerify MidCo, Inc. changed their names from Pixel Group Holdings Inc. and Pixel Parent Inc., respectively, prior to the date of this report. All references to DoubleVerify Holdings, Inc. and DoubleVerify MidCo, Inc. are to these entities both prior to and after the name changes.

3

PART I. FINANCIAL INFORMATION

Item 1. Financial Statements

DoubleVerify Holdings, Inc.

CONDENSED CONSOLIDATED BALANCE SHEETS (UNAUDITED)

    

As of

    

As of

(in thousands, except per share data)

June 30, 2021

December 31, 2020

Assets:

 

  

 

  

Current assets

 

  

 

  

Cash and cash equivalents

$

330,355

$

33,354

Trade receivables, net of allowances for doubtful accounts of $6,889 and $7,049 as of June 30, 2021 and December 31, 2020 respectively

85,555

94,677

Prepaid expenses and other current assets

 

14,106

 

13,904

Total current assets

 

430,016

 

141,935

Property, plant and equipment, net

 

17,572

 

18,107

Goodwill

 

227,349

 

227,349

Intangible assets, net

 

112,780

 

121,710

Deferred tax assets

 

82

 

82

Other non-current assets

 

2,303

 

2,151

Total assets

$

790,102

$

511,334

Liabilities and Stockholders' Equity:

 

Current liabilities

 

Trade payables

$

4,122

$

3,495

Accrued expense

 

25,460

 

25,419

Income tax liabilities

 

670

 

1,277

Current portion of capital lease obligations

 

2,021

 

1,515

Contingent considerations current

 

1,717

 

1,198

Other current liabilities

 

2,101

 

1,116

Total current liabilities

 

36,091

 

34,020

Long-term debt

 

 

22,000

Capital lease obligations

 

3,618

 

3,447

Deferred tax liabilities

 

28,243

 

31,418

Other non-current liabilities

 

2,734

 

3,292

Contingent considerations non-current

 

 

462

Total liabilities

$

70,686

$

94,639

Commitments and contingencies (Note 13)

 

Stockholders’ equity

 

Common stock, $0.001 par value, 1,000,000 shares authorized, 157,768 shares issued and outstanding as of June 30, 2021; 700,000 shares authorized, 140,222 shares issued and 125,074 shares outstanding as of December 31, 2020

158

140

Preferred stock, $0.01 par value, 100,000 shares authorized and zero shares issued and outstanding as of June 30, 2021 and 61,006 shares authorized, issued, and outstanding as of December 31, 2020. Liquidation preference: $350,000 as of December 31, 2020

 

 

610

Additional paid-in capital

670,674

620,679

Treasury stock, at cost, zero shares and 15,146 shares as of June 30, 2021 and December 31, 2020, respectively

(260,686)

Retained earnings

 

48,017

 

54,941

Accumulated other comprehensive income, net of income taxes

 

567

 

1,011

Total stockholders’ equity

 

719,416

 

416,695

Total liabilities and stockholders' equity

$

790,102

$

511,334

See accompanying Notes to unaudited Condensed Consolidated Financial Statements.

4

DoubleVerify Holdings, Inc.

CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE (LOSS) INCOME (UNAUDITED)

Three Months Ended June 30, 

Six Months Ended June 30, 

(in thousands, except per share data)

    

2021

    

2020

    

2021

    

2020

Revenue

$

76,524

$

53,020

$

144,110

$

104,239

Cost of revenue (exclusive of depreciation and amortization shown separately below)

 

12,291

 

7,655

 

22,494

 

14,965

Product development

 

15,120

 

10,906

 

29,299

 

21,237

Sales, marketing and customer support

 

19,580

 

12,833

 

35,114

 

25,152

General and administrative

 

32,017

 

8,262

 

43,852

 

18,958

Depreciation and amortization

 

7,440

 

6,146

 

14,497

 

12,080

(Loss) income from operations

 

(9,924)

 

7,218

 

(1,146)

 

11,847

Interest expense

 

297

 

936

 

687

 

2,100

Other expense (income), net

 

49

 

198

 

 

(122)

(Loss) income before income taxes

 

(10,270)

 

6,084

 

(1,833)

 

9,869

Income tax expense

 

2,298

 

2,006

 

5,091

 

3,351

Net (loss) income

$

(12,568)

$

4,078

$

(6,924)

$

6,518

(Loss) earnings per share:

 

 

Basic

$

(0.08)

$

0.03

$

(0.05)

$

0.05

Diluted

$

(0.08)

$

0.03

$

(0.05)

$

0.04

Weighted-average common stock outstanding:

 

 

 

 

Basic

 

149,596

139,756

137,355

139,748

Diluted

 

149,596

146,541

137,355

146,927

Comprehensive (loss) income:

 

 

Net (loss) income

$

(12,568)

$

4,078

$

(6,924)

$

6,518

Other comprehensive (loss) income:

 

 

Foreign currency cumulative translation adjustment

 

355

 

231

 

(444)

 

78

Total comprehensive (loss) income

$

(12,213)

$

4,309

$

(7,368)

$

6,596

See accompanying Notes to unaudited Condensed Consolidated Financial Statements.

5

DoubleVerify Holdings, Inc.

CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS’ EQUITY (UNAUDITED)

Accumulated

    

Other

Comprehensive

Additional

Income (Loss)

Total

Common Stock

Preferred Stock

Treasury Stock

Paid-in

Retained

Net of

Stockholders’

(in thousands)

  

Shares

  

Amount

  

Shares

  

Amount

  

Shares

  

Amount

  

Capital

  

Earnings

  

Income Taxes

  

Equity

Balance as of January 1, 2021

140,222

$

140

61,006

$

610

15,146

$

(260,686)

$

620,679

$

54,941

$

1,011

$

416,695

Foreign currency translation adjustment

 

 

 

 

 

 

(799)

 

(799)

Stock-based compensation expense

 

 

 

 

2,538

 

 

 

2,538

Common stock issued upon exercise of stock options

180

 

 

 

 

538

 

 

 

538

Net income

 

 

 

 

 

5,644

 

 

5,644

Balance as of March 31, 2021

140,402

$

140

61,006

$

610

15,146

$

(260,686)

$

623,755

$

60,585

$

212

$

424,616

Foreign currency translation adjustment

355

355

Stock-based compensation expense

4,714

4,714

Common stock issued upon exercise of stock options

871

2

2,907

2,909

RSU vested

217

Conversion of Series A preferred stock to common stock in connection with initial public offering

5,190

5

(61,006)

(610)

(15,146)

260,686

(260,081)

Issuance of common stock in connection with initial public offering

9,977

10

269,380

269,390

Issuance of common stock in connection with the private placement concurrent with the initial public offering

1,111

1

29,999

30,000

Net loss

(12,568)

(12,568)

Balance as of June 30, 2021

157,768

$

158

$

$

$

670,674

$

48,017

$

567

$

719,416

Balance as of January 1, 2020

139,721

$

140

$

$

$

283,457

$

34,488

$

(67)

$

318,018

Foreign currency translation adjustment

 

 

 

 

 

 

(153)

 

(153)

Stock-based compensation expense

 

 

 

 

802

 

 

 

802

Common stock issued upon exercise of stock options

32

 

 

 

 

70

 

 

 

70

Net income

 

 

 

 

 

2,440

 

 

2,440

Balance as of March 31, 2020

139,753

$

140

$

$

$

284,329

$

36,928

$

(220)

$

321,177

Foreign currency translation adjustment

231

231

Stock-based compensation

1,140

1,140

Common stock issued upon exercise of stock options

58

51

51

Net income

4,078

4,078

Balance as of June 30, 2020

139,811

$

140

$

$

$

285,520

$

41,006

$

11

$

326,677

See accompanying Notes to unaudited Condensed Consolidated Financial Statements.

6

DoubleVerify Holdings, Inc.

CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS

(UNAUDITED)

Six Months Ended

June 30, 

(in thousands)

    

2021

    

2020

Operating activities:

 

  

 

  

Net (loss) income

$

(6,924)

$

6,518

Adjustments to reconcile net (loss) income to net cash provided by operating activities

 

Bad debt expense

 

199

 

1,748

Depreciation and amortization expense

 

14,496

 

12,080

Amortization of debt issuance costs

 

147

 

142

Accretion of acquisition liabilities

 

 

36

Deferred taxes

 

(3,175)

 

(3,096)

Stock-based compensation expense

 

7,252

 

1,942

Interest expense (income)

 

9

 

(42)

Change in fair value of contingent consideration

 

57

 

(899)

Offering costs

21,801

1,058

Other

 

62

 

621

Changes in operating assets and liabilities net of effect of business combinations

 

Trade receivables

 

8,518

 

(47)

Prepaid expenses and other current assets

 

(284)

 

855

Other non-current assets

 

(299)

 

3

Trade payables and other liabilities

 

541

 

2,057

Accrued expenses

 

121

 

(2,978)

Other current liabilities

 

827

 

(2,680)

Other non-current liabilities

 

(1,120)

 

148

Net cash provided by operating activities

 

42,228

 

17,466

Investing activities:

 

 

Purchase of property, plant and equipment

 

(3,513)

 

(4,562)

Net cash (used in) investing activities

 

(3,513)

 

(4,562)

Financing activities:

 

  

 

  

Payments of long-term debt

(22,000)

(189)

Deferred payment related to Leiki acquisition

(2,033)

Deferred payment related to Zentrick acquisition

(50)

(50)

Payment of contingent consideration related to Zentrick acquisition

 

 

(601)

Proceeds from common stock issued upon exercise of stock options

3,447

121

Proceeds from issuance of common stock upon initial public offering

269,390

Proceeds from issuance of common stock in connection with concurrent private placement

30,000

Payments related to offering costs

(21,708)

(1,107)

Capital lease payments

(804)

 

(874)

Net cash provided by (used in) financing activities

 

258,275

 

(4,733)

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

 

13

 

(80)

Net increase in cash, cash equivalents, and restricted cash

 

297,003

 

8,091

Cash, cash equivalents, and restricted cash - Beginning of period

 

33,395

 

11,342

Cash, cash equivalents, and restricted cash - End of period

$

330,398

$

19,433

Cash and cash equivalents

330,355

19,038

Restricted cash (included in prepaid expenses and other current assets on the Condensed Consolidated Balance Sheets)

 

43

 

395

Total cash and cash equivalents and restricted cash

$

330,398

$

19,433

Supplemental cash flow information:

 

  

 

  

Cash paid for taxes

 

3,305

 

7,777

Cash paid for interest

 

525

 

1,654

Non-cash investing and financing activities:

 

  

 

  

Conversion of Series A preferred stock to common stock in connection with the initial public offering

610

Treasury stock reissued upon the conversion of Series A preferred stock to common stock

260,686

Acquisition of equipment under capital lease

 

1,518

 

973

Capital assets financed by accounts payable

 

 

76

Offering costs included in accounts payable and accrued expense

89

100

See accompanying Notes to unaudited Condensed Consolidated Financial Statements.

7

DoubleVerify Holdings, Inc.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) (Amounts in thousands, except per share data, unless otherwise stated)

1.    Description of Business

DoubleVerify is a software platform for digital media measurement, data and analytics. The Company’s solutions provide advertisers with a single measure of digital ad quality and effectiveness, the DV Authentic Ad, which ensures that a digital ad was delivered in a brand-safe environment, fully viewable, by a real person and in the intended geography. The Company’s software interface, DV Pinnacle, provides customers with access to data on all of their digital ads and enables them to make changes to their ad strategies on a real-time basis. The Company’s software solutions are integrated across the entire digital advertising ecosystem, including programmatic platforms, Connected TV (“CTV”), social media channels and digital publishers. The Company’s solutions are accredited by the Media Rating Council, which allows the Company’s data to be used as a single-source standard in the evaluation and measurement of digital ads.

The Company was incorporated on August 16, 2017, is registered in the state of Delaware and is the parent company of DoubleVerify Midco, Inc. (“MidCo”), which is in turn the parent company of DoubleVerify Inc.  On August 18, 2017, DoubleVerify Inc. entered into an agreement and plan of merger (the “Agreement”), whereby the Company, formerly known as Pixel Group Holdings, Inc. and Pixel Merger Sub, Inc. (“Merger Sub”), a wholly owned subsidiary of the Company, agreed to provide for the merger of the Merger Sub with DoubleVerify Inc. pursuant to the terms and conditions of the Agreement.

On the effective date, Merger Sub was merged with and into DoubleVerify Inc. whereupon the separate corporate existence of Merger Sub ceased and DoubleVerify Inc. continued as the surviving corporation.

Through the merger, the Company acquired 100% of the outstanding equity instruments of DoubleVerify Inc. resulting in a change of control at the parent level.  The merger resulted in the application of acquisition accounting under the provisions of Financial Accounting Standards Board (“FASB”) Topic Accounting Standards Codification (“ASC”) 805, Business Combinations.

The Company has wholly owned subsidiaries in numerous jurisdictions including Israel, the United Kingdom, Germany, Singapore, Australia, Canada, Brazil, Belgium, Mexico, France, Japan, Spain, and Finland, and operates in one reportable segment.

On April 23 2021, the Company completed an initial public offering of its common stock (“IPO”). See Footnote 12, Stockholders’ Equity.    

2.     Basis of Presentation and Summary of Significant Accounting Policies

Basis of Preparation and Principles of Consolidation

The accompanying Condensed Consolidated Balance Sheets as of June 30, 2021 and December 31, 2020, the Condensed Consolidated Statements of Operations and Comprehensive (Loss) Income for the three and six months ended June 30, 2021 and 2020, the Condensed Consolidated Statements of Stockholders’ Equity for the three and six months ended June 30, 2021 and 2020, and the Condensed Consolidated Statements of Cash Flows for the six months ended June 30, 2021 and 2020 reflect all adjustments that are of a normal recurring nature and that are considered necessary for a fair presentation of the results for the periods shown in accordance with accounting principles generally accepted in the United States of America (“GAAP”) and the applicable rules and regulations of the SEC for interim financial reporting periods. Accordingly, certain information and footnote disclosures have been condensed or omitted pursuant to SEC rules that would ordinarily be required under GAAP for complete financial statements. These unaudited interim Condensed Consolidated Financial Statements should be read in conjunction with the audited Consolidated Financial Statements as of December 31, 2020 and 2019 and for the years then ended and the accompanying notes thereto included in the Company’s Prospectus.

8

DoubleVerify Holdings, Inc.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) (Amounts in thousands, except per share data, unless otherwise stated)

On March 29, 2021, the Company effected a 1-for-3 reverse stock split (‘‘reverse stock split’’) of its outstanding common stock, par value $0.001 per share (“common stock”), and a proportional adjustment to the existing conversion ratio of its then-outstanding Series A Preferred Stock, par value $0.01 per share (“preferred stock”). Accordingly, all share and per share amounts for all periods presented in these Condensed Consolidated Financial Statements and notes thereto, have been adjusted retrospectively, where applicable, to reflect this reverse stock split.

Use of Estimates and Judgments in the Preparation of the Condensed Consolidated Financial Statements

The preparation of financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and the reported amounts of revenue and expense during the reporting periods. Significant estimates and judgments are inherent in the analysis and measurement of items include, but not limited to: revenue recognition criteria including the determination of principal versus agent revenue considerations, income taxes, the valuation and recoverability of goodwill and intangible assets, the assessment of potential loss from contingencies, the allowance for doubtful accounts, and assumptions used in determining the fair value of stock-based compensation. Management bases its estimates and assumptions on historical experience and on various other factors that are believed to be reasonable under the circumstances. Due to the inherent uncertainty involved in making estimates, actual results reported in future periods may be affected by changes in those estimates. These estimates are based on the information available as of the date of the Condensed Consolidated Financial Statements.

Recently Issued Accounting Pronouncements

The Company is an emerging growth company, as defined in the Jumpstart Our Business Startups Act (“JOBS Act”). Under the JOBS Act, emerging growth companies can delay adopting new or revised accounting standards issued subsequent to the enactment of the JOBS Act until such time as those standards apply to private companies. The Company has elected to use this extended transition period for complying with certain new or revised accounting standards.

Financial Instruments - Credit Losses    

In June 2016, the FASB issued ASU No. 2016-13, Financial Instruments-Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments (“ASU 2016-13”), which is intended to provide more decision-useful information about expected credit losses on financial instruments and other commitments to extend credit held by a reporting entity at each reporting date. ASU 2016-13 revises the impairment model to utilize an expected loss methodology in place of the currently used incurred loss methodology, which will result in more timely recognition of losses on financial instruments, including, but not limited to accounts receivable. This guidance is effective for annual reporting periods beginning after December 15, 2022 for non-public entities, including interim periods within that reporting period. Early adoption is permitted and the update allows for a modified retrospective method of adoption. The Company is currently in process of evaluating the impact of this standard on the Company’s Condensed Consolidated Financial Statements.  

Cloud Computing    

In August 2018, the FASB issued ASU No. 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 (“ASU 2018-15”). This update was issued to align the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain internal-use software (and hosting arrangements that include an internal-use software license). The amendments in ASU 2018-15 are effective for annual periods beginning after December 15, 2020 for non-public entities, and interim periods within annual periods beginning after December 15, 2021. The update allows for a retrospective or prospective method of adoption. The Company is currently in process of evaluating the impact of this standard on the Company’s Condensed Consolidated Financial Statements.

9

DoubleVerify Holdings, Inc.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) (Amounts in thousands, except per share data, unless otherwise stated)

Leases

In February 2016, the FASB issued ASU No. 2016-02, Leases Topic 842 (“ASU 2016-02”). The guidance in ASU 2016-02 supersedes the lease recognition requirements in ASC 840, Leases. ASU 2016-02 requires an entity to recognize assets and liabilities arising from a lease for both financing and operating leases, along with additional qualitative and quantitative disclosures. In July 2018, FASB issued ASU No. 2018-10, Codification Improvements to Topic 842, Leases, ("ASU No. 2018-10") to further clarify, correct and consolidate various areas previously discussed in ASU 2016-02. FASB also issued ASU No. 2018-11, Leases: Targeted Improvements ("ASU 2018-11") to provide entities another option for transition and lessors with a practical expedient. The transition option allows entities to not apply ASU No. 2016-02 in comparative periods in the financial statements in the year of adoption. The amendments in ASU No. 2016-02, ASU No. 2018-10 and ASU No. 2018-11 are effective for fiscal years beginning after December 15, 2021 for non-public entities and interim periods within fiscal years beginning after December 15, 2022, with early adoption permitted. The Company is currently in process of evaluating the impact of this standard on the Company’s Condensed Consolidated Financial Statements.

Simplifying the Accounting for Income Taxes

In December 2019, the FASB issued ASU No. 2019-12, Simplifying the Accounting for Income Taxes (Topic 740) (“ASU 2019-12”). ASU 2019-12 issued guidance on the accounting for income taxes that, among other provisions, eliminates certain exceptions to existing guidance related to the approach for intra-period tax allocation, the methodology for calculating income taxes in an interim period and the recognition of deferred tax liabilities for outside basis differences. This guidance also requires an entity to reflect the effect of an enacted change in tax laws or rates in its effective income tax rate in the first interim period that includes the enactment date of the new legislation, aligning the timing of recognition of the effects from enacted tax law changes on the effective income tax rate with the effects on deferred income tax assets and liabilities. Under existing guidance, an entity recognizes the effects of the enacted tax law change on the effective income tax rate in the period that includes the effective date of the tax law. For non-public entities, the amendments are effective for fiscal years beginning after December 15, 2021, and interim periods within fiscal years beginning after December 15, 2022. Early adoption is permitted. Certain amendments included in the update allows for a retrospective, modified retrospective, or prospective methods of adoption. The adoption of this guidance is not expected to have a material impact on the Company’s Condensed Consolidated Financial Statements.

3.     Revenue

The following table disaggregates revenue between advertiser customers, where revenue is generated based on number of ads measured for Direct or measured and purchased for Programmatic, and supply-side customers, where revenue is generated based on contracts with minimum guarantees or contracts that contain overages after minimum guarantees are achieved.

Disaggregated revenue by customer type is as follows:

Three Months Ended

    

Six Months Ended

June 30, 

June 30, 

(in thousands)

    

2021

    

2020

    

2021

    

2020

Advertiser - direct

$

31,662

$

23,707

$

59,203

$

45,894

Advertiser - programmatic

 

37,880

 

24,128

 

71,792

 

47,979

Supply-side customer

 

6,982

 

5,185

 

13,115

 

10,366

Total revenue

$

76,524

$

53,020

$

144,110

$

104,239

Contract assets relate to the Company’s conditional right to consideration for completed performance under the contract (e.g., unbilled receivables). Trade receivables, net of allowance for doubtful accounts, include unbilled receivable balances of $26.6 million and $44.9 million as of June 30, 2021 and December 31, 2020, respectively.

10

DoubleVerify Holdings, Inc.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) (Amounts in thousands, except per share data, unless otherwise stated)

4.    Business Combinations

On February 15, 2019, the Company acquired all of the outstanding stock of Zentrick NV (“Zentrick”). Zentrick, headquartered in Ghent, Belgium is a digital video technology company that provides middleware solutions that increase the performance of online video advertising for brand advertisers, advertising platforms and publishers. This acquisition integrates technology into the Company’s suite of products related to advertising viewability specifically on video formats, a growing segment of the advertising market and critical for the delivery of verification services to social platforms and CTV. The aggregate purchase price consists of 1) $23.2 million paid in cash at closing, which excluded closing adjustments of approximately $0.2 million paid in April 2019 2) $0.1 million in holdback payment of which 50% was payable 12 months after the closing date, and the remaining 50% was payable 24 months after the closing date and 3) up to $17.3 million of performance-based deferred payments that comprises two components. The first component has a $4.0 million maximum payment related to four milestone tranches of $1.0 million each based on achievement of certain product milestones (“technical milestones”). The second component has a total maximum payment of $13.0 million and varies based upon certain revenue targets in fiscal 2019, 2020, and 2021 (“revenue targets”).

Under the terms of the deferred payment, a portion of the technical milestones and revenue targets have been accounted at fair value as contingent consideration in the business combination with the remaining portion being accounted for as compensation expense under ASC 710, Compensation - General.

As of June 30, 2021, the technical milestone and revenue target components of the contingent consideration had a fair value of $1.2 million and $0.5 million, respectively, and is recorded in Contingent Considerations Current in the Condensed Consolidated Balance Sheets. The Company recorded a $0.1 million unrealized loss for the change in fair value in the Condensed Consolidated Statement of Operations and Comprehensive (Loss) Income for the three and six months ended June 30, 2021, respectively. The Company recorded a $0.1 million unrealized loss and $0.9 million unrealized gain for the change in fair value in the Condensed Consolidated Statement of Operations and Comprehensive (Loss) Income for the three and six months ended June 30, 2020, respectively.

As of June 30, 2021, the technical milestone and revenue target components treated as compensation cost total $1.1 million included in Other Current Liabilities in the Condensed Consolidated Balance Sheets. $0.1 million and less than $0.1 million were charged to the Condensed Consolidated Statements of Operations and Comprehensive (Loss) Income for the three and six months ended June 30, 2021, respectively. Less than $0.1 million and $0.2 million were charged to the Condensed Consolidated Statements of Operations and Comprehensive (Loss) Income for the three and six months ended June 30, 2020, respectively.

5.    Goodwill and Intangible Assets

There were no changes to the goodwill carrying value from December 31, 2020 through June 30, 2021. The foreign exchange impact on goodwill was immaterial for the period.

The following table summarizes the Company’s intangible assets and related accumulated amortization:

(in thousands)

June 30, 2021

    

December 31, 2020

Gross Carrying

Accumulated

Net Carrying

Gross Carrying

Accumulated

Net Carrying

    

Amount

    

Amortization

    

Amount

    

Amount

    

Amortization

    

Amount

Trademarks and brands

11,690

(2,985)

8,705

11,690

(2,562)

9,128

Customer relationships

 

102,220

 

(32,006)

 

70,214

 

102,220

 

(27,720)

 

74,500

Developed technology

 

63,205

 

(29,344)

 

33,861

 

63,210

 

(25,128)

 

38,082

Total intangible assets

$

177,115

$

(64,335)

$

112,780

$

177,120

$

(55,410)

$

121,710

Amortization expense for three months ended June 30, 2021 and June 30, 2020 is $4.4 million and $4.5 million, respectively. Amortization expense related to intangible assets amounted to $8.9 million and $9.0 million for the six months ended June 30, 2021 and June 30, 2020, respectively.

11

DoubleVerify Holdings, Inc.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) (Amounts in thousands, except per share data, unless otherwise stated)

Estimated future expected amortization expense of intangible assets as of June 30, 2021, is as follows:

(in thousands)

    

    

2021

$

8,930

2022

17,860

2023

17,825

2024

16,205

2025

14,273

2026

9,777

Thereafter

 

27,910

Total

$

112,780

The weighted-average remaining useful life by major asset classes as of June 30, 2021 is as follows:

    

(In years)

Trademarks and brands

 

11

Customer relationships

 

8

Developed technology

 

4

There were no impairments identified during the six months ended June 30, 2021 or June 30, 2020.

6.     Property, Plant and Equipment

Property, plant and equipment, including equipment under capital lease obligations and capitalized software development costs, consists of the following:

As of

(in thousands)

June 30, 2021

December 31, 2020

Computers and peripheral equipment

    

$

16,695

    

$

14,577

Office furniture and equipment

 

1,115

 

1,124

Leasehold improvements

 

9,266

 

9,267

Capitalized software development costs

 

11,247

 

8,382

Less accumulated depreciation and amortization

 

(20,751)

 

(15,243)

Total property, plant and equipment, net

$

17,572

$

18,107

For the three months ended June 30, 2021 and 2020, total depreciation expense was $3.0 million and $1.7 million, respectively. For the six months ended June 30, 2021 and 2020, total depreciation expense was $5.6 million and $3.1 million, respectively.

Property and equipment financed through capital lease obligations, consisting of computer equipment, totaled $12.3 million and $10.7 million on June 30, 2021 and December 31, 2020, respectively. As of June 30, 2021 and December 31, 2020, accumulated depreciation related to property and equipment financed through capital leases totaled $8.9 million and $7.6 million, respectively. Refer to Note 13, Commitments and Contingencies.

12

DoubleVerify Holdings, Inc.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) (Amounts in thousands, except per share data, unless otherwise stated)

7.     Fair Value Measurement

The following tables present the Company’s financial instruments that are measured at fair value on a recurring basis:

As of June 30, 2021

Quoted Market

Prices in Active

Significant

(in thousands)

Markets for

Significant Other

Unobservable

Identical Assets

Observable Inputs

Inputs

Total Fair Value

(Level 1)

(Level 2)

(Level 3)

Measurements

Assets:

    

  

    

  

    

  

    

  

Cash equivalents:

$

9,808

9,808

Liabilities:

Contingent consideration current

 

1,717

 

1,717

Contingent consideration non-current

 

 

Total contingent consideration

$

$

$

1,717

$

1,717

As of December 31, 2020

Quoted Market

 

Prices in Active

Significant

(in thousands)

Markets for

Significant Other

Unobservable

 

Identical Assets

 

Observable Inputs

Inputs

Tota1 Fair Value

(Level 1)

(Level 2)

 

(Level 3)

Measurements

Assets:

    

 

  

    

 

  

    

 

  

    

 

  

Cash equivalents:

 

$

2,474

 

$

 

$

 

$

2,474

Liabilities:

Contingent consideration current

1,198

1,198

Contingent consideration non-current

 

462

 

462

Total contingent consideration

$

 

$

 

$

1,660

 

$

1,660

 

Cash equivalents consisting of money market funds of $9.8 million and money market funds and time deposits of $2.5 million as of June 30, 2021 and December 31, 2020, respectively, were classified as Level 1 of the fair value hierarchy and valued using quoted market prices in active markets.

Contingent consideration relates to potential payments that the Company may be required to make associated with a business combination. To the extent that the valuations of these liabilities are based on inputs that are less observable or not observable in the market, the determination of fair value requires more judgment. Accordingly, the degree of judgment exercised in determining fair value is greatest for measures categorized in Level 3.

Rollforward of the fair value measurements of the contingent consideration categorized with Level 3 inputs as of June 30, 2021 is as follows:

(in thousands)

Balance at January 1, 2021

$

1,660

Fair value adjustments

 

57

Payments during the year

 

Balance at June 30, 2021

$

1,717

The fair value of the component of contingent consideration related to achievement of revenue targets have been estimated using a Monte Carlo model to simulate future performance of the acquired business under a risk-neutral framework; significant assumptions include a risk-adjusted discount rate of 13.5% and revenue volatility of 29.0%. The fair value of the component of contingent consideration related to achievement of four technical milestones have been estimated using situation-based modeling, which considers the probability-weighted present value of the expected payout amount.

13

DoubleVerify Holdings, Inc.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) (Amounts in thousands, except per share data, unless otherwise stated)

8.     Long-term Debt

On October 1, 2020, DoubleVerify Inc., as borrower (the “Borrower”), and MidCo, as guarantor, entered into an amendment and restatement agreement with the banks and other financial institutions party thereto, as lenders, and Capital One, National Association, as administrative agent, letter of credit issuer and swing lender, and others, to (i) amend and restate the Prior Credit Agreement as defined in the Prospectus (the Prior Credit Agreement, as amended and restated on October 1, 2020, the “Credit Agreement”) and (ii) replace the Prior Credit Facilities (as defined in the Prospectus) with a new senior secured revolving credit facility (the “New Revolving Credit Facility”) in an aggregate principal amount of $150.0 million (with a letter of credit facility of up to $15.0 million as a sublimit). Subject to certain terms and conditions, the Borrower is entitled to request additional term loan facilities or increases in the revolving credit commitments under the New Revolving Credit Facility. The New Revolving Credit Facility is payable in quarterly installments for interest, with the principal balance due in full at maturity on October 1, 2025. Additional fees paid quarterly include fees for the unused revolving facility and unused letter of credit. The commitment fee on any unused balance is payable periodically and may range from 0.25% to 0.40% based upon the total net leverage ratio. The New Revolving Credit Facility bears interest at LIBOR plus 2.25%. which may vary from time to time based on the Borrower’s total net leverage ratio calculated in accordance with the Credit Agreement.  

The New Revolving Credit Facility contains a number of significant negative covenants. Subject to certain exceptions, these covenants require the Borrower to comply with certain requirements and restrictions to, among other things: incur indebtedness; create liens; engage in mergers or consolidations; make investments, loans and advances; pay dividends or other distributions and repurchase capital stock; sell assets; engage in certain transactions with affiliates; enter into sale and leaseback transactions; and make certain accounting changes. As a result of these restrictions, substantially all of the net assets of the Borrower are restricted from distribution to the Company or any of its holders of equity.  

The New Revolving Credit Facility has a first priority lien on substantially all of the assets of MidCo, the Borrower and Ad-Juster, Inc., the Company’s indirect subsidiary. The New Revolving Credit Facility requires the Borrower to remain in compliance with a maximum total net leverage ratio and a minimum fixed charge coverage ratio as defined in the Credit Agreement.

As of June 30, 2021, the maximum total net leverage ratio and minimum fixed charge coverage ratio is 3.5x and 1.25x, respectively. The Borrower is in compliance with all covenants under the New Revolving Credit Facility as of June 30, 2021.

On April 30, 2021 the Company used a portion of the proceeds from the IPO and the concurrent private placement to pay the outstanding balance. As of June 30, 2021 and December 31, 2020, there was zero balance outstanding and $22.0 million outstanding under the New Revolving Credit Facility, respectively.

9.     Income Tax

The Company’s quarterly income tax provision is calculated using an estimated annual effective income tax rate ("ETR") based on actual historical information and forward-looking estimates. The Company’s estimated annual ETR may fluctuate due to changes in forecasted annual pre-tax income, changes in the jurisdictional mix of forecasted pre-tax income, and changes to actual or forecasted permanent book to tax differences (e.g., non-deductible expenses). In addition, the Company’s ETR for a particular reporting period may fluctuate as the result of changes to the valuation allowance for net deferred tax assets, the impact of anticipated tax settlements with federal, state, or foreign tax authorities, or the impact of tax law changes. The Company identifies items that are unusual and non-recurring in nature and treat these as discrete events. The tax effect of these discrete events is booked entirely in the quarter in which they occur.

14

DoubleVerify Holdings, Inc.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) (Amounts in thousands, except per share data, unless otherwise stated)

During the three and six months ended June 30, 2021, the Company recorded an income tax provision of $2.3 million and $5.1 million, respectively, resulting in an effective tax rate of (22.4%) and (277.5%), which includes an annualized effective tax benefit of $3.1 million and $0.5 million (representing an effective tax rate of 29.7% and 29.9%) and discrete items relating primarily to transaction costs and state tax refunds of $5.4 million and $5.6 million (representing an effective tax rate of (52.1%) and (307.4%)), respectively. During the three and six months ended June 30, 2020, the Company recorded an income tax provision of $2.0 million and $3.4 million, respectively, resulting in an effective tax rate of 33.0% and 34.0%. These effective tax rates differ from the U.S. federal statutory rate primarily due to the effects of differing treatment of transaction costs between book and tax, foreign tax rate differences, U.S. tax on foreign operations, and U.S. state/local taxes.

The COVID-19 (as defined herein) pandemic has a global reach, and many countries are introducing measures that provide relief to taxpayers in a variety of ways. In March 2020, the U.S. government enacted tax legislation containing provisions to support businesses during the COVID-19 pandemic (the “CARES Act”), including deferment of the employer portion of certain payroll taxes, refundable payroll tax credits, and technical amendments to tax depreciation methods for qualified improvement property. The CARES Act did not have a material impact on the Company’s income tax provision for the three and six months ended June 30, 2021.

A valuation allowance has been established against a small amount of certain net foreign deferred tax assets and US tax loss carryforward. All other net deferred tax assets have been determined to be more likely than not realizable.

The Company and its subsidiaries file income tax returns with the Internal Revenue Service (“IRS”) and various state and international jurisdictions. The Company’s Israeli subsidiary is under audit by the Israeli Tax Authority for the 2016-2018 tax years. This examination may lead to ordinary course adjustments or proposed adjustments to the Company’s taxes. Aside from this, the Company is not currently under audit in any other jurisdiction.

10.   (Loss) Earnings Per Share

The following table reconciles the numerators and denominators used in computations of the basic and diluted EPS for the three and six months ended June 30:

Three Months Ended

Six Months Ended

June 30, 

June 30, 

2021

2020

2021

2020

Numerator:

    

  

    

  

    

Net (Loss) income (basic and diluted)

$

(12,568)

$

4,078

$

(6,924)

$

6,518

Denominator:

 

 

 

 

Weighted-average common shares outstanding

 

149,596

 

139,756

 

137,355

 

139,748

Dilutive effect of share-based awards

 

 

6,785

 

 

7,179

Weighted-average dilutive shares outstanding

 

149,596

 

146,541

 

137,355

 

146,927

Basic (loss) earnings per share

$

(0.08)

$

0.03

$

(0.05)

$

0.05

Diluted (loss) earnings per share

$

(0.08)

$

0.03

$

(0.05)

$

0.04

As the Company has reported net loss for the three and six months ended June 30, 2021, all potentially dilutive securities are antidilutive. Approximately 16.3 million, and 16.4 million weighted average shares issuable under stock-based awards were not included in the diluted EPS calculation in the three and six months ended June 30, 2021 because they were antidilutive. Approximately 6.6 million, and 6.7 million weighted average shares issuable under stock-based awards were not included in the diluted EPS calculation in the three and six months ended June 30, 2020 because they were also antidilutive.

15

DoubleVerify Holdings, Inc.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) (Amounts in thousands, except per share data, unless otherwise stated)

11.   Stock-Based Compensation

Employee Equity Incentive Plan

On September 20, 2017, the Company established its 2017 Omnibus Equity Incentive Program (the “2017 Plan”) which provides for the granting of equity based awards to certain employees, directors, independent contractors, consultants and agents. Under the 2017 Plan, the Company may grant non-qualified stock options, stock appreciation rights, restricted stock units, and other stock-based awards up to 22,182 shares of common stock.

On April 19, 2021 the Company established its 2021 Omnibus Equity Incentive Plan (“2021 Equity Plan”). The maximum number of shares of common stock available for issuance under the 2021 Equity Plan is equal to the sum of (i) 30,000 shares of common stock and (ii) an annual increase on the first day of each year beginning in 2022 and ending in and including 2031, equal to the lesser of (A) five percent (5%) of the outstanding shares of common stock on the last day of the immediately preceding fiscal year and (B) such lesser amount as determined by the Board’s compensation committee. The 2021 Equity Plan provides for the grant of stock options (including qualified incentive stock options and nonqualified stock options), stock appreciation rights, restricted stock, restricted stock units, dividend equivalents, and other stock or cash settled incentive awards. Any shares covered by an award, or portion of an award, granted under the 2021 Equity Plan that expires or is forfeited, canceled, cash-settled, or otherwise terminated for any reason will again be available for the grant of awards under the 2021 Equity Plan.

Options become exercisable subject to vesting schedules up to four years from the date of the grant and subject to certain timing restrictions upon an employee’s separation of service and no later than 10 years after the grant date.

Restricted stock units are subject to vesting schedules up to four years from the date of the grant and subject to certain timing restrictions upon an employee’s separation.

A summary of stock option activity as of and for the six-months ended June 30, 2021 and December 31, 2020 is as follows:

Stock Option

Weighted Average

Remaining

Number of

Weighted Average

Contractual Life

Aggregate

Options

Exercise Price

(Years)

Intrinsic Value

Outstanding as of December 31, 2020

    

14,713

4.47

7.79

181,914

Options granted

 

598

22.12

Options exercised

 

(1,078)

3.35

Options forfeited

 

(189)

6.47

Outstanding as of June 30, 2021

 

14,044

$

5.29

 

7.45

 

$

520,634

Options expected to vest as of June 30, 2021

 

3,818

$

9.72

 

 

$

124,523

Options exercisable as of June 30, 2021

 

6,483

$

3.62

 

 

$

251,007

Stock options include grants to executives that contain both market-based and performance-based vesting conditions. There were no stock options granted that contain both market-based and performance-based vesting conditions during the six months ended June 30, 2021. As of June 30, 2021, 3,433 market-based and performance-based awards were outstanding. As of June 30, 2021, the Company did not consider the performance condition to be probable and did not recognize any expense associated with these options.

The weighted average grant date fair value of options granted during the six months ended June 30, 2021 and 2020 was $9.23 and $2.65, respectively. The total intrinsic value of options exercised during the six months ended June 30, 2021 and 2020 was $30.4 million and $0.3 million, respectively.

16

DoubleVerify Holdings, Inc.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) (Amounts in thousands, except per share data, unless otherwise stated)

The fair market value of each option granted during the six months ended June 30, 2021 has been estimated on the grant date using the Black-Scholes-Merton option-pricing model with the following assumptions:

2021

Risk - free interest rate (percentage)

 

0.6. - 1.1

Expected term (years)

 

6.1

Expected dividend yield (percentage)

 

Expected volatility (percentage)

 

42.1 - 43.6

The Company’s board of directors (the “Board”) did not declare or pay dividends of the Company’s common or preferred stock during the six months ended June 30, 2021 or during the six months ended June 30, 2020.

A summary of restricted stock unit activity as of and for the six months ended June 30, 2021 and December 31, 2020 is as follows:

    

Restricted Stock

Number of

Weighted Average

Shares

Grant Date Fair Value

Outstanding as of December 31, 2020

1,261

$

7.74

Granted

 

576

 

21.30

Vested

 

(217)

 

10.26

Forfeited

 

 

  

Outstanding as of June 30, 2021

 

1,620

$

12.23

Expected to vest as of June 30, 2021

 

1,486

 

  

The total grant date fair value of restricted stock units that vested during the six months ended June 30, 2021 was $2.2 million.

As of June 30, 2021, unrecognized stock-based compensation expense was $24.6 million, which is expected to be recognized over a weighted-average period of 1.4 years.

Total stock-based compensation expense recorded in the Condensed Consolidated Statements of Operations and Comprehensive (Loss) Income as follows:

Three Months Ended

Six Months Ended

June 30, 

June 30, 

(in thousands)

 

2021

 

2020

 

2021

 

2020

Product development

 

436

 

152

$

714

$

253

Sales, marketing and customer support

 

1,696

 

392

 

2,320

 

564

General and administrative

 

2,582

 

596

 

4,218

 

1,125

Total stock-based compensation

$

4,714

$

1,140

$

7,252

$

1,942

12. Stockholders’ Equity

On April 9, 2021, the Company entered into an arrangement with an affiliate of Tiger Global Management, LLC (the ‘‘Tiger Investor’’) whereby the Tiger Investor purchased $30.0 million of the Company’s common stock in a private placement (‘‘concurrent private placement’’) concurrent with the completion of the IPO. The price per share was equal to the IPO price of $27.00, for a total of 1,111 shares. The Company received total aggregate net proceeds of $29.0 million, after deducting underwriting fees of $1.0 million.

17

DoubleVerify Holdings, Inc.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) (Amounts in thousands, except per share data, unless otherwise stated)

On April 23, 2021, the Company completed its IPO in which the Company issued and sold 9,977 shares of common stock at a public offering price of $27.00 per share, which included the full exercise of the underwriters’ option to purchase 1,350 additional shares of common stock. The Company received aggregate net proceeds of $253.2 million from the IPO, after deducting underwriting discount fees of $16.2 million. The Company incurred offering costs of approximately $26.8 million for the concurrent private placement and IPO, of which $18.7 million and $21.8 million were included in General and Administrative expenses in the Condensed Consolidated Statement of Operations and Comprehensive (Loss) Income for the three and six months ended June 30, 2021, respectively. The IPO offering also included 5,356 shares sold by Providence VII U.S. Holdings L.P. (“Providence”) and other existing stockholders, which included the full exercise of the underwriters’ option to purchase 650 additional shares from Providence, in which the Company did not receive any proceeds from the shares sold.

In connection with the Company’s IPO, all shares of the Company’s outstanding preferred stock automatically converted into 20,335 shares of common stock on a one for one-third basis. The Company’s treasury stock, consisting of 15,146 shares of common stock, was reissued in the preferred stock conversion.

In conjunction with the IPO, the Company increased the authorized shares of its capital stock. The Company’s capital stock consists of 1,000,000 shares of common stock, par value $0.001 per share and 100,000 shares of undesignated preferred stock, par value $0.01 per share. Further, the Company amended and restated its existing amended and restated certificate of incorporation and its existing bylaws of the Company, as previously reported in the Prospectus, which incorporates material modifications to rights of security holders.

13.   Commitments and Contingencies

Accrued Expense

Accrued expenses as of June 30, 2021 and December 31, 2020 were as follows:

    

As of

(in thousands)

June 30, 2021

    

December 31, 2020

Vendor payments

$

3,507

$

3,896

Employee commissions and bonuses

 

10,304

 

11,344

Payroll and other employee related expense

 

8,579

 

6,957

401k and pension expense

 

848

 

1,358

Other taxes

 

2,222

 

1,864

Total accrued expense

$

25,460

$

25,419

Operating Leases

The Company and its subsidiaries have entered into operating lease agreements for certain of its office space, and data centers. The offices are located in the United States, Israel, Belgium, Finland, France, Japan, and Singapore. The data centers are premises used to house computing and networking equipment. The data center leases are located within the United States, Netherlands, Germany and Singapore.

For the three months ended June 30, 2021 and June 30, 2020 office rent expense was $1.2 million and $1.5 million, respectively. For the six months ended June 30, 2021 and June 30, 2020 office rent expense was $2.1 million and $2.9 million, respectively.

For the three months ended June 30, 2021 and June 30, 2020 data center rent expense was $0.4 million and $0.3 million, respectively. For the six months ended June 30, 2021 and June 30, 2020 data center rent expense was $0.9 million and $0.6 million, respectively.

18

DoubleVerify Holdings, Inc.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) (Amounts in thousands, except per share data, unless otherwise stated)

Future minimum lease obligations are as follows:

    

Year Ending

(in thousands)

December 31, 

2021

$

2,848

2022

 

4,778

2023

 

4,211

2024

 

563

$

12,400

Capital Leases

As of June 30, 2021, the Company had seven lease agreements for certain equipment which provide for the transfer of ownership at the end of the lease term or are for underlying assets that will have an insignificant fair value at the end of the lease term. The Company has classified these agreements as capital leases and recognized the corresponding assets and liabilities within the Condensed Consolidated Balance Sheet.

The following is a schedule of future minimum lease payments under these agreements (including interest) as of June 30, 2021.

    

Year Ending

(in thousands)

December 31, 

2021

$

1,109

2022

 

2,144

2023

 

1,937

2024

 

598

2025

 

170

Total

 

5,958

Less: Amount representing interest

 

(319)

Present Value of net minimum capital lease payments

$

5,639

Capital leases short term

$

2,021

Capital leases long term

 

3,618

Total

$

5,639

Contingencies

From time to time, the Company is subject to various legal proceedings and claims, either asserted or unasserted, that arise in the ordinary course of business. The Company records liabilities for contingencies including legal costs when it is probable that a liability has been incurred and when the amount can be reasonably estimated. Legal costs are expensed as incurred. Although the outcome of the various legal proceedings and claims cannot be predicted with certainty, management does not believe that any of these proceedings or other claims will have a material effect on the Company’s business, financial condition, results of operations or cash flows.

14.    Segment Information

The Company has determined that it operates as one operating and reportable segment. The Company’s chief operating decision maker reviews financial information on a consolidated basis, together with certain operating and performance measures principally to make decisions about how to allocate resources and measure performance.

19

DoubleVerify Holdings, Inc.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) (Amounts in thousands, except per share data, unless otherwise stated)

The Company has not disclosed certain geographic information pertaining to revenues and total assets as it is impracticable to disclose, is not utilized by the Company’s chief operating decision maker to review operating results or make decisions about how to allocate resources, and would not be useful to users of the Condensed Consolidated Financial Statements to disclose such information.

15.   Subsequent Events

On July 21, 2021, the Company approved 395 stock options and 427 restricted stock units to be granted under the 2021 Equity Plan and 140 stock options and 107 restricted stock units to be granted under the 2017 Equity Plan.

20

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 interim Condensed Consolidated Financial Statements and related notes appearing elsewhere in this Quarterly Report and our Prospectus. In addition to our historical condensed consolidated financial information, the following discussion contains forward-looking statements that reflect our plans, estimates, and beliefs. Our actual results could differ materially from those discussed in the forward-looking statements. Factors that could cause or contribute to these differences include those discussed in our Prospectus and elsewhere in this Quarterly Report.

Company Overview

DoubleVerify is a leading software platform for digital media measurement and analytics. Our mission is to increase the effectiveness and transparency of the digital advertising ecosystem. Through our software platform and the metrics it provides, we help preserve the fair value exchange in the digital advertising marketplace.

Our customers include many of the largest global advertisers and digital ad platforms and publishers. We deliver our suite of measurement solutions through a robust and scalable software platform that provides our customers with unified data analytics. We provide a consistent, cross-platform measurement standard across all major forms of digital media, making it easier for advertiser and supply-side customers to benchmark performance across all of their digital ads and to optimize their digital strategies in real time. Our coverage spans over 40 key geographies where our customers are located and covers all major purchasing channels, media formats and devices.

For the three months ended June 30, 2021, we generated 91% of our revenue from advertiser customers and for the three months ended June 30, 2020, we generated 90% of our revenue from advertiser customers. For the six months ended June 30, 2021, we generated 91% of our revenue from advertiser customers and for the six months ended June 30, 2020, we generated 90% of our revenue from advertiser customers. We derive revenue from our advertiser customers based on the volume of media transactions, or ads, that our software platform measures (“Media Transactions Measured”). Advertisers utilize the DV Authentic Ad, our definitive metric of digital media quality, to evaluate the existence of fraud, brand safety, viewability and geography for each digital ad. Advertisers pay us an analysis fee (“Measured Transaction Fee”) per thousand impressions based on the volume of Media Transactions Measured on their behalf. We maintain an expansive set of direct integrations across the entire digital advertising ecosystem, including with leading programmatic, CTV, and social platforms, which enables us to deliver our metrics to the platforms where our customers buy ads. Further, our services are not reliant on any single source of impressions and we can service our customers as their digital advertising needs change.

For the three months ended June 30, 2021 and June 30, 2020, 9% and 10% of our revenue, respectively, were generated from our supply-side customers to validate the quality of their ad inventory. For the six months ended June 30, 2021 and June 30, 2020, 9% and 10% of our revenue, respectively, were generated from our supply-side customers to validate the quality of their ad inventory.  We generate revenue from supply-side customers based on monthly or annual contracts with minimum guarantees and tiered pricing when guarantees are met.

COVID-19

Since January 2020, an outbreak of the 2019 novel coronavirus (“COVID-19”) has evolved into a worldwide pandemic. We modified operations in line with our business continuity plans. While certain of our facilities generally remain open, we are making extensive use of the work-from-home model at the moment. While COVID-19 has not had a significant impact on our results from operations to date, to the extent that demand for digital advertising declines, our results and financial condition may be materially and adversely impacted. On a daily basis, management is reviewing operations and there have been to date minimal interruptions in our customer facing operations.

21

Throughout the pandemic, the underlying demand for our products has remained relatively unchanged, with limited disruption to our new customer sales. For the three months ended June 30, 2021, we generated growth of 44% in total revenue as compared to the three months ended June 30, 2020. For the six months ended June 30, 2021, we generated growth of 38% in total revenue as compared to the six months ended June 30, 2020. Our existing customer base has remained largely stable, and we have been able to maintain gross revenue retention rates of over 95% for the three months ended June 30, 2021. We define our gross revenue retention rate as the total prior period revenue earned from advertiser customers, less the portion of prior period revenue attributable to lost advertiser customers, divided by the total prior period revenue from advertiser customers, excluding a portion of our revenues that cannot be allocated to specific advertiser customers.

While the impact on our business has been limited to date, the pandemic has resulted in market disruptions and a global economic slowdown, the duration of which is highly uncertain and cannot be predicted, that may materially impact our results of operations and financial condition. See “Risk Factors—Risks Relating to Our Business—Economic downturns and unstable market conditions, including as a result of the COVID-19 pandemic, could adversely affect our business, financial condition and results of operations” in our Prospectus.

Components of Our Results of Operations

We manage our business operations and report our financial results in a single segment.

Revenue

Our customers use our solutions to measure their digital advertisements. We generate revenue from our advertising customers based on the volume of Media Transactions Measured on our software platform, and for supply-side customers, based on contracts with minimum guarantees or contracts that have tiered pricing after minimum guarantees are achieved.

For the three months ended June 30, 2021 and 2020, we generated 91% and 90%, respectively, of our revenue from advertiser customers. For the six months ended June 30, 2021 and 2020, we generated 91% and 90%, respectively, of our revenue from advertiser customers. Advertisers can purchase our services to measure the quality and performance of ads purchased directly from digital properties, including publishers and social media platforms, which we track as Advertiser Direct revenue. Advertisers can also purchase our services through programmatic platforms to evaluate the quality of ad inventories before they are purchased, which we track as Advertiser Programmatic revenue. We generate revenue from advertisers by charging a Measured Transaction Fee based on the volume of Media Transactions Measured on behalf of our customers. We recognize revenue from advertisers in the period in which we provide our measurement solutions.

For the three months ended June 30, 2021 and 2020, we generated 9% and 10%, respectively, of our revenue from supply-side customers who use our data analytics to validate the quality of their ad inventory and provide data to their customers to facilitate targeting and purchasing of digital ads, which we refer to as Supply-Side revenue. For the six months ended June 30, 2021 and 2020, Supply-Side revenue comprised 9% and 10% of revenue, respectively. We generate revenue from supply-side customers based on monthly or annual contracts with minimum guarantees and certain customers having tiered pricing when guarantees are met. We recognize revenue ratably over the contract term beginning on the date our product is made available to them, which typically begins on the commencement date of each contract.

The following table disaggregates revenue between advertiser customers (on both a direct and programmatic basis) and supply-side customers.

22

Three Months Ended June 30, 

Change

Change

Six Months Ended June 30, 

    

Change

Change

2021

     

2020

     

$

     

%

     

2021

     

2020

     

$

     

%

(In Thousands)

    

(In Thousands)

  

    

Revenue by customer type:

  

  

  

  

  

Advertiser - direct

$

31,662

$

23,707

$

7,955

34

%

$

59,203

  

$

45,894

  

$

13,309

29

%

Advertiser - programmatic

 

37,880

 

24,128

 

13,752

57

 

71,792

  

 

47,979

  

 

23,813

50

Supply-side customer

 

6,982

 

5,185

 

1,797

35

 

13,115

  

 

10,366

  

 

2,749

27

Total revenue

$

76,524

  

$

53,020

$

23,504

44

%

$

144,110

  

$

104,239

  

$

39,871

38

%

Operating Expenses

Our operating expenses consist of the following categories:

Cost of revenue.  Cost of revenue primarily consists of platform hosting fees, data center costs, software and other technology expenses, and other costs directly associated with data infrastructure; personnel costs, including salaries, bonuses, stock-based compensation and benefits, directly associated with the support and delivery of our software platform and data solutions; and costs from revenue-sharing arrangements with our partners.

Product development.  Product development expenses primarily consist of personnel costs, including salaries, bonuses, stock-based compensation and benefits, third party vendors and outsourced engineering services, and allocated overhead. We allocate overhead such as information technology infrastructure, rent and occupancy charges based on headcount. Product development expenses are expensed as incurred, except to the extent that such costs are associated with software development that qualifies for capitalization, which are then recorded as capitalized software development costs included in Property, Plant and Equipment, Net on our Condensed Consolidated Balance Sheets. We amortize capitalized software development costs to depreciation and amortization.

Sales, marketing, and customer support.  Sales, marketing, and customer support expenses primarily consist of personnel costs directly associated with our sales, marketing, and customer support departments, including salaries, bonuses, stock-based compensation and benefits, and allocated overhead. We allocate overhead such as information technology infrastructure, rent and occupancy charges based on headcount. Sales and marketing expense also includes costs for promotional marketing activities, advertising costs, attendance at events and trade shows, and allocated overhead. Sales commissions are expensed as incurred.

General and administrative.  General and administrative expenses primarily consist of personnel expenses associated with our executive, finance, legal, human resources and other administrative employees. Our general and administrative expenses also include professional fees for external accounting, legal and other consulting services, and other overhead, as well as third-party costs related to acquisitions.

We continue to incur certain non-recurring professional fees and other expenses as part of our transition to becoming a public company. Following the effective date of the Prospectus, we expect to continue to incur additional expenses as a result of operating as a public company, including costs to comply with rules and regulations applicable to companies listed on a U.S. securities exchange, costs related to compliance and reporting obligations pursuant to the rules and regulations of the SEC, investor relations and professional services.

Interest expense.  Interest expense for the six months ended June 30, 2021 and June 30, 2020 consists primarily of interest on our outstanding balances under the Prior Credit Facilities and the New Revolving Credit Facility, and also includes debt issuance costs. On October 1, 2020, we entered into the New Revolving Credit Facility and repaid all amounts outstanding under the Prior Credit Facilities. The New Revolving Credit Facility bears interest at LIBOR plus an applicable margin per annum. See “Debt Obligations.”

Other (income) expense.  Other (income) expense consists primarily of interest earned on our cash equivalents and short-term investments, gains and losses on foreign currency transactions, and change in fair value associated with contingent considerations related to our acquisitions.

23

Results of Operations

Comparison of the Three and Six Months Ended June 30, 2021 and June 30, 2020

The following table shows our condensed Consolidated Results of Operations:

Three Months Ended June 30, 

Change

Change

Six Months Ended June 30, 

Change

Change

2021

     

2020

     

$

     

%

     

2021

     

2020

     

$

     

%

    

(In Thousands)

 

(In Thousands)

    

Revenue

$

76,524

$

53,020

$

23,504

44

%

$

144,110

 

$

104,239

 

$

39,871

38

%

Cost of revenue (exclusive of depreciation and amortization shown separately below)

 

12,291

 

7,655

 

4,636

61

 

22,494

 

14,965

 

7,529

50

Product development

 

15,120

 

10,906

 

4,214

39

 

29,299

 

21,237

 

8,062

38

Sales, marketing and customer support

 

19,580

 

12,833

 

6,747

53

 

35,114

 

25,152

 

9,962

40

General and administrative

 

32,017

 

8,262

 

23,755

288

 

43,852

 

18,958

 

24,894

131

Depreciation and amortization

 

7,440

 

6,146

 

1,294

21

 

14,497

 

12,080

 

2,417

20

(Loss) income from operations

 

(9,924)

 

7,218

 

(17,142)

(237)

 

(1,146)

 

11,847

 

(12,993)

(110)

Interest expense

 

297

 

936

 

(639)

(68)

 

687

 

2,100

 

(1,413)

(67)

Other expense (income), net

 

49

 

198

 

(149)

(75)

 

 

(122)

 

122

(100)

(Loss) income before income taxes

 

(10,270)

 

6,084

 

(16,354)

(269)

 

(1,833)

 

9,869

 

(11,702)

(119)

Income tax expense

 

2,298

 

2,006

 

292

15

 

5,091

 

3,351

 

1,740

52

Net (loss) income

$

(12,568)

$

4,078

$

(16,646)

(408)

%

$

(6,924)

$

6,518

$

(13,442)

(206)

%

The following table sets forth our Condensed Consolidated Results of Operations for the specified periods as a percentage of our revenue for those periods presented:

Three Months Ended June 30, 

Six Months Ended June 30, 

2021

    

2020

2021

    

2020

Revenue

100

%  

100

%  

100

%  

100

%

Cost of revenue (exclusive of depreciation and amortization shown separately below)

16

 

14

 

16

 

14

Product development

20

 

21

 

20

 

20

Sales, marketing and customer support

26

 

24

 

24

 

24

General and administrative

42

 

16

 

30

 

18

Depreciation and amortization

10

 

12

 

10

 

12

(Loss) income from operations

(13)

 

14

 

(1)

 

11

Interest expense

 

2

 

 

2

Other expense (income), net

 

 

 

(Loss) income before income taxes

(13)

 

11

 

(1)

 

9

Income tax expense

3

 

4

 

4

 

3

Net (loss) income

(16)

%  

8

%  

(5)

%  

6

%  

Revenue

Total revenue increased by $23.5 million, or 44%, from $53.0 million in the three months ended June 30, 2020 to $76.5 million in the three months ended June 30, 2021. Total revenue increased by $39.9 million, or 38%, from $104.2 million in the six months ended June 30, 2020 to $144.1 million in the six months ended June 30, 2021.

24

Advertiser Direct revenue grew $8.0 million, or 34%, in the three months ended June 30, 2021 as compared to the three months ended June 30, 2020, driven primarily by growth of 89% in Media Transactions Measured for CTV and 100% in Media Transactions Measured for social channels. Advertiser Direct revenue grew $13.3 million, or 29%, in the six months ended June 30, 2021 as compared to the six months ended June 30, 2020, driven primarily by growth of 82% in Media Transactions Measured for CTV and 87% in Media Transactions Measured for social channels.

 Advertiser Programmatic revenue grew $13.8 million, or 57%, in the three months ended June 30, 2021 as compared to the three months ended June 30, 2020, driven primarily by continued adoption of our premium-priced Authentic Brand Safety solution. Advertiser Programmatic revenue grew $23.8 million, or 50%, in the six months ended June 30, 2021 as compared to the six months ended June 30, 2020, driven primarily by continued adoption of our premium-priced Authentic Brand Safety solution.

 Supply-Side revenue grew $1.8 million, or 35%, in the three months ended June 30, 2021 as compared to the three months ended June 30, 2020, primarily driven by increased uptake of our solutions from our platform and publisher customers. Supply-Side revenue grew $2.7 million, or 27%, in the six months ended June 30, 2021 as compared to the six months ended June 30, 2020, primarily driven by increased uptake of our solutions from our platform and publisher customers. 

Cost of Revenue (exclusive of depreciation and amortization shown below)

Cost of revenue increased by $4.6 million, or 61%, from $7.7 million in the three months ended June 30, 2020 to $12.3 million in the three months ended June 30, 2021. The increase was primarily due to higher partner costs from revenue-sharing arrangements with our Advertiser Programmatic partners, as well as higher software and other technology costs to support our increased volumes. Cost of revenue increased by $7.5 million, or 50%, from $15.0 million in the six months ended June 30, 2020 to $22.5 million in the six months ended June 30, 2021. The increase was primarily due to higher partner costs from revenue-sharing arrangements with our Advertiser Programmatic partners, as well as higher software and other technology costs to support our increased volumes.

Product Development Expenses

Product development expenses increased by $4.2 million, or 39%, from $10.9 million in the three months ended June 30, 2020 to $15.1 million in the three months ended June 30, 2021. The increase was primarily due to an increase in personnel costs of $3.4 million, which reflects our continued hiring of resources to support our product-development efforts. Product development expenses increased by $8.1 million, or 38%, from $21.2 million in the six months ended June 30, 2020 to $29.3 million in the six months ended June 30, 2021. The increase was primarily due to an increase in personnel costs of $6.9 million, which reflects our continued hiring of resources to support our product-development efforts, in addition to $0.4 million of higher professional fees and $0.4 million of higher software expenses.

Sales, Marketing and Customer Support Expenses

Sales, marketing and customer support expenses increased by $6.8 million, or 53%, from $12.8 million in the three months ended June 30, 2020 to $19.6 million in the three months ended June 30, 2021. The increase was primarily due to an increase in personnel costs of $5.2 million to support our sales efforts, grow market presence in international markets, drive continued expansion with our existing customers, and support existing and new customers in addition to $1.5 million of higher stock-based compensation expense. Stock-based compensation expense increased due to certain awards that accelerated upon the completion of the IPO, an increase in the number of employees who were eligible and received equity awards and an increase in the value of our common stock. Sales, marketing and customer support expenses increased by $9.9 million, or 40%, from $25.2 million in the six months ended June 30, 2020 to $35.1 million in the six months ended June 30, 2021. The increase was primarily due to an increase in personnel costs of $9.7 million to support our sales efforts, grow market presence in international markets, drive continued expansion with our existing customers, and support existing and new customers.

25

General and Administrative Expenses

General and administrative expenses increased by $23.8 million, or 288%, from $8.3 million in the three months ended June 30, 2020 to $32.0 million in the three months ended June 30, 2021. The increase was primarily due to $18.3 million of higher transaction costs associated with the preparation and completion of the Company’s IPO, as well as an increase in compensation expenses of $2.5 million and an increase in stock-based compensation expenses of $2.0 million. Stock-based compensation expense increased due to certain awards that accelerated upon the completion of the IPO, an increase in the number of employees who were eligible and received equity awards and an increase in the value of our common stock. General and administrative expenses increased by $24.9 million, or 131%, from $19.0 million in the six months ended June 30, 2020 to $43.9 million in the six months ended June 30, 2021. The increase was primarily due to $19.9 million of higher transaction costs associated with the preparation and completion of the Company’s IPO, as well as an increase in compensation expenses of $5.6 million and an increase in stock-based compensation expenses of $3.1 million partially offset by lower professional fees, travel & entertainment, and one-time costs. Stock-based compensation expense increased due to certain awards that accelerated upon the completion of the IPO, an increase in the number of employees who were eligible and received equity awards and an increase in the value of our common stock.

Depreciation and Amortization

Depreciation and amortization increased by $1.3 million, or 21%, from $6.1 million in the three months ended June 30, 2020 to $7.4 million in the three months ended June 30, 2021. The increase was primarily due to an increase in depreciation related to capital expenditures. Depreciation and amortization increased by $2.4 million, or 20%, from $12.1 million in the six months ended June 30, 2020 to $14.5 million in the six months ended June 30, 2021. The increase was primarily due to an increase in depreciation related to capital expenditures.

Interest Expense

Interest expense is mainly related to our Prior Credit Facilities and New Revolving Credit Facility, which carry a variable interest rate. Interest expense decreased by $0.6 million, from $0.9 million in the three months ended June 30, 2020 to $0.3 million in the three months ended June 30, 2021. The decrease was attributable to a reduction in outstanding debt. Interest expense decreased by $1.4 million, from $2.1 million in the six months ended June 30, 2020 to $0.7 million in the six months ended June 30, 2021. The decrease was attributable to a reduction in outstanding debt.

Other (Income) Expense, Net

Other expense decreased by $0.1 million, from loss of $0.2 million in the three months ended June 30, 2020 to a loss of $0.1 million in the three months ended June 30, 2021, primarily due to a decrease in unrealized losses related to changes in exchange rates. Other income decreased by $0.1 million, from income of $0.1 million in the six months ended June 30, 2020 to income of less than $0.1 million in the six months ended June 30, 2021, primarily due to a decrease in realized gains for changes in fair value related to contingent payments from our acquisition of Zentrick NV in February 2019, partially offset by a decrease in unrealized losses related to changes in exchange rates.

Income Tax Expense (Benefit)

Income tax expense grew by $0.3 million from $2.0 million in the three months ended June 30, 2020 to $2.3 million in the three months ended June 30, 2021. The increase was primarily due to an increase in pre-tax income, after taking into account permanent book to tax income adjustments. Income tax expense grew by $1.7 million from $3.4 million in the six months ended June 30, 2020 to $5.1 million in the six months ended June 30, 2021. The increase was primarily due to an increase in pre-tax income, after taking into account permanent book to tax income adjustments.

26

Adjusted EBITDA

In addition to our results determined in accordance with GAAP, we believe that certain non-GAAP financial measures, including Adjusted EBITDA and Adjusted EBITDA Margin, are useful in evaluating our business. A metric similar to Adjusted EBITDA is used in certain calculations under our New Revolving Credit Facility. We calculate Adjusted EBITDA Margin as Adjusted EBITDA divided by total revenue. The following table presents a reconciliation of Adjusted EBITDA, a non-GAAP financial measure, to the most directly comparable financial measure prepared in accordance with GAAP.

Three Months Ended June 30, 

Six Months Ended June 30, 

2021

2020

2021

2020

(In Thousands)

(In Thousands)

Net (loss) income

$

(12,568)

$

4,078

$

(6,924)

 

$

6,518

Net (loss) income margin

(16)%

8%

(5)%

6%

Depreciation and amortization

 

7,440

 

6,146

 

14,497

 

12,080

Stock-based compensation

 

4,714

 

1,140

 

7,252

 

1,942

Interest expense

 

297

 

936

 

687

 

2,100

Income tax expense

 

2,298

 

2,006

 

5,091

 

3,351

M&A costs (a)

 

67

8

49

 

223

Offering costs and IPO readiness costs (b)

 

18,886

585

22,147

 

2,227

Other costs (c)

 

561

109

 

2,724

Other expense (income) (d)

 

49

 

198

 

 

(122)

Adjusted EBITDA

$

21,183

$

15,658

$

42,908

$

31,043

Adjusted EBITDA margin

28%

 

30%

 

30%

 

30%

(a)M&A costs for the three and six months ended June 30, 2021 consist of reductions to deferred compensation liabilities related to acquisitions.  M&A costs for the three and six months ended June 30, 2020 consist of third-party costs and deferred compensation costs related to acquisitions.
(b)Offering costs and IPO readiness costs for the three and six months ended June 30, 2021 and 2020 consist of third-party costs incurred in preparation and completion for our IPO.
(c)Other costs for the three and six months ended June 30, 2021 consist of reimbursements paid to Providence. For the three and six months ended June 30, 2020, other costs include reimbursements paid to Providence as well as costs related to the departure of our former Chief Executive Officer, and third-party costs incurred in response to investigating and remediating certain IT/cybersecurity matters that occurred in March 2020.
(d)Other expense (income) consists of interest income, change in fair value associated with contingent considerations, and the impact of foreign currency transaction gains and losses associated with monetary assets and liabilities.

We use Adjusted EBITDA and Adjusted EBITDA Margin as measures of operational efficiency to understand and evaluate our core business operations. We believe that these non-GAAP financial measures are useful to investors for period to period comparisons of our core business and for understanding and evaluating trends in our operating results on a consistent basis by excluding items that we do not believe are indicative of our core operating performance.

27

These non-GAAP financial measures have limitations as analytical tools and should not be considered in isolation or as substitutes for an analysis of our results as reported under GAAP. Some of the limitations of these measures are:

they do not reflect changes in, or cash requirements for, our working capital needs;
Adjusted EBITDA does not reflect our capital expenditures or future requirements for capital expenditures or contractual commitments;
they do not reflect income tax expense or the cash requirements to pay income taxes;
they do not reflect our interest expense or the cash requirements necessary to service interest or principal payments on our debt; and
although depreciation and amortization are non-cash charges related mainly to intangible assets, certain assets being depreciated and amortized will have to be replaced in the future, and Adjusted EBITDA does not reflect any cash requirements for such replacements.

In addition, other companies in our industry may calculate these non-GAAP financial measures differently than we do, limiting their usefulness as a comparative measure. You should compensate for these limitations by relying primarily on our GAAP results and using the non-GAAP financial measures only supplementally.

Liquidity and Capital Resources

Our operations are financed primarily through cash generated from operations. As of June 30, 2021, we had cash of $330.3 million and net working capital, consisting of current assets (excluding cash) less current liabilities, of $63.6 million.

The Company received aggregate net proceeds of $253.2 million from the IPO, after deducting underwriting discount fees of $16.2 million. The Company also received total aggregate net proceeds of $29.0 million from the concurrent private placement, after deducting fees of $1.0 million.  We believe our existing cash and cash generated from operations, together with the proceeds from our recent IPO and concurrent private placement and the undrawn balance under the New Revolving Credit Facility, will be sufficient to meet our working capital and capital expenditure requirements for at least the next 12 months.

Our total future capital requirements and the adequacy of available funds will depend on many factors, including those discussed above as well as the risks and uncertainties set forth under “Risk Factors” in the Prospectus.

Our liquidity has not been materially impacted by the COVID-19 pandemic as discussed above.

Debt Obligations

In October 2020, DoubleVerify Inc., as borrower, and MidCo, as guarantor, entered into the New Revolving Credit Facility and, in connection therewith, repaid all amounts outstanding under the Prior Credit Facilities.

On December 24, 2020, DoubleVerify Inc. prepaid $68.0 million of the outstanding principal amount under the New Revolving Credit Facility with a portion of the proceeds from a private placement effected on November 18, 2020, in which certain investors purchased an aggregate of 61,006 thousand shares of our preferred stock from us and certain of our existing stockholders for an aggregate purchase price of approximately $350.0 million. As of March 31, 2021, $22.0 million was outstanding under the New Revolving Credit Facility.

On April 30, 2021, DoubleVerify Inc. paid the entire outstanding balance under the New Revolving Credit Facility of $22.0 million using proceeds from the IPO and the concurrent private placement. Following the payment and as of June 30, 2021, DoubleVerify Inc. has no outstanding variable rate indebtedness and has $150 million of availability under the New Revolving Credit Facility.

28

The New Revolving Credit Facility is secured by substantially all of our assets (subject to customary exceptions) and contains customary affirmative and restrictive covenants, including with respect to our ability to enter into fundamental transactions, incur additional indebtedness, grant liens, pay dividends or make distributions to our stockholders and engage in transactions with our affiliates. DoubleVerify Inc. is in compliance with all covenants under the New Revolving Credit Facility as of June 30, 2021.

Cash Flows

The following table summarizes our cash flows for the periods indicated:

    

Six Months Ended June 30, 

2021

2020

    

(In Thousands)

Cash flows provided by operating activities

$

42,228

$

17,466

Cash flows (used in) investing activities

 

(3,513)

 

(4,562)

Cash flows provided by (used in) financing activities

 

258,275

 

(4,733)

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

 

13

 

(80)

Increase in cash, cash equivalents, and restricted cash

$

297,003

$

8,091

Operating Activities

Our cash flows from operating activities are primarily influenced by growth in our operations and by changes in our working capital. In particular, accounts receivable increases in conjunction with our rapid growth in sales and decreases based on timing of cash receipts from our customers. The timing of payments on our liabilities also impacts our cash flows from operating activities. We typically pay suppliers in advance of collections from our customers. Our collection and payment cycles can vary from period to period.

For the six months ended June 30, 2021, cash provided by operating activities was $42.2 million, attributable to net loss of $6.9 million, adjusted for non-cash charges of $40.8 million and net cash inflows of $8.3 million provided by changes in operating assets and liabilities. Non-cash charges primarily consisted of $14.5 million in depreciation and amortization, $21.8 million of offering costs, and $7.3 million in stock-based compensation. The main drivers of the changes in operating assets and liabilities were a decrease in trade receivables and prepaid and other assets of $7.9 million and an increase of $0.4 million in trade payables, accrued expenses and other expense.

For the six months ended June 30, 2020, cash provided by operating activities was $17.5 million, attributable to net income of $6.5 million, adjusted for non-cash charges of $13.6 million and net cash outflows of $2.6 million provided by changes in operating assets and liabilities. Non-cash charges primarily consisted of $12.1 million in depreciation and amortization, $1.7 million in bad debt expense, and $1.9 million in stock-based compensation. The main drivers of the changes in operating assets and liabilities were a decrease in trade payables, accrued expenses, and other liabilities of $3.4 million, partially offset by a decrease of $0.8 million in trade receivables and prepaid assets.

Investing Activities

For the six months ended June 30, 2021, cash used in investing activities of $3.5 million was attributable to purchases of property, plant and equipment and to capitalized software development costs. For the six months ended June 30, 2020, cash used in investing activities of $4.6 million was attributable to purchases of property, plant and equipment and to capitalized software development costs.

29

Financing Activities

For the six months ended June 30, 2021, cash provided by financing activities of $258.3 million was primarily due to $299.4 million of proceeds from the IPO and concurrent private placement and stock option exercises of $3.4 million, partially offset by $22.0 million of debt repayment and $21.7 million of offering costs. For the six months ended June 30, 2020, cash used for financing activities of $4.7 million was primarily due to $1.1 million of offering costs, $2.0 million of acquisition contingent consideration payments, and $0.9 million of capital lease payments.

Critical Accounting Policies and Estimates

Management’s discussion and analysis of our financial condition and results of operations is based on our Condensed Consolidated Financial Statements, which have been prepared in accordance with GAAP. The preparation of these financial statements requires us to make estimates and assumptions for the reported amounts of assets and liabilities and related disclosures at the dates of the financial statements, and revenue and expenses during the reporting periods. Our estimates are based on our historical experience and on various other factors that we believe are reasonable for making judgments about the carrying value of assets and liabilities that are not readily apparent from other sources. We evaluate these estimates on an ongoing basis. Actual results may differ from these estimates under different assumptions or conditions, and any such differences may be material.

Some of the judgments that management makes in applying its accounting estimates in these areas are discussed in Note 2 to our audited Consolidated Financial Statements appearing in our Prospectus. Since the date of our Prospectus, there have been no material changes to our critical accounting policies and estimates.

30

Item 3: Quantitative and Qualitative Disclosures about Market Risk

Market risks at June 30, 2021 have not materially changed from those discussed in the Prospectus under the heading “Management’s Discussion and Analysis of Financial Condition and Results of Operations”.

Item 4. Controls and Procedures

Evaluation of Disclosure Controls and Procedures

Management, with the participation of our Chief Executive Officer and Chief Financial Officer, evaluated the effectiveness of our disclosure controls and procedures, as defined in Rule 13a-15(e) and 15d-15(e) under the Exchange Act, as of June 30, 2021.

Disclosure controls and procedures are controls and other procedures designed to ensure that information required to be disclosed in the reports filed or submitted under the Exchange Act is recorded, processed, summarized, and reported within the time periods specified in the SEC’s rules and forms. This also includes disclosure controls and procedures designed to ensure that information required to be disclosed in our reports filed under the Exchange Act is accumulated and communicated to management, including our Chief Executive Officer and Chief Financial Officer, to allow timely decisions regarding required disclosures.

Our Chief Executive Officer and Chief Financial Officer concluded that our disclosure controls and procedures were not effective as of June 30, 2021 due to the material weaknesses in our internal control over financial reporting described below. However, management, including our Chief Executive Officer and Chief Financial Officer, has concluded that, notwithstanding the identified material weaknesses in our internal control over financial reporting, the Condensed Consolidated Financial Statements in this Quarterly Report fairly present, in all material respects, our financial position, results of operations and cash flows for the periods presented in conformity with GAAP.

Material Weakness in Internal Control over Financial Reporting

As disclosed in the “Risk Factors” section of the Prospectus, we previously identified a number of deficiencies related to the design and operating effectiveness of internal controls constituting material weaknesses in our control environment. Certain of those deficiencies relate to insufficient management review controls and lack of resources with an appropriate level of technical accounting knowledge that are relevant to the preparation and review of the Company's Consolidated Financial Statements, which constituted material weaknesses in our system of internal control. A material weakness is a deficiency, or a combination of deficiencies, in internal control over financial reporting, such that there is a reasonable possibility that a material misstatement of a company’s annual or interim financial statements will not be prevented or detected on a timely basis.

Management’s Remediation Efforts

We have commenced measures to remediate the identified material weaknesses. The measures include hiring additional finance and accounting personnel with prior experience working for finance departments of public companies and technical accounting experience, supplemented by third-party resources and external advisors; preparing accounting memoranda to address significant accounting transactions and other technical accounting and financial reporting matters; and improving our monitoring controls in the financial statement close and reporting process.  

While we believe that these efforts will improve our internal control over financial reporting, the implementation of our remediation efforts is ongoing and will require validation and testing of the design and operating effectiveness of internal controls over a sustained period of financial reporting cycles. There can be no assurance that the measures we have taken to date, and are continuing to implement, will be sufficient to remediate the material weaknesses described above or prevent future material weaknesses or other deficiencies from occurring. There is no assurance that we will not identify additional material weaknesses in our internal control over financial reporting in the future.

31

We believe we are making progress toward achieving effectiveness of our internal controls and disclosure controls. The actions that we are taking are subject to ongoing senior management review, as well as audit committee oversight. We will not be able to conclude whether the steps we are taking will fully remediate the material weaknesses in our internal control over financial reporting until we have completed our remediation efforts and subsequent evaluation of their effectiveness. We may also conclude that additional measures may be required to remediate the material weaknesses in our internal control over financial reporting, which may necessitate additional implementation and evaluation time. We will continue to assess the effectiveness of our internal control over financial reporting and take steps to remediate the known material weaknesses expeditiously.

Changes in Internal Control over Financial Reporting

Except as otherwise described herein, there was no change in our internal control over financial reporting that occurred during the period covered by this Quarterly Report that has materially affected, or is reasonably likely to materially affect, our internal control over financial reporting.

Limitations on the Effectiveness of Controls and Procedures

Management recognizes that a control system, no matter how well designed and implemented, can provide only reasonable, not absolute, assurance that the control system’s objectives will be met. Further, the design of a control system must reflect the fact that there are resource constraints and the benefits of controls must be considered relative to their costs. Because of the inherent limitations in all control systems, no evaluation of controls can provide absolute assurance that all control issues have been detected. The inherent limitations include the realities that judgments in decision-making can be faulty and that breakdowns can occur because of simple errors or mistakes. Controls can also be circumvented by the individual acts of some persons, by collusion of two or more people, or by management override of the controls. Because of the inherent limitations in a cost-effective control system, misstatements due to error or fraud may occur and not be detected. Also, projections of any evaluation of effectiveness to future periods are subject to the risk that controls may become inadequate because of changes in conditions or that the degree of compliance with the policies or procedures may deteriorate.    

32

PART II — OTHER INFORMATION

Item 1. Legal Proceedings

We are not currently a party to any legal proceedings that would, either individually or in the aggregate, have a material adverse effect on our business, financial condition or cash flows. We may, from time to time, be involved in legal proceedings arising in the normal course of business. The outcome of legal proceedings is unpredictable and may have an adverse impact on our business or financial condition.

Item 1A. Risk Factors

There have been no material changes to the risk factors described in the section titled “Risk Factors” in the Prospectus.

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

(a) Recent Sales of Unregistered Securities

From April 1, 2021 through April 20, 2021 (the date of the filing of our registration statement on Form S-8, File No. 333-255374), we granted to our employees and directors restricted stock units for an aggregate of 35 thousand shares of common stock under the 2017 Plan.

 

From April 1, 2021 through April 20, 2021 (the date of the filing of our registration statement on Form S-8, File No. 333-255374), we granted to our employees stock options to purchase an aggregate of 140 thousand shares of our common stock under the 2017 Plan at an exercise price of $27 per share.

 

From April 1, 2021 through April 20, 2021 (the date of the filing of our registration statement on Form S-8, File No. 333-255374), we issued and sold to our employees an aggregate of 150 thousand shares of common stock upon the exercise of stock options issued under the 2017 Plan at exercise prices ranging from $2.01 to $8.10 per share, for an aggregate exercise price of $576,314.

 

The offers, sales and issuances of the securities described above were deemed to be exempt from registration under the Securities Act in reliance upon Rule 701 promulgated under Section 3(b) of the Securities Act. None of the foregoing transactions involved any underwriters, underwriting discounts or commissions or any public offering. Each of the recipients of securities in these transactions had adequate access, through employment, business or other relationships, to information about us.

(b) Use of Proceeds

On April 23, 2021, we completed our IPO in which we sold 9,977 thousand shares of common stock at a public offering price of $27.00 per share, which includes the full exercise of the underwriters’ option to purchase 1,350 thousand additional shares from us. We received aggregate net proceeds of $253.2 million from the IPO, after deducting underwriting discount fees of $16.2 million. We incurred offering costs related to the IPO of approximately $25.8 million, inclusive of underwriting discount fees. All of the shares issued and sold in our IPO were registered under the Securities Act pursuant to a registration statement on Form S-1 (File No. 333-254380), which was declared effective by the SEC on April 20, 2021. The representatives of the underwriters of our IPO were Goldman Sachs & Co. LLC and J.P. Morgan Securities LLC.

 

In connection with the IPO, Providence and certain of our other existing stockholders sold an aggregate of 5,356 thousand shares of our common stock, which includes the full exercise of the underwriters’ option to purchase 650 thousand additional shares of our common stock from Providence. We did not receive any proceeds from the sale of shares by these stockholders.

 

On April 23, 2021, concurrent with the completion of the IPO, the Tiger Investor purchased from us 1,111 thousand shares of our common stock in a private placement at a price per share equal to the IPO price of $27.00. We received aggregate net proceeds of $29.0 million from the concurrent private placement, after deducting fees of $1.0 million.

 

33

PART II — OTHER INFORMATION

On April 30, 2021, we used a portion of the net proceeds from the IPO and concurrent private placement to pay the entire outstanding balance under the New Revolving Credit Facility of $22.0 million.

 

There has been no material change in the planned use of the IPO net proceeds as described in the Prospectus.

(c) Issuer Purchases of Equity Securities

Not applicable.

Item 3. Defaults Upon Senior Securities

Not applicable.

Item 4. Mine Safety Disclosures

Not applicable.

Item 5. Other Information

Not applicable.

34

Item 6. Exhibits

Exhibit
No.

    

Description

3.1

Second Amended and Restated Certificate of Incorporation, dated April 23, 2021 (incorporated by reference to Exhibit 3.1 to the registrant’s Current Report on Form 8-K filed with the SEC on April 26, 2021 (File No. 001-40349))

3.2

Amended and Restated Bylaws, currently in effect (incorporated by reference to Exhibit 3.2 to the registrant’s Current Report on Form 8-K filed with the SEC on April 26, 2021 (File No. 001-40349))

4.1

Form of Common Stock Certificate (incorporated by reference to Exhibit 4.1 to Amendment No. 1 to the registrant’s Registration Statement on Form S-1 filed with the SEC on April 12, 2021 (File No. 333-254380))

10.1

Form of Director Indemnification Agreement (incorporated by reference to Exhibit 10.8 to Amendment No. 1 to the registrant’s Registration Statement on Form S-1 filed with the SEC on April 12, 2021 (File No. 333-254380))

10.2

2021 Omnibus Equity Incentive Plan (incorporated by reference to Exhibit 4.3 to the registrant’s Registration Statement on Form S-8 filed with the SEC on April 20, 2021 (File No. 333-255374))

10.3

2021 Employee Stock Purchase Plan (incorporated by reference to Exhibit 4.4 to the registrant’s Registration Statement on Form S-8 filed with the SEC on April 20, 2021 (File No. 333-255374))

10.4

Registration Rights Agreement by and among DoubleVerify Holdings, Inc., Providence VII U.S. Holdings L.P. and the other stockholders of DoubleVerify Holdings, Inc. listed on Schedule I thereto, dated as of April 19, 2021 (incorporated by reference to Exhibit 10.1 to the registrant’s Current Report on Form 8-K filed with the SEC on April 26, 2021 (File No. 001-40349))

10.5

Stockholder’s Agreement, by and between DoubleVerify Holdings, Inc. and Providence VII U.S. Holdings L.P., dated as of April 20, 2021 (incorporated by reference to Exhibit 10.2 to the registrant’s Current Report on Form 8-K filed with the SEC on April 26, 2021 (File No. 001-40349))

10.6

Common Stock Purchase Agreement by and among DoubleVerify Holdings, Inc. and Tiger Global Investments, L.P., dated as of April 9, 2021 (incorporated by reference to Exhibit 10.24 to Amendment No. 1 to the registrant’s Registration Statement on Form S-1 filed with the SEC on April 12, 2021 (File No. 333-254380))

31.1†

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

31.2†

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

32.1†*

Certification of Chief Executive Officer pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002

35

32.2†*

Certification of Chief Financial Officer pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002

101.INS†

XBRL Instance Document – the instance document does not appear in the Interactive Data File because its XBRL tags are embedded within the Inline XBRL document

101.SCH†

XBRL Taxonomy Extension Schema Document

101.CAL†

XBRL Taxonomy Extension Calculation Linkbase Document

101.DEF†

XBRL Taxonomy Extension Definition Linkbase Document

101.LAB†

XBRL Taxonomy Extension Label Linkbase Document

101.PRE†

XBRL Taxonomy Extension Presentation Linkbase Document

104†

Cover Page Interactive Data File (formatted in Inline XBRL and contained in Exhibit 101)

Filed herewith.

*

Pursuant to SEC Release No. 33-8212, this certification will be treated as “accompanying” this Quarterly Report and not “filed” as part of such report for purposes of Section 18 of the Exchange Act, or otherwise subject to the liability of Section 18 of the Exchange Act, and this certification will not be deemed to be incorporated by reference into any filing under the Securities Act, except to the extent that the registrant specifically incorporates it by reference.

36

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.

Date: July 29, 2021

DOUBLEVERIFY HOLDINGS, INC.

By:

/s/ Mark Zagorski

Name:

Mark Zagorski

Title:

Chief Executive Officer and Director

(Principal Executive Officer)

By:

/s/ Nicola Allais

Name:

Nicola Allais

Title:

Chief Financial Officer

(Principal Financial Officer and Principal Accounting Officer)

37

EX-31.1 2 dvh-20210630xex31d1.htm EX-31.1

Exhibit 31.1

Certification of Principal Executive Officer

pursuant to

Exchange Act Rules 13a-14(a) and 15d-14(a),

as adopted pursuant to

Section 302 of the Sarbanes-Oxley Act of 2002

I, Mark Zagorski, certify that:

1.

I have reviewed this quarterly report on Form 10-Q of DoubleVerify Holdings, 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.

Date:

July 29, 2021

/s/ Mark Zagorski

Mark Zagorski

Chief Executive Officer

(Principal Executive Officer)


EX-31.2 3 dvh-20210630xex31d2.htm EX-31.2

Exhibit 31.2

Certification of Principal Financial Officer

pursuant to

Exchange Act Rules 13a-14(a) and 15d-14(a),

as adopted pursuant to

Section 302 of the Sarbanes-Oxley Act of 2002

I, Nicola Allais, certify that:

1.

I have reviewed this quarterly report on Form 10-Q of DoubleVerify Holdings, 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.

Date:

July 29, 2021

/s/ Nicola Allais

Nicola Allais

Chief Financial Officer

(Principal Financial Officer)


EX-32.1 4 dvh-20210630xex32d1.htm EX-32.1

Exhibit 32.1

Certifications of Principal Executive Officer

pursuant to

18 U.S.C. Section 1350,

as adopted pursuant to

Section 906 of the Sarbanes-Oxley Act of 2002

Pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, I, Mark Zagorski, Chief Executive Officer (Principal Executive Officer) of DoubleVerify Holdings, Inc. (the “Company”), hereby certify that, to the best of my knowledge:

1)

The Company’s Quarterly Report on Form 10-Q for the quarter ended June 30, 2021 (the “Report”), to which this certification is attached as Exhibit 32.1, fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and

2)

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

Date:

July 29, 2021

/s/ Mark Zagorski

Mark Zagorski

Chief Executive Officer

(Principal Executive Officer)


EX-32.2 5 dvh-20210630xex32d2.htm EX-32.2

Exhibit 32.2

Certifications of Principal Financial Officer

pursuant to

18 U.S.C. Section 1350,

as adopted pursuant to

Section 906 of the Sarbanes-Oxley Act of 2002

Pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, I, Nicola Allais, Chief Financial Officer (Principal Financial Officer) of DoubleVerify Holdings, Inc. (the “Company”), hereby certify that, to the best of my knowledge:

1)

The Company’s Quarterly Report on Form 10-Q for the quarter ended June 30, 2021 (the “Report”), to which this certification is attached as Exhibit 32.2, fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and

2)

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

Date:

July 29, 2021

/s/ Nicola Allais

Nicola Allais

Chief Financial Officer

(Principal Financial Officer)


EX-101.SCH 6 dvh-20210630.xsd EX-101.SCH 00100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS link:presentationLink link:calculationLink link:definitionLink 00200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE (LOSS) INCOME link:presentationLink link:calculationLink link:definitionLink 00400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS link:presentationLink link:calculationLink link:definitionLink 00405 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS - Reconciliation of Cashflows link:presentationLink link:calculationLink link:definitionLink 40502 - Disclosure - Goodwill and Intangible Assets - Summary of Company's intangible assets (Details) link:presentationLink link:calculationLink link:definitionLink 40503 - Disclosure - Goodwill and Intangible Assets - Estimated future expected amortization expense (Details) link:presentationLink link:calculationLink link:definitionLink 40601 - Disclosure - Property, Plant and Equipment (Details) link:presentationLink link:calculationLink link:definitionLink 40701 - Disclosure - Fair Value Measurement - Fair value on a recurring basis (Details) link:presentationLink link:calculationLink link:definitionLink 41301 - Disclosure - Commitments and Contingencies (Details) link:presentationLink link:calculationLink link:definitionLink 41302 - Disclosure - Commitments and Contingencies - Operating Leases (Details) link:presentationLink link:calculationLink link:definitionLink 41303 - Disclosure - Commitments and Contingencies - Capital Leases (Details) link:presentationLink link:calculationLink link:definitionLink 41303 - Disclosure - Commitments and Contingencies - Capital Leases (Details) (Calc 2) link:presentationLink link:calculationLink link:definitionLink 00300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY link:presentationLink link:calculationLink link:definitionLink 40101 - Disclosure - Description of Business (Details) link:presentationLink link:calculationLink link:definitionLink 40201 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies (Details) link:presentationLink link:calculationLink link:definitionLink 40301 - Disclosure - Revenue (Details) link:presentationLink link:calculationLink link:definitionLink 40401 - Disclosure - Business Combinations (Details) link:presentationLink link:calculationLink link:definitionLink 40504 - Disclosure - Goodwill and Intangible Assets - Weighted-average remaining useful life (Details) link:presentationLink link:calculationLink link:definitionLink 40702 - Disclosure - Fair Value Measurement - Rollforward of the fair value measurements (Details) link:presentationLink link:calculationLink link:definitionLink 40703 - Disclosure - Fair Value Measurement - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 40801 - Disclosure - Long-term Debt (Details) link:presentationLink link:calculationLink link:definitionLink 41101 - Disclosure - Stock-Based Compensation (Details) link:presentationLink link:calculationLink link:definitionLink 41103 - Disclosure - Stock-Based Compensation - Additional information (Details) link:presentationLink link:calculationLink link:definitionLink 41104 - Disclosure - Stock-Based Compensation - Black-Scholes-Merton option-pricing model (Details) link:presentationLink link:calculationLink link:definitionLink 41105 - Disclosure - Stock-Based Compensation - Restricted stock award activity (Details) link:presentationLink link:calculationLink link:definitionLink 41106 - Disclosure - Stock-Based Compensation - Stock-based compensation expense (Details) link:presentationLink link:calculationLink link:definitionLink 41201 - Disclosure - Stockholders' Equity (Details) link:presentationLink link:calculationLink link:definitionLink 41501 - Disclosure - Subsequent Events (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 10101 - Disclosure - Description of Business link:presentationLink link:calculationLink link:definitionLink 10201 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies link:presentationLink link:calculationLink link:definitionLink 10301 - Disclosure - Revenue link:presentationLink link:calculationLink link:definitionLink 10401 - Disclosure - Business Combinations link:presentationLink link:calculationLink link:definitionLink 10501 - Disclosure - Goodwill and Intangible Assets link:presentationLink link:calculationLink link:definitionLink 10601 - Disclosure - Property, Plant and Equipment link:presentationLink link:calculationLink link:definitionLink 10701 - Disclosure - Fair Value Measurement link:presentationLink link:calculationLink link:definitionLink 10801 - Disclosure - Long-term Debt link:presentationLink link:calculationLink link:definitionLink 10901 - Disclosure - Income Tax link:presentationLink link:calculationLink link:definitionLink 11001 - Disclosure - (Loss) Earnings Per Share link:presentationLink link:calculationLink link:definitionLink 11101 - Disclosure - Stock-Based Compensation link:presentationLink link:calculationLink link:definitionLink 11201 - Disclosure - Stockholders' Equity link:presentationLink link:calculationLink link:definitionLink 11301 - Disclosure - Commitments and Contingencies link:presentationLink link:calculationLink link:definitionLink 11401 - Disclosure - Segment Information link:presentationLink link:calculationLink link:definitionLink 11501 - Disclosure - Subsequent Events link:presentationLink link:calculationLink link:definitionLink 20202 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies (Policies) link:presentationLink link:calculationLink link:definitionLink 30303 - Disclosure - Revenue (Tables) link:presentationLink link:calculationLink link:definitionLink 30503 - Disclosure - Goodwill and Intangible Assets (Tables) link:presentationLink link:calculationLink link:definitionLink 30603 - Disclosure - Property, Plant and Equipment (Tables) link:presentationLink link:calculationLink link:definitionLink 30703 - Disclosure - Fair Value Measurement (Tables) link:presentationLink link:calculationLink link:definitionLink 31003 - Disclosure - (Loss) Earnings Per Share (Tables) link:presentationLink link:calculationLink link:definitionLink 31101 - Disclosure - Stock-Based Compensation (Tables) link:presentationLink link:calculationLink link:definitionLink 31303 - Disclosure - Commitments and Contingencies (Tables) link:presentationLink link:calculationLink link:definitionLink 40501 - Disclosure - Goodwill and Intangible Assets - Goodwill (Details) link:presentationLink link:calculationLink link:definitionLink 40901 - Disclosure - Income Tax (Details) link:presentationLink link:calculationLink link:definitionLink 41001 - Disclosure - (Loss) Earnings Per Share (Details) link:presentationLink link:calculationLink link:definitionLink 41102 - Disclosure - Stock-Based Compensation - Stock option activity (Details) link:presentationLink link:calculationLink link:definitionLink 41401 - Disclosure - Segment Information (Details) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 7 dvh-20210630_cal.xml EX-101.CAL EX-101.DEF 8 dvh-20210630_def.xml EX-101.DEF EX-101.LAB 9 dvh-20210630_lab.xml EX-101.LAB EX-101.PRE 10 dvh-20210630_pre.xml EX-101.PRE XML 11 dvh-20210630x10q_htm.xml IDEA: XBRL DOCUMENT 0001819928 2021-04-23 2021-04-23 0001819928 us-gaap:AdditionalPaidInCapitalMember us-gaap:PrivatePlacementMember 2021-04-01 2021-06-30 0001819928 us-gaap:AdditionalPaidInCapitalMember us-gaap:IPOMember 2021-04-01 2021-06-30 0001819928 us-gaap:PrivatePlacementMember 2021-04-01 2021-06-30 0001819928 us-gaap:IPOMember 2021-04-01 2021-06-30 0001819928 us-gaap:CommonStockMember 2021-01-01 2021-03-31 0001819928 us-gaap:CommonStockMember 2020-04-01 2020-06-30 0001819928 us-gaap:CommonStockMember 2020-01-01 2020-03-31 0001819928 dvh:ProvidenceViiU.s.HoldingsL.p.Member us-gaap:PrivatePlacementMember 2021-04-23 2021-04-23 0001819928 dvh:ProvidenceViiU.s.HoldingsL.p.Member us-gaap:OverAllotmentOptionMember 2021-04-23 2021-04-23 0001819928 us-gaap:OverAllotmentOptionMember 2021-04-23 2021-04-23 0001819928 us-gaap:CommonStockMember us-gaap:PrivatePlacementMember 2021-04-01 2021-06-30 0001819928 us-gaap:CommonStockMember us-gaap:IPOMember 2021-04-01 2021-06-30 0001819928 us-gaap:TreasuryStockCommonMember 2021-04-01 2021-06-30 0001819928 us-gaap:PreferredStockMember 2021-04-01 2021-06-30 0001819928 us-gaap:CommonStockMember 2021-04-01 2021-06-30 0001819928 2021-03-29 2021-03-29 0001819928 us-gaap:RetainedEarningsMember 2021-06-30 0001819928 us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember 2021-06-30 0001819928 us-gaap:AdditionalPaidInCapitalMember 2021-06-30 0001819928 us-gaap:RetainedEarningsMember 2021-03-31 0001819928 us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember 2021-03-31 0001819928 us-gaap:AdditionalPaidInCapitalMember 2021-03-31 0001819928 2021-03-31 0001819928 us-gaap:RetainedEarningsMember 2020-12-31 0001819928 us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember 2020-12-31 0001819928 us-gaap:AdditionalPaidInCapitalMember 2020-12-31 0001819928 us-gaap:RetainedEarningsMember 2020-06-30 0001819928 us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember 2020-06-30 0001819928 us-gaap:AdditionalPaidInCapitalMember 2020-06-30 0001819928 us-gaap:RetainedEarningsMember 2020-03-31 0001819928 us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember 2020-03-31 0001819928 us-gaap:AdditionalPaidInCapitalMember 2020-03-31 0001819928 2020-03-31 0001819928 us-gaap:RetainedEarningsMember 2019-12-31 0001819928 us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember 2019-12-31 0001819928 us-gaap:AdditionalPaidInCapitalMember 2019-12-31 0001819928 dvh:TigerGlobalManagementLlcMember us-gaap:PrivatePlacementMember 2021-04-09 0001819928 us-gaap:CommonStockMember 2021-06-30 0001819928 us-gaap:TreasuryStockCommonMember 2021-03-31 0001819928 us-gaap:PreferredStockMember 2021-03-31 0001819928 us-gaap:CommonStockMember 2021-03-31 0001819928 us-gaap:TreasuryStockCommonMember 2020-12-31 0001819928 us-gaap:PreferredStockMember 2020-12-31 0001819928 us-gaap:CommonStockMember 2020-12-31 0001819928 us-gaap:CommonStockMember 2020-06-30 0001819928 us-gaap:CommonStockMember 2020-03-31 0001819928 us-gaap:CommonStockMember 2019-12-31 0001819928 dvh:PerformanceAndMarketBasedSharesMember 2021-06-30 0001819928 us-gaap:EmployeeStockOptionMember dvh:OmnibusEquityIncentivePlan2021Member us-gaap:SubsequentEventMember 2021-07-21 2021-07-21 0001819928 us-gaap:EmployeeStockOptionMember dvh:EquityIncentiveProgramMember us-gaap:SubsequentEventMember 2021-07-21 2021-07-21 0001819928 dvh:OmnibusEquityIncentivePlan2021Member 2021-04-19 0001819928 dvh:EquityIncentiveProgramMember 2017-09-20 0001819928 dvh:EquityIncentiveProgramMember 2021-01-01 2021-06-30 0001819928 us-gaap:RestrictedStockUnitsRSUMember 2021-06-30 0001819928 us-gaap:RestrictedStockUnitsRSUMember 2020-12-31 0001819928 us-gaap:RestrictedStockUnitsRSUMember dvh:OmnibusEquityIncentivePlan2021Member us-gaap:SubsequentEventMember 2021-07-21 2021-07-21 0001819928 us-gaap:RestrictedStockUnitsRSUMember dvh:EquityIncentiveProgramMember us-gaap:SubsequentEventMember 2021-07-21 2021-07-21 0001819928 dvh:PerformanceAndMarketBasedSharesMember 2021-01-01 2021-06-30 0001819928 us-gaap:EmployeeStockOptionMember 2021-01-01 2021-06-30 0001819928 dvh:SupplySideCustomerMember 2021-04-01 2021-06-30 0001819928 dvh:AdvertisersProgrammaticMember 2021-04-01 2021-06-30 0001819928 dvh:AdvertisersDirectMember 2021-04-01 2021-06-30 0001819928 dvh:SupplySideCustomerMember 2021-01-01 2021-06-30 0001819928 dvh:AdvertisersProgrammaticMember 2021-01-01 2021-06-30 0001819928 dvh:AdvertisersDirectMember 2021-01-01 2021-06-30 0001819928 dvh:SupplySideCustomerMember 2020-04-01 2020-06-30 0001819928 dvh:AdvertisersProgrammaticMember 2020-04-01 2020-06-30 0001819928 dvh:AdvertisersDirectMember 2020-04-01 2020-06-30 0001819928 dvh:SupplySideCustomerMember 2020-01-01 2020-06-30 0001819928 dvh:AdvertisersProgrammaticMember 2020-01-01 2020-06-30 0001819928 dvh:AdvertisersDirectMember 2020-01-01 2020-06-30 0001819928 us-gaap:SoftwareAndSoftwareDevelopmentCostsMember 2021-06-30 0001819928 us-gaap:LeaseholdImprovementsMember 2021-06-30 0001819928 us-gaap:FurnitureAndFixturesMember 2021-06-30 0001819928 us-gaap:ComputerEquipmentMember 2021-06-30 0001819928 us-gaap:SoftwareAndSoftwareDevelopmentCostsMember 2020-12-31 0001819928 us-gaap:LeaseholdImprovementsMember 2020-12-31 0001819928 us-gaap:FurnitureAndFixturesMember 2020-12-31 0001819928 us-gaap:ComputerEquipmentMember 2020-12-31 0001819928 dvh:ZentrickMember 2021-01-01 2021-06-30 0001819928 dvh:ZentrickMember 2020-01-01 2020-06-30 0001819928 dvh:LeikiMember 2020-01-01 2020-06-30 0001819928 us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember 2021-04-01 2021-06-30 0001819928 us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember 2021-01-01 2021-03-31 0001819928 us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember 2020-04-01 2020-06-30 0001819928 us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember 2020-01-01 2020-03-31 0001819928 us-gaap:RetainedEarningsMember 2021-04-01 2021-06-30 0001819928 us-gaap:RetainedEarningsMember 2021-01-01 2021-03-31 0001819928 us-gaap:RetainedEarningsMember 2020-04-01 2020-06-30 0001819928 us-gaap:RetainedEarningsMember 2020-01-01 2020-03-31 0001819928 us-gaap:RevolvingCreditFacilityMember 2021-06-30 0001819928 us-gaap:RevolvingCreditFacilityMember 2020-12-31 0001819928 us-gaap:LetterOfCreditMember 2020-10-01 0001819928 srt:MinimumMember 2020-10-01 2020-10-01 0001819928 srt:MaximumMember 2020-10-01 2020-10-01 0001819928 dvh:OperatingLeaseOfficeSpaceInDomesticAndForeignMember 2021-04-01 2021-06-30 0001819928 dvh:OperatingLeaseDataCenterInDomesticAndForeignMember 2021-04-01 2021-06-30 0001819928 dvh:OperatingLeaseOfficeSpaceInDomesticAndForeignMember 2021-01-01 2021-06-30 0001819928 dvh:OperatingLeaseDataCenterInDomesticAndForeignMember 2021-01-01 2021-06-30 0001819928 dvh:OperatingLeaseOfficeSpaceInDomesticAndForeignMember 2020-04-01 2020-06-30 0001819928 dvh:OperatingLeaseDataCenterInDomesticAndForeignMember 2020-04-01 2020-06-30 0001819928 dvh:OperatingLeaseOfficeSpaceInDomesticAndForeignMember 2020-01-01 2020-06-30 0001819928 dvh:OperatingLeaseDataCenterInDomesticAndForeignMember 2020-01-01 2020-06-30 0001819928 2020-01-01 2020-12-31 0001819928 us-gaap:TrademarksAndTradeNamesMember 2021-01-01 2021-06-30 0001819928 us-gaap:DevelopedTechnologyRightsMember 2021-01-01 2021-06-30 0001819928 us-gaap:CustomerRelationshipsMember 2021-01-01 2021-06-30 0001819928 us-gaap:TrademarksAndTradeNamesMember 2021-06-30 0001819928 us-gaap:DevelopedTechnologyRightsMember 2021-06-30 0001819928 us-gaap:CustomerRelationshipsMember 2021-06-30 0001819928 us-gaap:TrademarksAndTradeNamesMember 2020-12-31 0001819928 us-gaap:DevelopedTechnologyRightsMember 2020-12-31 0001819928 us-gaap:CustomerRelationshipsMember 2020-12-31 0001819928 us-gaap:FairValueInputsLevel3Member dvh:BusinessCombinationContingentConsiderationLiabilityMember 2021-06-30 0001819928 us-gaap:FairValueInputsLevel3Member dvh:BusinessCombinationContingentConsiderationLiabilityMember 2020-12-31 0001819928 us-gaap:FairValueInputsLevel3Member dvh:BusinessCombinationContingentConsiderationLiabilityMember 2021-01-01 2021-06-30 0001819928 us-gaap:RevolvingCreditFacilityMember 2020-10-01 0001819928 us-gaap:RevolvingCreditFacilityMember us-gaap:LondonInterbankOfferedRateLIBORMember 2020-10-01 2020-10-01 0001819928 us-gaap:IPOMember 2021-04-23 0001819928 us-gaap:IPOMember 2020-12-31 0001819928 us-gaap:IPOMember 2021-06-30 0001819928 2021-03-29 0001819928 2019-12-31 0001819928 dvh:MoneyMarketFundsAndTimeDepositsMember us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2021-06-30 0001819928 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2021-06-30 0001819928 dvh:MoneyMarketFundsAndTimeDepositsMember us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2020-12-31 0001819928 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2020-12-31 0001819928 2020-06-30 0001819928 us-gaap:MeasurementInputDiscountRateMember 2021-06-30 0001819928 dvh:MeasurementInputRevenueVolatilityMember 2021-06-30 0001819928 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2021-06-30 0001819928 us-gaap:FairValueMeasurementsRecurringMember 2021-06-30 0001819928 dvh:ZentrickNVMember 2021-06-30 0001819928 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2020-12-31 0001819928 us-gaap:FairValueMeasurementsRecurringMember 2020-12-31 0001819928 dvh:ZentrickNVMember 2020-04-01 2020-06-30 0001819928 dvh:ZentrickNVMember 2020-01-01 2020-06-30 0001819928 dvh:DoubleverifyInc.Member 2017-08-18 0001819928 us-gaap:SellingAndMarketingExpenseMember 2021-04-01 2021-06-30 0001819928 us-gaap:ResearchAndDevelopmentExpenseMember 2021-04-01 2021-06-30 0001819928 us-gaap:GeneralAndAdministrativeExpenseMember 2021-04-01 2021-06-30 0001819928 us-gaap:SellingAndMarketingExpenseMember 2021-01-01 2021-06-30 0001819928 us-gaap:ResearchAndDevelopmentExpenseMember 2021-01-01 2021-06-30 0001819928 us-gaap:GeneralAndAdministrativeExpenseMember 2021-01-01 2021-06-30 0001819928 us-gaap:SellingAndMarketingExpenseMember 2020-04-01 2020-06-30 0001819928 us-gaap:ResearchAndDevelopmentExpenseMember 2020-04-01 2020-06-30 0001819928 us-gaap:GeneralAndAdministrativeExpenseMember 2020-04-01 2020-06-30 0001819928 us-gaap:SellingAndMarketingExpenseMember 2020-01-01 2020-06-30 0001819928 us-gaap:ResearchAndDevelopmentExpenseMember 2020-01-01 2020-06-30 0001819928 us-gaap:GeneralAndAdministrativeExpenseMember 2020-01-01 2020-06-30 0001819928 us-gaap:AdditionalPaidInCapitalMember 2021-04-01 2021-06-30 0001819928 us-gaap:AdditionalPaidInCapitalMember 2021-01-01 2021-03-31 0001819928 2021-01-01 2021-03-31 0001819928 us-gaap:AdditionalPaidInCapitalMember 2020-04-01 2020-06-30 0001819928 2020-04-01 2020-06-30 0001819928 us-gaap:AdditionalPaidInCapitalMember 2020-01-01 2020-03-31 0001819928 2020-01-01 2020-03-31 0001819928 us-gaap:GeneralAndAdministrativeExpenseMember us-gaap:IPOMember 2021-04-01 2021-06-30 0001819928 us-gaap:GeneralAndAdministrativeExpenseMember us-gaap:IPOMember 2021-01-01 2021-06-30 0001819928 us-gaap:RestrictedStockUnitsRSUMember 2021-01-01 2021-06-30 0001819928 dvh:OmnibusEquityIncentivePlan2021Member 2021-04-19 2021-04-19 0001819928 dvh:TigerGlobalManagementLlcMember us-gaap:PrivatePlacementMember 2021-04-09 2021-04-09 0001819928 us-gaap:IPOMember 2021-04-23 2021-04-23 0001819928 srt:MaximumMember dvh:ZentrickNVMember 2021-04-01 2021-06-30 0001819928 dvh:ZentrickNVMember 2021-04-01 2021-06-30 0001819928 srt:MaximumMember dvh:ZentrickNVMember 2021-01-01 2021-06-30 0001819928 dvh:ZentrickNVMember 2021-01-01 2021-06-30 0001819928 us-gaap:OtherCurrentLiabilitiesMember dvh:ZentrickNVMember 2021-06-30 0001819928 dvh:BusinessCombinationSecondTrancheOfHoldbackPaymentsMember dvh:ZentrickNVMember 2019-02-15 2019-02-15 0001819928 dvh:BusinessCombinationFirstTrancheOfHoldbackPaymentsMember dvh:ZentrickNVMember 2019-02-15 2019-02-15 0001819928 dvh:ZentrickNVMember 2019-02-15 2019-02-15 0001819928 dvh:ZentrickNVMember 2019-02-15 0001819928 2021-04-01 2021-06-30 0001819928 2020-01-01 2020-06-30 0001819928 2021-06-30 0001819928 2020-12-31 0001819928 2021-07-26 0001819928 2021-01-01 2021-06-30 shares iso4217:USD pure dvh:Milestone dvh:component dvh:agreement iso4217:USD shares dvh:segment 0001819928 --12-31 2021 Q2 false New York 157768000 0 61006000 61006000 0.333 1 10-Q true 2021-06-30 false 001-40349 DoubleVerify Holdings, Inc. DE 82-2714562 233 Spring Street NY 10013 212 631-2111 Common Stock, par value $0.001 per share DV NYSE Yes Yes Non-accelerated Filer false true false false 157851204 330355000 33354000 6889000 7049000 85555000 94677000 14106000 13904000 430016000 141935000 17572000 18107000 227349000 227349000 112780000 121710000 82000 82000 2303000 2151000 790102000 511334000 4122000 3495000 25460000 25419000 670000 1277000 2021000 1515000 1717000 1198000 2101000 1116000 36091000 34020000 22000000 3618000 3447000 28243000 31418000 2734000 3292000 462000 70686000 94639000 0.001 0.001 1000000000 157768000 700000000 140222000 125074000 158000 140000 0.01 0.01 100000000 0 61006000 350000000 610000 670674000 620679000 0 15146000 260686000 48017000 54941000 567000 1011000 719416000 416695000 790102000 511334000 76524000 53020000 144110000 104239000 12291000 7655000 22494000 14965000 15120000 10906000 29299000 21237000 19580000 12833000 35114000 25152000 32017000 8262000 43852000 18958000 7440000 6146000 14497000 12080000 -9924000 7218000 -1146000 11847000 297000 936000 687000 2100000 -49000 -198000 122000 -10270000 6084000 -1833000 9869000 2298000 2006000 5091000 3351000 -12568000 4078000 -6924000 6518000 -0.08 0.03 -0.05 0.05 -0.08 0.03 -0.05 0.04 149596000 139756000 137355000 139748000 149596000 146541000 137355000 146927000 -12568000 4078000 -6924000 6518000 355000 231000 -444000 78000 -12213000 4309000 -7368000 6596000 140222000 140000 61006000 610000 15146000 -260686000 620679000 54941000 1011000 416695000 -799000 -799000 2538000 2538000 180000 538000 538000 5644000 5644000 140402000 140000 61006000 610000 15146000 -260686000 623755000 60585000 212000 424616000 355000 355000 4714000 4714000 871000 2000 2907000 2909000 217000 5190000 5000 -61006000 -610000 -15146000 260686000 -260081000 9977000 10000 269380000 269390000 1111000 1000 29999000 30000000 -12568000 -12568000 157768000 158000 670674000 48017000 567000 719416000 139721000 140000 283457000 34488000 -67000 318018000 -153000 -153000 802000 802000 32000 70000 70000 2440000 2440000 139753000 140000 284329000 36928000 -220000 321177000 231000 231000 1140000 1140000 58000 51000 51000 4078000 4078000 139811000 140000 285520000 41006000 11000 326677000 -6924000 6518000 199000 1748000 14496000 12080000 147000 142000 36000 -3175000 -3096000 7252000 1942000 -9000 42000 57000 -899000 21801000 1058000 62000 621000 -8518000 47000 284000 -855000 299000 -3000 541000 2057000 121000 -2978000 827000 -2680000 -1120000 148000 42228000 17466000 3513000 4562000 -3513000 -4562000 22000000 189000 2033000 50000 50000 601000 3447000 121000 269390000 30000000 21708000 1107000 804000 874000 258275000 -4733000 13000 -80000 297003000 8091000 33395000 11342000 330398000 19433000 330355000 19038000 43000 395000 330398000 19433000 3305000 7777000 525000 1654000 610000 260686000 1518000 973000 76000 89000 100000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">1.    Description of Business</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">DoubleVerify is a software platform for digital media measurement, data and analytics. The Company’s solutions provide advertisers with a single measure of digital ad quality and effectiveness, the DV Authentic Ad, which ensures that a digital ad was delivered in a brand-safe environment, fully viewable, by a real person and in the intended geography. The Company’s software interface, DV Pinnacle, provides customers with access to data on all of their digital ads and enables them to make changes to their ad strategies on a real-time basis. The Company’s software solutions are integrated across the entire digital advertising ecosystem, including programmatic platforms, Connected TV (“CTV”), social media channels and digital publishers. The Company’s solutions are accredited by the Media Rating Council, which allows the Company’s data to be used as a single-source standard in the evaluation and measurement of digital ads. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company was incorporated on August 16, 2017, is registered in the state of Delaware and is the parent company of DoubleVerify Midco, Inc. (“MidCo”), which is in turn the parent company of DoubleVerify Inc.  On August 18, 2017, DoubleVerify Inc. entered into an agreement and plan of merger (the “Agreement”), whereby the Company, formerly known as Pixel Group Holdings, Inc. and Pixel Merger Sub, Inc. (“Merger Sub”), a wholly owned subsidiary of the Company, agreed to provide for the merger of the Merger Sub with DoubleVerify Inc. pursuant to the terms and conditions of the Agreement.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">On the effective date, Merger Sub was merged with and into DoubleVerify Inc. whereupon the separate corporate existence of Merger Sub ceased and DoubleVerify Inc. continued as the surviving corporation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Through the merger, the Company acquired 100% of the outstanding equity instruments of DoubleVerify Inc. resulting in a change of control at the parent level.  The merger resulted in the application of acquisition accounting under the provisions of Financial Accounting Standards Board (“FASB”) Topic Accounting Standards Codification (“ASC”) 805<i style="font-style:italic;">, Business Combinations.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company has wholly owned subsidiaries in numerous jurisdictions including Israel, the United Kingdom, Germany, Singapore, Australia, Canada, Brazil, Belgium, Mexico, France, Japan, Spain, and Finland, and operates in one reportable segment.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">On April 23 2021, the Company completed an initial public offering of its common stock (“IPO”). See Footnote 12, Stockholders’ Equity.    </p> 1 1 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">2.     Basis of Presentation and Summary of Significant Accounting Policies</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;text-decoration:underline;">Basis of Preparation and Principles of Consolidation</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The accompanying Condensed Consolidated Balance Sheets as of June 30, 2021 and December 31, 2020, the Condensed Consolidated Statements of Operations and Comprehensive (Loss) Income for the three and six months ended June 30, 2021 and 2020, the Condensed Consolidated Statements of Stockholders’ Equity for the three and six months ended June 30, 2021 and 2020, and the Condensed Consolidated Statements of Cash Flows for the six months ended June 30, 2021 and 2020 reflect all adjustments that are of a normal recurring nature and that are considered necessary for a fair presentation of the results for the periods shown in accordance with accounting principles generally accepted in the United States of America (“GAAP”) and the applicable rules and regulations of the SEC for interim financial reporting periods. Accordingly, certain information and footnote disclosures have been condensed or omitted pursuant to SEC rules that would ordinarily be required under GAAP for complete financial statements. These unaudited interim Condensed Consolidated Financial Statements should be read in conjunction with the audited Consolidated Financial Statements as of December 31, 2020 and 2019 and for the years then ended and the accompanying notes thereto included in the Company’s Prospectus.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On March 29, 2021, the Company effected a <span style="-sec-ix-hidden:Hidden_0pSKeFIV_02yqeq6PvDcDg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:justify;">1</span></span>-for-3 reverse stock split (‘‘reverse stock split’’) of its outstanding common stock, par value $0.001 per share (“common stock”), and a proportional adjustment to the existing conversion ratio of its then-outstanding Series A Preferred Stock, par value $0.01 per share (“preferred stock”). Accordingly, all share and per share amounts for all periods presented in these Condensed Consolidated Financial Statements and notes thereto, have been adjusted retrospectively, where applicable, to reflect this reverse stock split.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;text-decoration:underline;">Use of Estimates and Judgments in the Preparation of the Condensed Consolidated Financial Statements</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">The preparation of financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and the reported amounts of revenue and expense during the reporting periods. Significant estimates and judgments are inherent in the analysis and measurement of items include, but not limited to: revenue recognition criteria including the determination of principal versus agent revenue considerations, income taxes, the valuation and recoverability of goodwill and intangible assets, the assessment of potential loss from contingencies, the allowance for doubtful accounts, and assumptions used in determining the fair value of stock-based compensation. Management bases its estimates and assumptions on historical experience and on various other factors that are believed to be reasonable under the circumstances. Due to the inherent uncertainty involved in making estimates, actual results reported in future periods may be affected by changes in those estimates. These estimates are based on the information available as of the date of the Condensed Consolidated Financial Statements<i style="font-style:italic;">.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;text-decoration:underline;">Recently Issued Accounting Pronouncements</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company is an emerging growth company, as defined in the Jumpstart Our Business Startups Act (“JOBS Act”). Under the JOBS Act, emerging growth companies can delay adopting new or revised accounting standards issued subsequent to the enactment of the JOBS Act until such time as those standards apply to private companies. The Company has elected to use this extended transition period for complying with certain new or revised accounting standards.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Financial Instruments - Credit Losses</span>     </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">In June 2016, the FASB issued ASU No. 2016-13, <i style="font-style:italic;">Financial Instruments-Credit Losses (Topic 326)</i>: <i style="font-style:italic;">Measurement of Credit Losses on Financial Instruments </i>(“ASU 2016-13”), which is intended to provide more decision-useful information about expected credit losses on financial instruments and other commitments to extend credit held by a reporting entity at each reporting date. ASU 2016-13 revises the impairment model to utilize an expected loss methodology in place of the currently used incurred loss methodology, which will result in more timely recognition of losses on financial instruments, including, but not limited to accounts receivable. This guidance is effective for annual reporting periods beginning after December 15, 2022 for non-public entities, including interim periods within that reporting period. Early adoption is permitted and the update allows for a modified retrospective method of adoption. The Company is currently in process of evaluating the impact of this standard on the Company’s Condensed Consolidated Financial Statements.  </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Cloud Computing</span>     </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">In August 2018, the FASB issued ASU No. 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>(“ASU 2018-15”). This update was issued to align the requirements for<i style="font-style:italic;"> </i>capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs<i style="font-style:italic;"> </i>incurred to develop or obtain internal-use software (and hosting arrangements that include an internal-use software license). The amendments in ASU 2018-15 are effective for annual periods beginning after December 15, 2020 for non-public entities, and interim periods within annual periods beginning after December 15, 2021. The update allows for a retrospective or prospective method of adoption. The Company is currently in process of evaluating the impact of this standard on the Company’s Condensed Consolidated Financial Statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Leases</span> </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">In February 2016, the FASB issued ASU No. 2016-02, <i style="font-style:italic;">Leases Topic 842</i> (“ASU 2016-02”). The guidance in ASU 2016-02 supersedes the lease recognition requirements in ASC 840<i style="font-style:italic;">, Leases</i>. ASU 2016-02 requires an entity to recognize assets and liabilities arising from a lease for both financing and operating leases, along with additional qualitative and quantitative disclosures. In July 2018, FASB issued ASU No. 2018-10, <i style="font-style:italic;">Codification Improvements to Topic 842, Leases, </i>("ASU No. 2018-10") to further clarify, correct and consolidate various areas previously discussed in ASU 2016-02. FASB also issued ASU No. 2018-11, <i style="font-style:italic;">Leases: Targeted Improvements </i>("ASU 2018-11") to provide entities another option for transition and lessors with a practical expedient. The transition option allows entities to not apply ASU No. 2016-02 in comparative periods in the financial statements in the year of adoption. The amendments in ASU No. 2016-02, ASU No. 2018-10 and ASU No. 2018-11 are effective for fiscal years beginning after December 15, 2021 for non-public entities and interim periods within fiscal years beginning after December 15, 2022, with early adoption permitted. The Company is currently in process of evaluating the impact of this standard on the Company’s Condensed Consolidated Financial Statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Simplifying the Accounting for Income Taxes</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">In December 2019, the FASB issued ASU No. 2019-12, <i style="font-style:italic;">Simplifying the Accounting for Income Taxes (Topic 740) (“ASU 2019-12”)</i>. ASU 2019-12 issued guidance on the accounting for income taxes that, among other provisions, eliminates certain exceptions to existing guidance related to the approach for intra-period tax allocation, the methodology for calculating income taxes in an interim period and the recognition of deferred tax liabilities for outside basis differences. This guidance also requires an entity to reflect the effect of an enacted change in tax laws or rates in its effective income tax rate in the first interim period that includes the enactment date of the new legislation, aligning the timing of recognition of the effects from enacted tax law changes on the effective income tax rate with the effects on deferred income tax assets and liabilities. Under existing guidance, an entity recognizes the effects of the enacted tax law change on the effective income tax rate in the period that includes the effective date of the tax law. For non-public entities, the amendments are effective for fiscal years beginning after December 15, 2021, and interim periods within fiscal years beginning after December 15, 2022. Early adoption is permitted. Certain amendments included in the update allows for a retrospective, modified retrospective, or prospective methods of adoption. The adoption of this guidance is not expected to have a material impact on the Company’s Condensed Consolidated Financial Statements.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;text-decoration:underline;">Basis of Preparation and Principles of Consolidation</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The accompanying Condensed Consolidated Balance Sheets as of June 30, 2021 and December 31, 2020, the Condensed Consolidated Statements of Operations and Comprehensive (Loss) Income for the three and six months ended June 30, 2021 and 2020, the Condensed Consolidated Statements of Stockholders’ Equity for the three and six months ended June 30, 2021 and 2020, and the Condensed Consolidated Statements of Cash Flows for the six months ended June 30, 2021 and 2020 reflect all adjustments that are of a normal recurring nature and that are considered necessary for a fair presentation of the results for the periods shown in accordance with accounting principles generally accepted in the United States of America (“GAAP”) and the applicable rules and regulations of the SEC for interim financial reporting periods. Accordingly, certain information and footnote disclosures have been condensed or omitted pursuant to SEC rules that would ordinarily be required under GAAP for complete financial statements. These unaudited interim Condensed Consolidated Financial Statements should be read in conjunction with the audited Consolidated Financial Statements as of December 31, 2020 and 2019 and for the years then ended and the accompanying notes thereto included in the Company’s Prospectus.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On March 29, 2021, the Company effected a <span style="-sec-ix-hidden:Hidden_0pSKeFIV_02yqeq6PvDcDg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:justify;">1</span></span>-for-3 reverse stock split (‘‘reverse stock split’’) of its outstanding common stock, par value $0.001 per share (“common stock”), and a proportional adjustment to the existing conversion ratio of its then-outstanding Series A Preferred Stock, par value $0.01 per share (“preferred stock”). Accordingly, all share and per share amounts for all periods presented in these Condensed Consolidated Financial Statements and notes thereto, have been adjusted retrospectively, where applicable, to reflect this reverse stock split.</p> 0.001 0.01 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;text-decoration:underline;">Use of Estimates and Judgments in the Preparation of the Condensed Consolidated Financial Statements</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">The preparation of financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and the reported amounts of revenue and expense during the reporting periods. Significant estimates and judgments are inherent in the analysis and measurement of items include, but not limited to: revenue recognition criteria including the determination of principal versus agent revenue considerations, income taxes, the valuation and recoverability of goodwill and intangible assets, the assessment of potential loss from contingencies, the allowance for doubtful accounts, and assumptions used in determining the fair value of stock-based compensation. Management bases its estimates and assumptions on historical experience and on various other factors that are believed to be reasonable under the circumstances. Due to the inherent uncertainty involved in making estimates, actual results reported in future periods may be affected by changes in those estimates. These estimates are based on the information available as of the date of the Condensed Consolidated Financial Statements<i style="font-style:italic;">.</i></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;text-decoration:underline;">Recently Issued Accounting Pronouncements</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company is an emerging growth company, as defined in the Jumpstart Our Business Startups Act (“JOBS Act”). Under the JOBS Act, emerging growth companies can delay adopting new or revised accounting standards issued subsequent to the enactment of the JOBS Act until such time as those standards apply to private companies. The Company has elected to use this extended transition period for complying with certain new or revised accounting standards.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Financial Instruments - Credit Losses</span>     </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">In June 2016, the FASB issued ASU No. 2016-13, <i style="font-style:italic;">Financial Instruments-Credit Losses (Topic 326)</i>: <i style="font-style:italic;">Measurement of Credit Losses on Financial Instruments </i>(“ASU 2016-13”), which is intended to provide more decision-useful information about expected credit losses on financial instruments and other commitments to extend credit held by a reporting entity at each reporting date. ASU 2016-13 revises the impairment model to utilize an expected loss methodology in place of the currently used incurred loss methodology, which will result in more timely recognition of losses on financial instruments, including, but not limited to accounts receivable. This guidance is effective for annual reporting periods beginning after December 15, 2022 for non-public entities, including interim periods within that reporting period. Early adoption is permitted and the update allows for a modified retrospective method of adoption. The Company is currently in process of evaluating the impact of this standard on the Company’s Condensed Consolidated Financial Statements.  </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Cloud Computing</span>     </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">In August 2018, the FASB issued ASU No. 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>(“ASU 2018-15”). This update was issued to align the requirements for<i style="font-style:italic;"> </i>capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs<i style="font-style:italic;"> </i>incurred to develop or obtain internal-use software (and hosting arrangements that include an internal-use software license). The amendments in ASU 2018-15 are effective for annual periods beginning after December 15, 2020 for non-public entities, and interim periods within annual periods beginning after December 15, 2021. The update allows for a retrospective or prospective method of adoption. The Company is currently in process of evaluating the impact of this standard on the Company’s Condensed Consolidated Financial Statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Leases</span> </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">In February 2016, the FASB issued ASU No. 2016-02, <i style="font-style:italic;">Leases Topic 842</i> (“ASU 2016-02”). The guidance in ASU 2016-02 supersedes the lease recognition requirements in ASC 840<i style="font-style:italic;">, Leases</i>. ASU 2016-02 requires an entity to recognize assets and liabilities arising from a lease for both financing and operating leases, along with additional qualitative and quantitative disclosures. In July 2018, FASB issued ASU No. 2018-10, <i style="font-style:italic;">Codification Improvements to Topic 842, Leases, </i>("ASU No. 2018-10") to further clarify, correct and consolidate various areas previously discussed in ASU 2016-02. FASB also issued ASU No. 2018-11, <i style="font-style:italic;">Leases: Targeted Improvements </i>("ASU 2018-11") to provide entities another option for transition and lessors with a practical expedient. The transition option allows entities to not apply ASU No. 2016-02 in comparative periods in the financial statements in the year of adoption. The amendments in ASU No. 2016-02, ASU No. 2018-10 and ASU No. 2018-11 are effective for fiscal years beginning after December 15, 2021 for non-public entities and interim periods within fiscal years beginning after December 15, 2022, with early adoption permitted. The Company is currently in process of evaluating the impact of this standard on the Company’s Condensed Consolidated Financial Statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Simplifying the Accounting for Income Taxes</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">In December 2019, the FASB issued ASU No. 2019-12, <i style="font-style:italic;">Simplifying the Accounting for Income Taxes (Topic 740) (“ASU 2019-12”)</i>. ASU 2019-12 issued guidance on the accounting for income taxes that, among other provisions, eliminates certain exceptions to existing guidance related to the approach for intra-period tax allocation, the methodology for calculating income taxes in an interim period and the recognition of deferred tax liabilities for outside basis differences. This guidance also requires an entity to reflect the effect of an enacted change in tax laws or rates in its effective income tax rate in the first interim period that includes the enactment date of the new legislation, aligning the timing of recognition of the effects from enacted tax law changes on the effective income tax rate with the effects on deferred income tax assets and liabilities. Under existing guidance, an entity recognizes the effects of the enacted tax law change on the effective income tax rate in the period that includes the effective date of the tax law. For non-public entities, the amendments are effective for fiscal years beginning after December 15, 2021, and interim periods within fiscal years beginning after December 15, 2022. Early adoption is permitted. Certain amendments included in the update allows for a retrospective, modified retrospective, or prospective methods of adoption. The adoption of this guidance is not expected to have a material impact on the Company’s Condensed Consolidated Financial Statements.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">3.     Revenue</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">The following table disaggregates revenue between advertiser customers, where revenue is generated based on number of ads measured for Direct or measured and purchased for Programmatic, and supply-side customers, where revenue is generated based on contracts with minimum guarantees or contracts that contain overages after minimum guarantees are achieved.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">Disaggregated revenue by customer type is as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:17.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">    </p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:19.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="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','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:19.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">(</b><span style="font-style:italic;font-weight:bold;">in thousands)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Advertiser - direct</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 31,662</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 23,707</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 59,203</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 45,894</p></td></tr><tr><td style="vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Advertiser - programmatic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 37,880</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 24,128</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 71,792</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 47,979</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Supply-side customer</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 6,982</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 5,185</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 13,115</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 10,366</p></td></tr><tr><td style="vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.9%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><b style="font-weight:bold;"> 76,524</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.9%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><b style="font-weight:bold;"> 53,020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><b style="font-weight:bold;"> 144,110</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.99%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><b style="font-weight:bold;"> 104,239</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">Contract assets relate to the Company’s conditional right to consideration for completed performance under the contract (e.g., unbilled receivables). Trade receivables, net of allowance for doubtful accounts, include unbilled receivable balances of $26.6 million and $44.9 million as of June 30, 2021 and December 31, 2020, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:17.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">    </p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:19.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="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','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:19.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">(</b><span style="font-style:italic;font-weight:bold;">in thousands)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Advertiser - direct</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 31,662</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 23,707</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 59,203</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 45,894</p></td></tr><tr><td style="vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Advertiser - programmatic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 37,880</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 24,128</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 71,792</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 47,979</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Supply-side customer</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 6,982</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 5,185</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 13,115</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 10,366</p></td></tr><tr><td style="vertical-align:bottom;width:58.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.9%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><b style="font-weight:bold;"> 76,524</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.9%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><b style="font-weight:bold;"> 53,020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><b style="font-weight:bold;"> 144,110</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.99%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><b style="font-weight:bold;"> 104,239</b></p></td></tr></table> 31662000 23707000 59203000 45894000 37880000 24128000 71792000 47979000 6982000 5185000 13115000 10366000 76524000 53020000 144110000 104239000 26600000 44900000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">4.<b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">    </b>Business Combinations</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On February 15, 2019, the Company acquired all of the outstanding stock of Zentrick NV (“Zentrick”). Zentrick, headquartered in Ghent, Belgium is a digital video technology company that provides middleware solutions that increase the performance of online video advertising for brand advertisers, advertising platforms and publishers. This acquisition integrates technology into the Company’s suite of products related to advertising viewability specifically on video formats, a growing segment of the advertising market and critical for the delivery of verification services to social platforms and CTV. The aggregate purchase price consists of 1) $23.2 million paid in cash at closing, which excluded closing adjustments of approximately $0.2 million paid in April 2019 2) $0.1 million in holdback payment of which 50% was payable 12 months after the closing date, and the remaining 50% was payable 24 months after the closing date and 3) up to $17.3 million of performance-based deferred payments that comprises two components. The first component has a $4.0 million maximum payment related to four milestone tranches of $1.0 million each based on achievement of certain product milestones (“technical milestones”). The second component has a total maximum payment of $13.0 million and varies based upon certain revenue targets in fiscal 2019, 2020, and 2021 (“revenue targets”).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Under the terms of the deferred payment, a portion of the technical milestones and revenue targets have been accounted at fair value as contingent consideration in the business combination with the remaining portion being accounted for as compensation expense under ASC 710, <i style="font-style:italic;">Compensation - General</i>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">As of June 30, 2021, the technical milestone and revenue target components of the contingent consideration had a fair value of $1.2 million and $0.5 million, respectively, and is recorded in Contingent Considerations Current in the Condensed Consolidated Balance Sheets. The Company recorded a $0.1 million unrealized loss for the change in fair value in the Condensed Consolidated Statement of Operations and Comprehensive (Loss) Income for the three and six months ended June 30, 2021, respectively. The Company recorded a $0.1 million unrealized loss and $0.9 million unrealized gain for the change in fair value in the Condensed Consolidated Statement of Operations and Comprehensive (Loss) Income for the three and six months ended June 30, 2020, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">As of June 30, 2021, the technical milestone and revenue target components treated as compensation cost total $1.1 million included in Other Current Liabilities in the Condensed Consolidated Balance Sheets. $0.1 million and less than $0.1 million were charged to the Condensed Consolidated Statements of Operations and Comprehensive (Loss) Income for the three and six months ended June 30, 2021, respectively. Less than $0.1 million and $0.2 million were charged to the Condensed Consolidated Statements of Operations and Comprehensive (Loss) Income for the three and six months ended June 30, 2020, respectively.</p> 23200000 200000 100000 0.50 P12M 0.50 P24M 17300000 2 4000000.0 4 1000000.0 13000000.0 1200000 500000 100000 100000 100000 900000 1100000 100000 100000 100000 200000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">5.<span style="font-family:'Arial','Helvetica','sans-serif';font-weight:normal;">    </span>Goodwill and Intangible Assets</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">There were no changes to the goodwill carrying value from December 31, 2020 through June 30, 2021. The foreign exchange impact on goodwill was immaterial for the period.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">The following table summarizes the Company’s intangible assets and related accumulated amortization:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:30.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:30.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">(</b><span style="font-style:italic;font-weight:bold;">in thousands)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:33.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, 2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:33.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:30.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net Carrying</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:30.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" 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','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:30.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Trademarks and brands</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 11,690</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,985)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 8,705</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 11,690</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,562)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 9,128</p></td></tr><tr><td style="vertical-align:bottom;width:30.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 102,220</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (32,006)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 70,214</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 102,220</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (27,720)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 74,500</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:30.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Developed technology</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 63,205</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (29,344)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 33,861</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 63,210</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (25,128)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 38,082</p></td></tr><tr><td style="vertical-align:bottom;width:30.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total intangible assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.56%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 177,115</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (64,335)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 112,780</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.62%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 177,120</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (55,410)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.14%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 121,710</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">Amortization expense for three months ended June 30, 2021 and June 30, 2020 is $4.4 million and $4.5 million, respectively. Amortization expense related to intangible assets amounted to $8.9 million and $9.0 million for the six months ended June 30, 2021 and June 30, 2020, respectively. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt;">Estimated future expected amortization expense of intangible assets as of June 30, 2021, is as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:79.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:79.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">(in thousands)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:79.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 8,930</p></td></tr><tr><td style="vertical-align:bottom;width:79.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 17,860</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:79.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2023</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 17,825</p></td></tr><tr><td style="vertical-align:bottom;width:79.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 16,205</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:79.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2025</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 14,273</p></td></tr><tr><td style="vertical-align:bottom;width:79.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 9,777</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:79.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Thereafter</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 27,910</p></td></tr><tr><td style="vertical-align:bottom;width:79.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 112,780</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt;">The weighted-average remaining useful life by major asset classes as of June 30, 2021 is as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:86.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:86.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-style:italic;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">    </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><span style="font-style:italic;font-weight:bold;">(In years)</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Trademarks and brands</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 11</p></td></tr><tr><td style="vertical-align:bottom;width:86.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 8</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Developed technology</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">There were no impairments identified during the six months ended June 30, 2021 or June 30, 2020.</p> 0 0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:30.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:30.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">(</b><span style="font-style:italic;font-weight:bold;">in thousands)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:33.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, 2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:33.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:30.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net Carrying</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:30.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" 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','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:30.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Trademarks and brands</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 11,690</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,985)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 8,705</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 11,690</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,562)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 9,128</p></td></tr><tr><td style="vertical-align:bottom;width:30.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 102,220</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (32,006)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 70,214</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 102,220</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (27,720)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 74,500</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:30.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Developed technology</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 63,205</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (29,344)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 33,861</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 63,210</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (25,128)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 38,082</p></td></tr><tr><td style="vertical-align:bottom;width:30.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total intangible assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.56%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 177,115</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (64,335)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.23%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 112,780</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.62%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 177,120</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (55,410)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.14%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 121,710</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:86.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:86.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-style:italic;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">    </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><span style="font-style:italic;font-weight:bold;">(In years)</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Trademarks and brands</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 11</p></td></tr><tr><td style="vertical-align:bottom;width:86.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 8</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Developed technology</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4</p></td></tr></table> 11690000 2985000 8705000 11690000 2562000 9128000 102220000 32006000 70214000 102220000 27720000 74500000 63205000 29344000 33861000 63210000 25128000 38082000 177115000 64335000 112780000 177120000 55410000 121710000 4400000 4500000 8900000 9000000.0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:79.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:79.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">(in thousands)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:79.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 8,930</p></td></tr><tr><td style="vertical-align:bottom;width:79.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 17,860</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:79.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2023</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 17,825</p></td></tr><tr><td style="vertical-align:bottom;width:79.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 16,205</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:79.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2025</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 14,273</p></td></tr><tr><td style="vertical-align:bottom;width:79.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 9,777</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:79.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Thereafter</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 27,910</p></td></tr><tr><td style="vertical-align:bottom;width:79.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 112,780</p></td></tr></table> 8930000 17860000 17825000 16205000 14273000 9777000 27910000 112780000 P11Y P8Y P4Y 0 0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">6.<span style="font-family:'Arial','Helvetica','sans-serif';font-weight:normal;">     </span>Property, Plant and Equipment</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">Property, plant and equipment, including equipment under capital lease obligations and capitalized software development costs, consists of the following:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:70.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:70.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:27.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">(in thousands)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, 2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2020</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:70.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Computers and peripheral equipment</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 16,695</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 14,577</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:70.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Office furniture and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,115</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,124</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:70.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Leasehold improvements</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 9,266</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 9,267</p></td></tr><tr><td style="vertical-align:bottom;width:70.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Capitalized software development costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 11,247</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 8,382</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:70.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Less accumulated depreciation and amortization</i></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (20,751)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (15,243)</p></td></tr><tr><td style="vertical-align:bottom;width:70.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total property, plant and equipment, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 17,572</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 18,107</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">For the three months ended June 30, 2021 and 2020, total depreciation expense was $3.0 million and $1.7 million, respectively. For the six months ended June 30, 2021 and 2020, total depreciation expense was $5.6 million and $3.1 million, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">Property and equipment financed through capital lease obligations, consisting of computer equipment, totaled $12.3 million and $10.7 million on June 30, 2021 and December 31, 2020, respectively. As of June 30, 2021 and December 31, 2020, accumulated depreciation related to property and equipment financed through capital leases totaled $8.9 million and $7.6 million, respectively. Refer to Note 13, Commitments and Contingencies.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:70.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:70.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:27.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">(in thousands)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, 2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2020</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:70.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Computers and peripheral equipment</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 16,695</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 14,577</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:70.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Office furniture and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,115</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,124</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:70.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Leasehold improvements</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 9,266</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 9,267</p></td></tr><tr><td style="vertical-align:bottom;width:70.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Capitalized software development costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 11,247</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 8,382</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:70.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">Less accumulated depreciation and amortization</i></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (20,751)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (15,243)</p></td></tr><tr><td style="vertical-align:bottom;width:70.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total property, plant and equipment, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 17,572</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 18,107</p></td></tr></table> 16695000 14577000 1115000 1124000 9266000 9267000 11247000 8382000 20751000 15243000 17572000 18107000 3000000.0 1700000 5600000 3100000 12300000 10700000 8900000 7600000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">7.     Fair Value Measurement</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">The following tables present the Company’s financial instruments that are measured at fair value on a recurring basis:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:46.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:46.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:51.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of June 30, 2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:46.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Quoted Market</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:46.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Prices in Active</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Significant</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:46.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">(</b><span style="font-style:italic;font-weight:bold;">in thousands)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Markets for</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Significant Other</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unobservable</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:46.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Identical Assets </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Observable Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:46.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 1)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 2)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 3)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Measurements</b></p></td></tr><tr><td style="vertical-align:bottom;width:46.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:46.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash equivalents:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.81%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 9,808</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.61%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.56%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 9,808</p></td></tr><tr><td style="vertical-align:bottom;width:46.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:46.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Contingent consideration current</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,717</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,717</p></td></tr><tr><td style="vertical-align:bottom;width:46.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Contingent consideration non-current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:46.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total contingent consideration</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.81%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.61%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,717</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.56%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,717</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:52.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of December 31, 2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Quoted Market</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Prices in Active</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Significant</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">(in thousands)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Markets for</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Significant Other</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unobservable</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Identical Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Observable Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Tota1 Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 1)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 2)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 3)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Measurements</b></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash equivalents:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.81%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,474</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.61%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,474</p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Contingent consideration current</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,198</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,198</p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Contingent consideration non-current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 462</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 462</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total contingent consideration</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.81%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.61%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,660</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,660</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">Cash equivalents consisting of money market funds of $9.8 million and money market funds and time deposits of $2.5 million as of June 30, 2021 and December 31, 2020, respectively, were classified as Level 1 of the fair value hierarchy and valued using quoted market prices in active markets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">Contingent consideration relates to potential payments that the Company may be required to make associated with a business combination. To the extent that the valuations of these liabilities are based on inputs that are less observable or not observable in the market, the determination of fair value requires more judgment. Accordingly, the degree of judgment exercised in determining fair value is greatest for measures categorized in Level 3.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">Rollforward of the fair value measurements of the contingent consideration categorized with Level 3 inputs as of June 30, 2021 is as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:80.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:80.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(</b><span style="font-style:italic;font-weight:bold;">in thousands)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:80.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance at January 1, 2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,660</p></td></tr><tr><td style="vertical-align:bottom;width:80.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Fair value adjustments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 57</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:80.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Payments during the year</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:80.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance at June 30, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,717</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The fair value of the component of contingent consideration related to achievement of revenue targets have been estimated using a Monte Carlo model to simulate future performance of the acquired business under a risk-neutral framework; significant assumptions include a risk-adjusted discount rate of 13.5% and revenue volatility of 29.0%. The fair value of the component of contingent consideration related to achievement of four technical milestones have been estimated using situation-based modeling, which considers the probability-weighted present value of the expected payout amount.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:46.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:46.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:51.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of June 30, 2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:46.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Quoted Market</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:46.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Prices in Active</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Significant</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:46.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">(</b><span style="font-style:italic;font-weight:bold;">in thousands)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Markets for</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Significant Other</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unobservable</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:46.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Identical Assets </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Observable Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:46.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 1)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 2)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 3)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Measurements</b></p></td></tr><tr><td style="vertical-align:bottom;width:46.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:46.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash equivalents:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.81%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 9,808</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.61%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.56%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 9,808</p></td></tr><tr><td style="vertical-align:bottom;width:46.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:46.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Contingent consideration current</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,717</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,717</p></td></tr><tr><td style="vertical-align:bottom;width:46.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Contingent consideration non-current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:46.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total contingent consideration</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.81%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.61%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,717</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.56%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,717</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:52.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of December 31, 2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Quoted Market</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Prices in Active</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Significant</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">(in thousands)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Markets for</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Significant Other</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unobservable</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Identical Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Observable Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Tota1 Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 1)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 2)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 3)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Measurements</b></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash equivalents:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.81%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,474</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.61%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,474</p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Contingent consideration current</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,198</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,198</p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Contingent consideration non-current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 462</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 462</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total contingent consideration</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.81%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.61%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,660</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,660</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table> 9808000 9808000 1717000 1717000 1717000 1717000 2474000 2474000 1198000 1198000 462000 462000 1660000 1660000 9800000 2500000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:80.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:80.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(</b><span style="font-style:italic;font-weight:bold;">in thousands)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:80.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance at January 1, 2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,660</p></td></tr><tr><td style="vertical-align:bottom;width:80.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Fair value adjustments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 57</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:80.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Payments during the year</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:80.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance at June 30, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,717</p></td></tr></table> 1660000 57000 1717000 13.5 29.0 4 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">8.     Long-term Debt</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">On October 1, 2020, DoubleVerify Inc., as borrower (the “Borrower”), and MidCo, as guarantor, entered into an amendment and restatement agreement with the banks and other financial institutions party thereto, as lenders, and Capital One, National Association, as administrative agent, letter of credit issuer and swing lender, and others, to (i) amend and restate the Prior Credit Agreement as defined in the Prospectus (the Prior Credit Agreement, as amended and restated on October 1, 2020, the “Credit Agreement”) and (ii) replace the Prior Credit Facilities (as defined in the Prospectus) with a new senior secured revolving credit facility (the “New Revolving Credit Facility”) in an aggregate principal amount of $150.0 million (with a letter of credit facility of up to $15.0 million as a sublimit). Subject to certain terms and conditions, the Borrower is entitled to request additional term loan facilities or increases in the revolving credit commitments under the New Revolving Credit Facility. The New Revolving Credit Facility is payable in quarterly installments for interest, with the principal balance due in full at maturity on October 1, 2025. Additional fees paid quarterly include fees for the unused revolving facility and unused letter of credit. The commitment fee on any unused balance is payable periodically and may range from 0.25% to 0.40% based upon the total net leverage ratio. The New Revolving Credit Facility bears interest at LIBOR plus 2.25%. which may vary from time to time based on the Borrower’s total net leverage ratio calculated in accordance with the Credit Agreement.  </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The New Revolving Credit Facility contains a number of significant negative covenants. Subject to certain exceptions, these covenants require the Borrower to comply with certain requirements and restrictions to, among other things: incur indebtedness; create liens; engage in mergers or consolidations; make investments, loans and advances; pay dividends or other distributions and repurchase capital stock; sell assets; engage in certain transactions with affiliates; enter into sale and leaseback transactions; and make certain accounting changes. As a result of these restrictions, substantially all of the net assets of the Borrower are restricted from distribution to the Company or any of its holders of equity.   </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The New Revolving Credit Facility has a first priority lien on substantially all of the assets of MidCo, the Borrower and Ad-Juster, Inc., the Company’s indirect subsidiary. The New Revolving Credit Facility requires the Borrower to remain in compliance with a maximum total net leverage ratio and a minimum fixed charge coverage ratio as defined in the Credit Agreement. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">As of June 30, 2021, the maximum total net leverage ratio and minimum fixed charge coverage ratio is 3.5x and 1.25x, respectively. The Borrower is in compliance with all covenants under the New Revolving Credit Facility as of June 30, 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On April 30, 2021 the Company used a portion of the proceeds from the IPO and the concurrent private placement to pay the outstanding balance. As of June 30, 2021 and December 31, 2020, there was zero balance outstanding and $22.0 million outstanding under the New Revolving Credit Facility, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:1pt;margin-bottom:12pt;visibility:hidden;">​</span></p> 150000000.0 15000000.0 0.0025 0.0040 0.0225 3.5 1.25 0 22000000.0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">9.     Income Tax</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">The Company’s quarterly income tax provision is calculated using an estimated annual effective income tax rate ("ETR") based on actual historical information and forward-looking estimates. The Company’s estimated annual ETR may fluctuate due to changes in forecasted annual pre-tax income, changes in the jurisdictional mix of forecasted pre-tax income, and changes to actual or forecasted permanent book to tax differences (e.g., non-deductible expenses). In addition, the Company’s ETR for a particular reporting period may fluctuate as the result of changes to the valuation allowance for net deferred tax assets, the impact of anticipated tax settlements with federal, state, or foreign tax authorities, or the impact of tax law changes. The Company identifies items that are unusual and non-recurring in nature and treat these as discrete events. The tax effect of these discrete events is booked entirely in the quarter in which they occur.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">During the three and six months ended June 30, 2021, the Company recorded an income tax provision of $2.3 million and $5.1 million, respectively, resulting in an effective tax rate of (22.4%) and (277.5%), which includes an annualized effective tax benefit of $3.1 million and $0.5 million (representing an effective tax rate of 29.7% and 29.9%) and discrete items relating primarily to transaction costs and state tax refunds of $5.4 million and $5.6 million (representing an effective tax rate of (52.1%) and (307.4%)), respectively. During the three and six months ended June 30, 2020, the Company recorded an income tax provision of $2.0 million and $3.4 million, respectively, resulting in an effective tax rate of 33.0% and 34.0%. These effective tax rates differ from the U.S. federal statutory rate primarily due to the effects of differing treatment of transaction costs between book and tax, foreign tax rate differences, U.S. tax on foreign operations, and U.S. state/local taxes.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">The COVID-19 (as defined herein) pandemic has a global reach, and many countries are introducing measures that provide relief to taxpayers in a variety of ways. In March 2020, the U.S. government enacted tax legislation containing provisions to support businesses during the COVID-19 pandemic (the “CARES Act”), including deferment of the employer portion of certain payroll taxes, refundable payroll tax credits, and technical amendments to tax depreciation methods for qualified improvement property. The CARES Act did not have a material impact on the Company’s income tax provision for the three and six months ended June 30, 2021. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">A valuation allowance has been established against a small amount of certain net foreign deferred tax assets and US tax loss carryforward. All other net deferred tax assets have been determined to be more likely than not realizable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company and its subsidiaries file income tax returns with the Internal Revenue Service (“IRS”) and various state and international jurisdictions. The Company’s Israeli subsidiary is under audit by the Israeli Tax Authority for the 2016-2018 tax years. This examination may lead to ordinary course adjustments or proposed adjustments to the Company’s taxes. Aside from this, the Company is not currently under audit in any other jurisdiction.</p> 2300000 5100000 -0.224 -2.775 -3100000 -500000 0.297 0.299 5400000 5600000 -0.521 -3.074 2000000.0 3400000 0.330 0.340 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">10.   (Loss) Earnings Per Share</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The following table reconciles the numerators and denominators used in computations of the basic and diluted EPS for the three and six months ended June 30:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:56.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:56.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:20.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:19.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:56.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:20.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="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','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:56.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-style:italic;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="13" style="padding:0pt;"/></tr><tr><td style="vertical-align:bottom;width:56.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Numerator:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:19.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Net (Loss) income (basic and diluted)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (12,568)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4,078</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (6,924)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 6,518</p></td></tr><tr><td style="vertical-align:bottom;width:56.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Denominator:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Weighted-average common shares outstanding</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 149,596</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 139,756</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 137,355</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 139,748</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Dilutive effect of share-based awards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 6,785</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 7,179</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Weighted-average dilutive shares outstanding</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><b style="font-weight:bold;"> 149,596</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><b style="font-weight:bold;"> 146,541</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><b style="font-weight:bold;"> 137,355</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><b style="font-weight:bold;"> 146,927</b></p></td></tr><tr><td style="vertical-align:bottom;width:56.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Basic (loss) earnings per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (0.08)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 0.03</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (0.05)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 0.05</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Diluted (loss) earnings per share</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (0.08)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 0.03</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (0.05)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 0.04</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="background-color:#ffff00;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">As the Company has reported net loss for the three and six months ended June 30, 2021, all potentially dilutive securities are antidilutive. Approximately 16.3 million, and 16.4 million weighted average shares issuable under stock-based awards were not included in the diluted EPS calculation in the three and six months ended June 30, 2021 because they were antidilutive. Approximately 6.6 million, and 6.7 million weighted average shares issuable under stock-based awards were not included in the diluted EPS calculation in the three and six months ended June 30, 2020 because they were also antidilutive.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:56.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:56.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:20.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:19.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:56.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:20.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="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','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:56.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-style:italic;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="13" style="padding:0pt;"/></tr><tr><td style="vertical-align:bottom;width:56.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Numerator:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:19.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Net (Loss) income (basic and diluted)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (12,568)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4,078</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (6,924)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 6,518</p></td></tr><tr><td style="vertical-align:bottom;width:56.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Denominator:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Weighted-average common shares outstanding</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 149,596</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 139,756</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 137,355</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 139,748</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Dilutive effect of share-based awards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 6,785</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 7,179</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Weighted-average dilutive shares outstanding</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><b style="font-weight:bold;"> 149,596</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><b style="font-weight:bold;"> 146,541</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><b style="font-weight:bold;"> 137,355</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"><b style="font-weight:bold;"> 146,927</b></p></td></tr><tr><td style="vertical-align:bottom;width:56.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Basic (loss) earnings per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (0.08)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 0.03</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (0.05)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 0.05</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Diluted (loss) earnings per share</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (0.08)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 0.03</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (0.05)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 0.04</p></td></tr></table> -12568000 4078000 -6924000 6518000 149596000 139756000 137355000 139748000 6785000 7179000 149596000 146541000 137355000 146927000 -0.08 0.03 -0.05 0.05 -0.08 0.03 -0.05 0.04 16300000 16400000 6600000 6700000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">11.   Stock-Based Compensation</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Employee Equity Incentive Plan</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">On September 20, 2017, the Company established its 2017 Omnibus Equity Incentive Program (the “2017 Plan”) which provides for the granting of equity based awards to certain employees, directors, independent contractors, consultants and agents. Under the 2017 Plan, the Company may grant non-qualified stock options, stock appreciation rights, restricted stock units, and other stock-based awards up to 22,182 shares of common stock.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">On April 19, 2021 the Company established its 2021 Omnibus Equity Incentive Plan (“2021 Equity Plan”). The maximum number of shares of common stock available for issuance under the 2021 Equity Plan is equal to the sum of (i) 30,000 shares of common stock and (ii) an annual increase on the first day of each year beginning in 2022 and ending in and including 2031, equal to the lesser of (A) five percent (5%) of the outstanding shares of common stock on the last day of the immediately preceding fiscal year and (B) such lesser amount as determined by the Board’s compensation committee. The 2021 Equity Plan provides for the grant of stock options (including qualified incentive stock options and nonqualified stock options), stock appreciation rights, restricted stock, restricted stock units, dividend equivalents, and other stock or cash settled incentive awards. Any shares covered by an award, or portion of an award, granted under the 2021 Equity Plan that expires or is forfeited, canceled, cash-settled, or otherwise terminated for any reason will again be available for the grant of awards under the 2021 Equity Plan.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">Options become exercisable subject to vesting schedules up to four years from the date of the grant and subject to certain timing restrictions upon an employee’s separation of service and no later than 10 years after the grant date.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">Restricted stock units are subject to vesting schedules up to four years from the date of the grant and subject to certain timing restrictions upon an employee’s separation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.7pt;text-align:justify;text-indent:-0.7pt;margin:0pt 0pt 12pt 0pt;">A summary of stock option activity as of and for the six-months ended June 30, 2021 and December 31, 2020 is as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="9" style="vertical-align:bottom;white-space:nowrap;width:58.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Stock Option</b></p></td></tr><tr><td style="vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Remaining</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Number of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Contractual Life</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Aggregate</b></p></td></tr><tr><td style="vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Exercise Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(Years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Intrinsic Value</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding as of December 31, 2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 14,713</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 4.47</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 7.79</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 181,914</p></td></tr><tr><td style="vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Options granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 598</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 22.12</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Options exercised</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,078)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 3.35</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Options forfeited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (189)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 6.47</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding as of June 30, 2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 14,044</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 5.29</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.06%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 7.45</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 520,634</p></td></tr><tr><td style="vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Options expected to vest as of June 30, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 3,818</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 9.72</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 124,523</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Options exercisable as of June 30, 2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 6,483</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 3.62</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 251,007</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt;">Stock options include grants to executives that contain both market-based and performance-based vesting conditions. There were no stock options granted that contain both market-based and performance-based vesting conditions during the six months ended June 30, 2021. As of June 30, 2021, 3,433 market-based and performance-based awards were outstanding. As of June 30, 2021, the Company did not consider the performance condition to be probable and did not recognize any expense associated with these options.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">The weighted average grant date fair value of options granted during the six months ended June 30, 2021 and 2020 was $9.23 and $2.65, respectively. The total intrinsic value of options exercised during the six months ended June 30, 2021 and 2020 was $30.4 million and $0.3 million, respectively. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">The fair market value of each option granted during the six months ended June 30, 2021 has been estimated on the grant date using the Black-Scholes-Merton option-pricing model with the following assumptions:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:86.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:86.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Risk - free interest rate (percentage)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;">0.6. - 1.1</p></td></tr><tr><td style="vertical-align:bottom;width:86.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Expected term (years)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 6.1</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Expected dividend yield (percentage)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:86.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Expected volatility (percentage)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;">42.1 - 43.6</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company’s board of directors (the “Board”) did not declare or pay dividends of the Company’s common or preferred stock during the six months ended June 30, 2021 or during the six months ended June 30, 2020. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">A summary of restricted stock unit activity as of and for the six months ended June 30, 2021 and December 31, 2020 is as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="background-color:#ffff00;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;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','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:29.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Restricted Stock</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Number of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Grant Date Fair Value</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding as of December 31, 2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,261</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 7.74</p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 576</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 21.30</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Vested</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (217)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 10.26</p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Forfeited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding as of June 30, 2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.98%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,620</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 12.23</p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Expected to vest as of June 30, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.98%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,486</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="background-color:#ffff00;margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">The total grant date fair value of restricted stock units that vested during the six months ended June 30, 2021 was $2.2 million. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">As of June 30, 2021, unrecognized stock-based compensation expense was $24.6 million, which is expected to be recognized over a weighted-average period of 1.4 years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">Total stock-based compensation expense recorded in the Condensed Consolidated Statements of Operations and Comprehensive (Loss) Income as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:59.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:59.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:18.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:18.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:59.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:18.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:18.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:59.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">(in thousands)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:59.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Product development</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 436</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 152</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 714</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 253</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Sales, marketing and customer support</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,696</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 392</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,320</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 564</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:59.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">General and administrative</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,582</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 596</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4,218</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,125</p></td></tr><tr><td style="vertical-align:bottom;width:59.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4,714</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,140</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 7,252</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,942</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 22182000 30000000 0.05 P4Y P10Y P4Y <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="9" style="vertical-align:bottom;white-space:nowrap;width:58.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Stock Option</b></p></td></tr><tr><td style="vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Remaining</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Number of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Contractual Life</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Aggregate</b></p></td></tr><tr><td style="vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Exercise Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(Years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Intrinsic Value</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding as of December 31, 2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 14,713</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 4.47</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 7.79</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 181,914</p></td></tr><tr><td style="vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Options granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 598</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 22.12</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Options exercised</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,078)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 3.35</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Options forfeited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (189)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 6.47</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding as of June 30, 2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 14,044</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 5.29</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.06%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 7.45</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 520,634</p></td></tr><tr><td style="vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Options expected to vest as of June 30, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 3,818</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 9.72</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 124,523</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:39.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Options exercisable as of June 30, 2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 6,483</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 3.62</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 251,007</p></td></tr></table> 14713000 4.47 P7Y9M14D 181914000 598000 22.12 1078000 3.35 189000 6.47 14044000 5.29 P7Y5M12D 520634000 3818000 9.72 124523000 6483000 3.62 251007000 0 3433000 9.23 2.65 30400000 300000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:86.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:86.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Risk - free interest rate (percentage)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;">0.6. - 1.1</p></td></tr><tr><td style="vertical-align:bottom;width:86.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Expected term (years)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 6.1</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Expected dividend yield (percentage)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:86.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Expected volatility (percentage)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;">42.1 - 43.6</p></td></tr></table> 0.006 0.011 P6Y1M6D 0.421 0.436 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="background-color:#ffff00;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;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','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:29.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Restricted Stock</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Number of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Grant Date Fair Value</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding as of December 31, 2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,261</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 7.74</p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 576</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 21.30</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Vested</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (217)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 10.26</p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Forfeited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding as of June 30, 2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.98%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,620</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 12.23</p></td></tr><tr><td style="vertical-align:bottom;width:68.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Expected to vest as of June 30, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.98%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,486</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr></table> 1261000 7.74 576000 21.30 217000 10.26 1620000 12.23 1486000 2200000 24600000 P1Y4M24D <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:59.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:59.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:18.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:18.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:59.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:18.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:18.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:59.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">(in thousands)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:59.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Product development</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 436</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 152</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 714</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 253</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Sales, marketing and customer support</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,696</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 392</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,320</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 564</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:59.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">General and administrative</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,582</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 596</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4,218</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,125</p></td></tr><tr><td style="vertical-align:bottom;width:59.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4,714</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,140</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 7,252</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,942</p></td></tr></table> 436000 152000 714000 253000 1696000 392000 2320000 564000 2582000 596000 4218000 1125000 4714000 1140000 7252000 1942000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"> 12. Stockholders’ Equity </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On April 9, 2021, the Company entered into an arrangement with an affiliate of Tiger Global Management, LLC (the ‘‘Tiger Investor’’) whereby the Tiger Investor purchased $30.0 million of the Company’s common stock in a private placement (‘‘concurrent private placement’’) concurrent with the completion of the IPO. The price per share was equal to the IPO price of $27.00, for a total of 1,111 shares. The Company received total aggregate net proceeds of $29.0 million, after deducting underwriting fees of $1.0 million.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On April 23, 2021, the Company completed its IPO in which the Company issued and sold 9,977 shares of common stock at a public offering price of $27.00 per share, which included the full exercise of the underwriters’ option to purchase 1,350 additional shares of common stock. The Company received aggregate net proceeds of $253.2 million from the IPO, after deducting underwriting discount fees of $16.2 million. The Company incurred offering costs of approximately $26.8 million for the concurrent private placement and IPO, of which $18.7 million and $21.8 million were included in General and Administrative expenses in the Condensed Consolidated Statement of Operations and Comprehensive (Loss) Income for the three and six months ended June 30, 2021, respectively. The IPO offering also included 5,356 shares sold by Providence VII U.S. Holdings L.P. (“Providence”) and other existing stockholders, which included the full exercise of the underwriters’ option to purchase 650 additional shares from Providence, in which the Company did not receive any proceeds from the shares sold. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">In connection with the Company’s IPO, all shares of the Company’s outstanding preferred stock automatically converted into 20,335 shares of common stock on a one for one-third basis. The Company’s treasury stock, consisting of 15,146 shares of common stock, was reissued in the preferred stock conversion.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">In conjunction with the IPO, the Company increased the authorized shares of its capital stock. The Company’s capital stock consists of 1,000,000 shares of common stock, par value $0.001 per share and 100,000 shares of undesignated preferred stock, par value $0.01 per share. Further, the Company amended and restated its existing amended and restated certificate of incorporation and its existing bylaws of the Company, as previously reported in the Prospectus, which incorporates material modifications to rights of security holders.</p> 30000000.0 27.00 1111000 29000000.0 1000000.0 9977000 27.00 1350000 253200000 16200000 26800000 18700000 21800000 5356000 650000 20335000 1 15146000 1000000000 1000000000 0.001 100000000 100000000 0.01 0.01 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">13.   Commitments and Contingencies</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Accrued Expense</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Accrued expenses as of June 30, 2021 and December 31, 2020 were as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:70.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:70.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:27.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">As of</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-style:italic;font-weight:bold;">(in thousands)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">June 30, 2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, 2020</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Vendor payments</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 3,507</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 3,896</p></td></tr><tr><td style="vertical-align:bottom;width:70.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Employee commissions and bonuses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 10,304</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 11,344</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Payroll and other employee related expense</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 8,579</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 6,957</p></td></tr><tr><td style="vertical-align:bottom;width:70.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">401k and pension expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 848</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,358</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Other taxes</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 2,222</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,864</p></td></tr><tr><td style="vertical-align:bottom;width:70.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total accrued expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.05%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 25,460</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="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','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 25,419</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt;">Operating Leases</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">The Company and its subsidiaries have entered into operating lease agreements for certain of its office space, and data centers. The offices are located in the United States, Israel, Belgium, Finland, France, Japan, and Singapore. The data centers are premises used to house computing and networking equipment. The data center leases are located within the United States, Netherlands, Germany and Singapore.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">For the three months ended June 30, 2021 and June 30, 2020 office rent expense was $1.2 million and $1.5 million, respectively. For the six months ended June 30, 2021 and June 30, 2020 office rent expense was $2.1 million and $2.9 million, respectively. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">For the three months ended June 30, 2021 and June 30, 2020 data center rent expense was $0.4 million and $0.3 million, respectively. For the six months ended June 30, 2021 and June 30, 2020 data center rent expense was $0.9 million and $0.6 million, respectively. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">Future minimum lease obligations are as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ending</b></p></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">(in thousands)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,848</p></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4,778</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2023</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4,211</p></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 563</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 12,400</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Capital Leases</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">As of June 30, 2021, the Company had seven lease agreements for certain equipment which provide for the transfer of ownership at the end of the lease term or are for underlying assets that will have an insignificant fair value at the end of the lease term. The Company has classified these agreements as capital leases and recognized the corresponding assets and liabilities within the Condensed Consolidated Balance Sheet.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">The following is a schedule of future minimum lease payments under these agreements (including interest) as of June 30, 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ending</b></p></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">(in thousands)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,109</p></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,144</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2023</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,937</p></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 598</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2025</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 170</p></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 5,958</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less: Amount representing interest</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (319)</p></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Present Value of net minimum capital lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 5,639</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Capital leases short term</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,021</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Capital leases long term</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 3,618</p></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 5,639</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Contingencies</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">From time to time, the Company is subject to various legal proceedings and claims, either asserted or unasserted, that arise in the ordinary course of business. The Company records liabilities for contingencies including legal costs when it is probable that a liability has been incurred and when the amount can be reasonably estimated. Legal costs are expensed as incurred. Although the outcome of the various legal proceedings and claims cannot be predicted with certainty, management does not believe that any of these proceedings or other claims will have a material effect on the Company’s business, financial condition, results of operations or cash flows.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:70.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:70.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:27.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">As of</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-style:italic;font-weight:bold;">(in thousands)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">June 30, 2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, 2020</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Vendor payments</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 3,507</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 3,896</p></td></tr><tr><td style="vertical-align:bottom;width:70.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Employee commissions and bonuses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 10,304</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 11,344</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Payroll and other employee related expense</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 8,579</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 6,957</p></td></tr><tr><td style="vertical-align:bottom;width:70.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">401k and pension expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 848</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,358</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Other taxes</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 2,222</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;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','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,864</p></td></tr><tr><td style="vertical-align:bottom;width:70.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total accrued expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.05%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 25,460</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="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','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 25,419</p></td></tr></table> 3507000 3896000 10304000 11344000 8579000 6957000 848000 1358000 2222000 1864000 25460000 25419000 1200000 1500000 2100000 2900000 400000 300000 900000 600000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ending</b></p></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">(in thousands)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,848</p></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4,778</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2023</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4,211</p></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 563</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 12,400</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 2848000 4778000 4211000 563000 12400000 7 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ending</b></p></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">(in thousands)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,109</p></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,144</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2023</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,937</p></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 598</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2025</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 170</p></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 5,958</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less: Amount representing interest</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (319)</p></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Present Value of net minimum capital lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 5,639</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Capital leases short term</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,021</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Capital leases long term</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 3,618</p></td></tr><tr><td style="vertical-align:bottom;width:85.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 5,639</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 1109000 2144000 1937000 598000 170000 5958000 319000 5639000 2021000 3618000 5639000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">14.    Segment Information</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-align:justify;text-indent:-0.5pt;margin:0pt 0pt 12pt 0pt;">The Company has determined that it operates as one operating and <span style="-sec-ix-hidden:Hidden_6oLGnGY8ZUSUYng-DmgpzA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:justify;">reportable</span></span> segment. The Company’s chief operating decision maker reviews financial information on a consolidated basis, together with certain operating and performance measures principally to make decisions about how to allocate resources and measure performance.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company has not disclosed certain geographic information pertaining to revenues and total assets as it is impracticable to disclose, is not utilized by the Company’s chief operating decision maker to review operating results or make decisions about how to allocate resources, and would not be useful to users of the Condensed Consolidated Financial Statements to disclose such information.</p> 1 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">15.   Subsequent Events</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.7pt;text-align:justify;text-indent:-0.7pt;margin:0pt;">On July 21, 2021, the Company approved 395 stock options and 427 restricted stock units to be granted under the 2021 Equity Plan and 140 stock options and 107 restricted stock units to be granted under the 2017 Equity Plan.</p> 395000 427000 140000 107000 XML 12 R1.htm IDEA: XBRL DOCUMENT v3.21.2
Document and Entity Information - shares
6 Months Ended
Jun. 30, 2021
Jul. 26, 2021
Document and Entity Information [Abstract]    
Document Type 10-Q  
Document Quarterly Report true  
Document Transition Report false  
Document Period End Date Jun. 30, 2021  
Entity File Number 001-40349  
Entity Registrant Name DoubleVerify Holdings, Inc.  
Entity Incorporation, State or Country Code DE  
Entity Tax Identification Number 82-2714562  
Entity Address, Address Line One 233 Spring Street  
Entity Address, City or Town New York  
Entity Address State Or Province NY  
Entity Address, Postal Zip Code 10013  
City Area Code 212  
Local Phone Number 631-2111  
Title of 12(b) Security Common Stock, par value $0.001 per share  
Trading Symbol DV  
Security Exchange Name NYSE  
Entity Current Reporting Status Yes  
Entity Interactive Data Current Yes  
Entity Filer Category Non-accelerated Filer  
Entity Small Business false  
Entity Emerging Growth Company true  
Entity Ex Transition Period false  
Entity Shell Company false  
Entity Common Stock, Shares Outstanding   157,851,204
Entity Central Index Key 0001819928  
Current Fiscal Year End Date --12-31  
Document Fiscal Year Focus 2021  
Document Fiscal Period Focus Q2  
Amendment Flag false  
XML 13 R2.htm IDEA: XBRL DOCUMENT v3.21.2
CONDENSED CONSOLIDATED BALANCE SHEETS - USD ($)
$ in Thousands
Jun. 30, 2021
Dec. 31, 2020
Current assets    
Cash and cash equivalents $ 330,355 $ 33,354
Trade receivables, net of allowances for doubtful accounts of $6,889 and $7,049 as of June 30, 2021 and December 31, 2020 respectively 85,555 94,677
Prepaid expenses and other current assets 14,106 13,904
Total current assets 430,016 141,935
Property, plant and equipment, net 17,572 18,107
Goodwill 227,349 227,349
Intangible assets, net 112,780 121,710
Deferred tax assets 82 82
Other non-current assets 2,303 2,151
Total assets 790,102 511,334
Current liabilities    
Trade payables 4,122 3,495
Accrued expense 25,460 25,419
Income tax liabilities 670 1,277
Current portion of capital lease obligations 2,021 1,515
Contingent considerations current 1,717 1,198
Other current liabilities 2,101 1,116
Total current liabilities 36,091 34,020
Long-term debt   22,000
Capital lease obligations 3,618 3,447
Deferred tax liabilities 28,243 31,418
Other non-current liabilities 2,734 3,292
Contingent considerations non-current   462
Total liabilities 70,686 94,639
Commitments and contingencies (Note 13)
Stockholders' equity    
Common stock, $0.001 par value, 1,000,000 shares authorized, 157,768 shares issued and outstanding as of June 30, 2021; 700,000 shares authorized, 140,222 shares issued and 125,074 shares outstanding as of December 31, 2020 158 140
Preferred stock, $0.01 par value, 100,000 shares authorized and zero shares issued and outstanding as of June 30, 2021 and 61,006 shares authorized, issued, and outstanding as of December 31, 2020. Liquidation preference: $350,000 as of December 31, 2020   610
Additional paid-in capital 670,674 620,679
Treasury stock, at cost, zero shares and 15,146 shares as of June 30, 2021 and December 31, 2020, respectively   (260,686)
Retained earnings 48,017 54,941
Accumulated other comprehensive income, net of income taxes 567 1,011
Total stockholders' equity 719,416 416,695
Total liabilities and stockholders' equity $ 790,102 $ 511,334
XML 14 R3.htm IDEA: XBRL DOCUMENT v3.21.2
CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) - USD ($)
shares in Thousands, $ in Thousands
Jun. 30, 2021
Dec. 31, 2020
CONDENSED CONSOLIDATED BALANCE SHEETS    
Trade Receivables, net of allowances $ 6,889 $ 7,049
Common stock, par value $ 0.001 $ 0.001
Common stock, shares authorized 1,000,000 700,000
Common stock, shares issued 157,768 140,222
Common stock, shares outstanding 157,768 125,074
Preferred stock, par value $ 0.01 $ 0.01
Preferred stock, shares authorized 100,000 61,006
Preferred stock, shares issued 0 61,006
Preferred stock, shares outstanding 0 61,006
Preferred stock, liquidation value   $ 350,000
Treasury stock, shares 0 15,146
XML 15 R4.htm IDEA: XBRL DOCUMENT v3.21.2
CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE (LOSS) INCOME - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2021
Jun. 30, 2020
Jun. 30, 2021
Jun. 30, 2020
CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE (LOSS) INCOME        
Revenue $ 76,524 $ 53,020 $ 144,110 $ 104,239
Cost of revenue (exclusive of depreciation and amortization shown separately below) 12,291 7,655 22,494 14,965
Product development 15,120 10,906 29,299 21,237
Sales, marketing and customer support 19,580 12,833 35,114 25,152
General and administrative 32,017 8,262 43,852 18,958
Depreciation and amortization 7,440 6,146 14,497 12,080
(Loss) income from operations (9,924) 7,218 (1,146) 11,847
Interest expense 297 936 687 2,100
Other expense (income), net 49 198   (122)
(Loss) income before income taxes (10,270) 6,084 (1,833) 9,869
Income tax expense 2,298 2,006 5,091 3,351
Net (loss) income $ (12,568) $ 4,078 $ (6,924) $ 6,518
(Loss) earnings per share:        
Basic $ (0.08) $ 0.03 $ (0.05) $ 0.05
Diluted $ (0.08) $ 0.03 $ (0.05) $ 0.04
Weighted-average common stock outstanding:        
Basic 149,596 139,756 137,355 139,748
Diluted 149,596 146,541 137,355 146,927
Comprehensive (loss) income:        
Net (loss) income $ (12,568) $ 4,078 $ (6,924) $ 6,518
Other comprehensive (loss) income:        
Foreign currency cumulative translation adjustment 355 231 (444) 78
Total comprehensive (loss) income $ (12,213) $ 4,309 $ (7,368) $ 6,596
XML 16 R5.htm IDEA: XBRL DOCUMENT v3.21.2
CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY - USD ($)
shares in Thousands, $ in Thousands
Common Stock
IPO
Common Stock
Private Placement
Common Stock
Preferred Stock
Treasury Stock
Additional Paid-in Capital
IPO
Additional Paid-in Capital
Private Placement
Additional Paid-in Capital
Retained Earnings
Accumulated Other Comprehensive (Income) Loss Net of Income Taxes
IPO
Private Placement
Total
Balance at Dec. 31, 2019     $ 140         $ 283,457 $ 34,488 $ (67)     $ 318,018
Balance (in shares) at Dec. 31, 2019     139,721                    
Foreign currency translation adjustment                   (153)     (153)
Stock-based compensation expense               802         802
Common stock issued upon exercise of stock options               70         70
Common stock issued upon exercise of stock options (in shares)     32                    
Net (loss) income                 2,440       2,440
Balance at Mar. 31, 2020     $ 140         284,329 36,928 (220)     321,177
Balance (in shares) at Mar. 31, 2020     139,753                    
Balance at Dec. 31, 2019     $ 140         283,457 34,488 (67)     318,018
Balance (in shares) at Dec. 31, 2019     139,721                    
Foreign currency translation adjustment                         78
Net (loss) income                         6,518
Balance at Jun. 30, 2020     $ 140         285,520 41,006 11     326,677
Balance (in shares) at Jun. 30, 2020     139,811                    
Balance at Mar. 31, 2020     $ 140         284,329 36,928 (220)     321,177
Balance (in shares) at Mar. 31, 2020     139,753                    
Foreign currency translation adjustment                   231     231
Stock-based compensation expense               1,140         1,140
Common stock issued upon exercise of stock options               51         51
Common stock issued upon exercise of stock options (in shares)     58                    
Net (loss) income                 4,078       4,078
Balance at Jun. 30, 2020     $ 140         285,520 41,006 11     326,677
Balance (in shares) at Jun. 30, 2020     139,811                    
Balance at Dec. 31, 2020     $ 140 $ 610 $ (260,686)     620,679 54,941 1,011     416,695
Balance (in shares) at Dec. 31, 2020     140,222 61,006 15,146                
Foreign currency translation adjustment                   (799)     (799)
Stock-based compensation expense               2,538         2,538
Common stock issued upon exercise of stock options               538         538
Common stock issued upon exercise of stock options (in shares)     180                    
Net (loss) income                 5,644       5,644
Balance at Mar. 31, 2021     $ 140 $ 610 $ (260,686)     623,755 60,585 212     424,616
Balance (in shares) at Mar. 31, 2021     140,402 61,006 15,146                
Balance at Dec. 31, 2020     $ 140 $ 610 $ (260,686)     620,679 54,941 1,011     416,695
Balance (in shares) at Dec. 31, 2020     140,222 61,006 15,146                
Foreign currency translation adjustment                         $ (444)
Common stock issued upon exercise of stock options (in shares)                         1,078
Net (loss) income                         $ (6,924)
Balance at Jun. 30, 2021     $ 158         670,674 48,017 567     719,416
Balance (in shares) at Jun. 30, 2021     157,768                    
Balance at Mar. 31, 2021     $ 140 $ 610 $ (260,686)     623,755 60,585 212     424,616
Balance (in shares) at Mar. 31, 2021     140,402 61,006 15,146                
Foreign currency translation adjustment                   355     355
Stock-based compensation expense               4,714         4,714
Common stock issued upon exercise of stock options     $ 2         2,907         2,909
Common stock issued upon exercise of stock options (in shares)     871                    
RSU vested (in shares)     217                    
Conversion of Series A preferred stock to common stock in connection with initial public offering     $ 5 $ (610) $ 260,686     (260,081)          
Conversion of Series A preferred stock to common stock (in shares)     5,190 (61,006) (15,146)                
Issuance of stock $ 10 $ 1       $ 269,380 $ 29,999       $ 269,390 $ 30,000  
Issuance of stock (in shares) 9,977 1,111                      
Net (loss) income                 (12,568)       (12,568)
Balance at Jun. 30, 2021     $ 158         $ 670,674 $ 48,017 $ 567     $ 719,416
Balance (in shares) at Jun. 30, 2021     157,768                    
XML 17 R6.htm IDEA: XBRL DOCUMENT v3.21.2
CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS - USD ($)
$ in Thousands
6 Months Ended
Jun. 30, 2021
Jun. 30, 2020
Operating activities:    
Net (loss) income $ (6,924) $ 6,518
Adjustments to reconcile net (loss) income to net cash provided by operating activities    
Bad debt expense 199 1,748
Depreciation and amortization expense 14,496 12,080
Amortization of debt issuance costs 147 142
Accretion of acquisition liabilities   36
Deferred taxes (3,175) (3,096)
Stock-based compensation expense 7,252 1,942
Interest expense (income) 9 (42)
Change in fair value of contingent consideration 57 (899)
Offering costs 21,801 1,058
Other 62 621
Changes in operating assets and liabilities net of effect of business combinations    
Trade receivables 8,518 (47)
Prepaid expenses and other current assets (284) 855
Other non-current assets (299) 3
Trade payables and other liabilities 541 2,057
Accrued expenses 121 (2,978)
Other current liabilities 827 (2,680)
Other non-current liabilities (1,120) 148
Net cash provided by operating activities 42,228 17,466
Investing activities:    
Purchase of property, plant and equipment (3,513) (4,562)
Net cash (used in) investing activities (3,513) (4,562)
Financing activities:    
Payments of long-term debt (22,000) (189)
Payment of contingent consideration related to Zentrick acquisition   (601)
Proceeds from common stock issued upon exercise of stock options 3,447 121
Proceeds from issuance of common stock upon initial public offering 269,390  
Proceeds from issuance of common stock in connection with concurrent private placement 30,000  
Payments related to offering costs (21,708) (1,107)
Capital lease payments (804) (874)
Net cash provided by (used in) financing activities 258,275 (4,733)
Effect of exchange rate changes on cash and cash equivalents and restricted cash 13 (80)
Net increase in cash, cash equivalents, and restricted cash 297,003 8,091
Cash, cash equivalents, and restricted cash - Beginning of period 33,395 11,342
Cash, cash equivalents, and restricted cash - End of period 330,398 19,433
Supplemental cash flow information:    
Cash paid for taxes 3,305 7,777
Cash paid for interest 525 1,654
Non-cash investing and financing activities:    
Conversion of Series A preferred stock to common stock in connection with the initial public offering 610  
Treasury stock reissued upon the conversion of Series A preferred stock to common stock 260,686  
Acquisition of equipment under capital lease 1,518 973
Capital assets financed by accounts payable   76
Offering costs included in accounts payable and accrued expense 89 100
Leiki    
Financing activities:    
Deferred payment related to acquisition   (2,033)
Zentrick    
Financing activities:    
Deferred payment related to acquisition $ (50) $ (50)
XML 18 R7.htm IDEA: XBRL DOCUMENT v3.21.2
CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS - Reconciliation of Cashflows - USD ($)
$ in Thousands
Jun. 30, 2021
Jun. 30, 2020
CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS    
Cash and cash equivalents $ 330,355 $ 19,038
Restricted cash (included in prepaid expenses and other current assets on the Condensed Consolidated Balance Sheets) 43 395
Total cash and cash equivalents and restricted cash $ 330,398 $ 19,433
XML 19 R8.htm IDEA: XBRL DOCUMENT v3.21.2
Description of Business
6 Months Ended
Jun. 30, 2021
Description of Business  
Description of Business

1.    Description of Business

DoubleVerify is a software platform for digital media measurement, data and analytics. The Company’s solutions provide advertisers with a single measure of digital ad quality and effectiveness, the DV Authentic Ad, which ensures that a digital ad was delivered in a brand-safe environment, fully viewable, by a real person and in the intended geography. The Company’s software interface, DV Pinnacle, provides customers with access to data on all of their digital ads and enables them to make changes to their ad strategies on a real-time basis. The Company’s software solutions are integrated across the entire digital advertising ecosystem, including programmatic platforms, Connected TV (“CTV”), social media channels and digital publishers. The Company’s solutions are accredited by the Media Rating Council, which allows the Company’s data to be used as a single-source standard in the evaluation and measurement of digital ads.

The Company was incorporated on August 16, 2017, is registered in the state of Delaware and is the parent company of DoubleVerify Midco, Inc. (“MidCo”), which is in turn the parent company of DoubleVerify Inc.  On August 18, 2017, DoubleVerify Inc. entered into an agreement and plan of merger (the “Agreement”), whereby the Company, formerly known as Pixel Group Holdings, Inc. and Pixel Merger Sub, Inc. (“Merger Sub”), a wholly owned subsidiary of the Company, agreed to provide for the merger of the Merger Sub with DoubleVerify Inc. pursuant to the terms and conditions of the Agreement.

On the effective date, Merger Sub was merged with and into DoubleVerify Inc. whereupon the separate corporate existence of Merger Sub ceased and DoubleVerify Inc. continued as the surviving corporation.

Through the merger, the Company acquired 100% of the outstanding equity instruments of DoubleVerify Inc. resulting in a change of control at the parent level.  The merger resulted in the application of acquisition accounting under the provisions of Financial Accounting Standards Board (“FASB”) Topic Accounting Standards Codification (“ASC”) 805, Business Combinations.

The Company has wholly owned subsidiaries in numerous jurisdictions including Israel, the United Kingdom, Germany, Singapore, Australia, Canada, Brazil, Belgium, Mexico, France, Japan, Spain, and Finland, and operates in one reportable segment.

On April 23 2021, the Company completed an initial public offering of its common stock (“IPO”). See Footnote 12, Stockholders’ Equity.    

XML 20 R9.htm IDEA: XBRL DOCUMENT v3.21.2
Basis of Presentation and Summary of Significant Accounting Policies
6 Months Ended
Jun. 30, 2021
Basis of Presentation and Summary of Significant Accounting Policies  
Basis of Presentation and Summary of Significant Accounting Policies

2.     Basis of Presentation and Summary of Significant Accounting Policies

Basis of Preparation and Principles of Consolidation

The accompanying Condensed Consolidated Balance Sheets as of June 30, 2021 and December 31, 2020, the Condensed Consolidated Statements of Operations and Comprehensive (Loss) Income for the three and six months ended June 30, 2021 and 2020, the Condensed Consolidated Statements of Stockholders’ Equity for the three and six months ended June 30, 2021 and 2020, and the Condensed Consolidated Statements of Cash Flows for the six months ended June 30, 2021 and 2020 reflect all adjustments that are of a normal recurring nature and that are considered necessary for a fair presentation of the results for the periods shown in accordance with accounting principles generally accepted in the United States of America (“GAAP”) and the applicable rules and regulations of the SEC for interim financial reporting periods. Accordingly, certain information and footnote disclosures have been condensed or omitted pursuant to SEC rules that would ordinarily be required under GAAP for complete financial statements. These unaudited interim Condensed Consolidated Financial Statements should be read in conjunction with the audited Consolidated Financial Statements as of December 31, 2020 and 2019 and for the years then ended and the accompanying notes thereto included in the Company’s Prospectus.

On March 29, 2021, the Company effected a 1-for-3 reverse stock split (‘‘reverse stock split’’) of its outstanding common stock, par value $0.001 per share (“common stock”), and a proportional adjustment to the existing conversion ratio of its then-outstanding Series A Preferred Stock, par value $0.01 per share (“preferred stock”). Accordingly, all share and per share amounts for all periods presented in these Condensed Consolidated Financial Statements and notes thereto, have been adjusted retrospectively, where applicable, to reflect this reverse stock split.

Use of Estimates and Judgments in the Preparation of the Condensed Consolidated Financial Statements

The preparation of financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and the reported amounts of revenue and expense during the reporting periods. Significant estimates and judgments are inherent in the analysis and measurement of items include, but not limited to: revenue recognition criteria including the determination of principal versus agent revenue considerations, income taxes, the valuation and recoverability of goodwill and intangible assets, the assessment of potential loss from contingencies, the allowance for doubtful accounts, and assumptions used in determining the fair value of stock-based compensation. Management bases its estimates and assumptions on historical experience and on various other factors that are believed to be reasonable under the circumstances. Due to the inherent uncertainty involved in making estimates, actual results reported in future periods may be affected by changes in those estimates. These estimates are based on the information available as of the date of the Condensed Consolidated Financial Statements.

Recently Issued Accounting Pronouncements

The Company is an emerging growth company, as defined in the Jumpstart Our Business Startups Act (“JOBS Act”). Under the JOBS Act, emerging growth companies can delay adopting new or revised accounting standards issued subsequent to the enactment of the JOBS Act until such time as those standards apply to private companies. The Company has elected to use this extended transition period for complying with certain new or revised accounting standards.

Financial Instruments - Credit Losses    

In June 2016, the FASB issued ASU No. 2016-13, Financial Instruments-Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments (“ASU 2016-13”), which is intended to provide more decision-useful information about expected credit losses on financial instruments and other commitments to extend credit held by a reporting entity at each reporting date. ASU 2016-13 revises the impairment model to utilize an expected loss methodology in place of the currently used incurred loss methodology, which will result in more timely recognition of losses on financial instruments, including, but not limited to accounts receivable. This guidance is effective for annual reporting periods beginning after December 15, 2022 for non-public entities, including interim periods within that reporting period. Early adoption is permitted and the update allows for a modified retrospective method of adoption. The Company is currently in process of evaluating the impact of this standard on the Company’s Condensed Consolidated Financial Statements.  

Cloud Computing    

In August 2018, the FASB issued ASU No. 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 (“ASU 2018-15”). This update was issued to align the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain internal-use software (and hosting arrangements that include an internal-use software license). The amendments in ASU 2018-15 are effective for annual periods beginning after December 15, 2020 for non-public entities, and interim periods within annual periods beginning after December 15, 2021. The update allows for a retrospective or prospective method of adoption. The Company is currently in process of evaluating the impact of this standard on the Company’s Condensed Consolidated Financial Statements.

Leases

In February 2016, the FASB issued ASU No. 2016-02, Leases Topic 842 (“ASU 2016-02”). The guidance in ASU 2016-02 supersedes the lease recognition requirements in ASC 840, Leases. ASU 2016-02 requires an entity to recognize assets and liabilities arising from a lease for both financing and operating leases, along with additional qualitative and quantitative disclosures. In July 2018, FASB issued ASU No. 2018-10, Codification Improvements to Topic 842, Leases, ("ASU No. 2018-10") to further clarify, correct and consolidate various areas previously discussed in ASU 2016-02. FASB also issued ASU No. 2018-11, Leases: Targeted Improvements ("ASU 2018-11") to provide entities another option for transition and lessors with a practical expedient. The transition option allows entities to not apply ASU No. 2016-02 in comparative periods in the financial statements in the year of adoption. The amendments in ASU No. 2016-02, ASU No. 2018-10 and ASU No. 2018-11 are effective for fiscal years beginning after December 15, 2021 for non-public entities and interim periods within fiscal years beginning after December 15, 2022, with early adoption permitted. The Company is currently in process of evaluating the impact of this standard on the Company’s Condensed Consolidated Financial Statements.

Simplifying the Accounting for Income Taxes

In December 2019, the FASB issued ASU No. 2019-12, Simplifying the Accounting for Income Taxes (Topic 740) (“ASU 2019-12”). ASU 2019-12 issued guidance on the accounting for income taxes that, among other provisions, eliminates certain exceptions to existing guidance related to the approach for intra-period tax allocation, the methodology for calculating income taxes in an interim period and the recognition of deferred tax liabilities for outside basis differences. This guidance also requires an entity to reflect the effect of an enacted change in tax laws or rates in its effective income tax rate in the first interim period that includes the enactment date of the new legislation, aligning the timing of recognition of the effects from enacted tax law changes on the effective income tax rate with the effects on deferred income tax assets and liabilities. Under existing guidance, an entity recognizes the effects of the enacted tax law change on the effective income tax rate in the period that includes the effective date of the tax law. For non-public entities, the amendments are effective for fiscal years beginning after December 15, 2021, and interim periods within fiscal years beginning after December 15, 2022. Early adoption is permitted. Certain amendments included in the update allows for a retrospective, modified retrospective, or prospective methods of adoption. The adoption of this guidance is not expected to have a material impact on the Company’s Condensed Consolidated Financial Statements.

XML 21 R10.htm IDEA: XBRL DOCUMENT v3.21.2
Revenue
6 Months Ended
Jun. 30, 2021
Revenue  
Revenue

3.     Revenue

The following table disaggregates revenue between advertiser customers, where revenue is generated based on number of ads measured for Direct or measured and purchased for Programmatic, and supply-side customers, where revenue is generated based on contracts with minimum guarantees or contracts that contain overages after minimum guarantees are achieved.

Disaggregated revenue by customer type is as follows:

Three Months Ended

    

Six Months Ended

June 30, 

June 30, 

(in thousands)

    

2021

    

2020

    

2021

    

2020

Advertiser - direct

$

31,662

$

23,707

$

59,203

$

45,894

Advertiser - programmatic

 

37,880

 

24,128

 

71,792

 

47,979

Supply-side customer

 

6,982

 

5,185

 

13,115

 

10,366

Total revenue

$

76,524

$

53,020

$

144,110

$

104,239

Contract assets relate to the Company’s conditional right to consideration for completed performance under the contract (e.g., unbilled receivables). Trade receivables, net of allowance for doubtful accounts, include unbilled receivable balances of $26.6 million and $44.9 million as of June 30, 2021 and December 31, 2020, respectively.

XML 22 R11.htm IDEA: XBRL DOCUMENT v3.21.2
Business Combinations
6 Months Ended
Jun. 30, 2021
Business Combinations  
Business Combinations

4.    Business Combinations

On February 15, 2019, the Company acquired all of the outstanding stock of Zentrick NV (“Zentrick”). Zentrick, headquartered in Ghent, Belgium is a digital video technology company that provides middleware solutions that increase the performance of online video advertising for brand advertisers, advertising platforms and publishers. This acquisition integrates technology into the Company’s suite of products related to advertising viewability specifically on video formats, a growing segment of the advertising market and critical for the delivery of verification services to social platforms and CTV. The aggregate purchase price consists of 1) $23.2 million paid in cash at closing, which excluded closing adjustments of approximately $0.2 million paid in April 2019 2) $0.1 million in holdback payment of which 50% was payable 12 months after the closing date, and the remaining 50% was payable 24 months after the closing date and 3) up to $17.3 million of performance-based deferred payments that comprises two components. The first component has a $4.0 million maximum payment related to four milestone tranches of $1.0 million each based on achievement of certain product milestones (“technical milestones”). The second component has a total maximum payment of $13.0 million and varies based upon certain revenue targets in fiscal 2019, 2020, and 2021 (“revenue targets”).

Under the terms of the deferred payment, a portion of the technical milestones and revenue targets have been accounted at fair value as contingent consideration in the business combination with the remaining portion being accounted for as compensation expense under ASC 710, Compensation - General.

As of June 30, 2021, the technical milestone and revenue target components of the contingent consideration had a fair value of $1.2 million and $0.5 million, respectively, and is recorded in Contingent Considerations Current in the Condensed Consolidated Balance Sheets. The Company recorded a $0.1 million unrealized loss for the change in fair value in the Condensed Consolidated Statement of Operations and Comprehensive (Loss) Income for the three and six months ended June 30, 2021, respectively. The Company recorded a $0.1 million unrealized loss and $0.9 million unrealized gain for the change in fair value in the Condensed Consolidated Statement of Operations and Comprehensive (Loss) Income for the three and six months ended June 30, 2020, respectively.

As of June 30, 2021, the technical milestone and revenue target components treated as compensation cost total $1.1 million included in Other Current Liabilities in the Condensed Consolidated Balance Sheets. $0.1 million and less than $0.1 million were charged to the Condensed Consolidated Statements of Operations and Comprehensive (Loss) Income for the three and six months ended June 30, 2021, respectively. Less than $0.1 million and $0.2 million were charged to the Condensed Consolidated Statements of Operations and Comprehensive (Loss) Income for the three and six months ended June 30, 2020, respectively.

XML 23 R12.htm IDEA: XBRL DOCUMENT v3.21.2
Goodwill and Intangible Assets
6 Months Ended
Jun. 30, 2021
Goodwill and Intangible Assets  
Goodwill and Intangible Assets

5.    Goodwill and Intangible Assets

There were no changes to the goodwill carrying value from December 31, 2020 through June 30, 2021. The foreign exchange impact on goodwill was immaterial for the period.

The following table summarizes the Company’s intangible assets and related accumulated amortization:

(in thousands)

June 30, 2021

    

December 31, 2020

Gross Carrying

Accumulated

Net Carrying

Gross Carrying

Accumulated

Net Carrying

    

Amount

    

Amortization

    

Amount

    

Amount

    

Amortization

    

Amount

Trademarks and brands

11,690

(2,985)

8,705

11,690

(2,562)

9,128

Customer relationships

 

102,220

 

(32,006)

 

70,214

 

102,220

 

(27,720)

 

74,500

Developed technology

 

63,205

 

(29,344)

 

33,861

 

63,210

 

(25,128)

 

38,082

Total intangible assets

$

177,115

$

(64,335)

$

112,780

$

177,120

$

(55,410)

$

121,710

Amortization expense for three months ended June 30, 2021 and June 30, 2020 is $4.4 million and $4.5 million, respectively. Amortization expense related to intangible assets amounted to $8.9 million and $9.0 million for the six months ended June 30, 2021 and June 30, 2020, respectively.

Estimated future expected amortization expense of intangible assets as of June 30, 2021, is as follows:

(in thousands)

    

    

2021

$

8,930

2022

17,860

2023

17,825

2024

16,205

2025

14,273

2026

9,777

Thereafter

 

27,910

Total

$

112,780

The weighted-average remaining useful life by major asset classes as of June 30, 2021 is as follows:

    

(In years)

Trademarks and brands

 

11

Customer relationships

 

8

Developed technology

 

4

There were no impairments identified during the six months ended June 30, 2021 or June 30, 2020.

XML 24 R13.htm IDEA: XBRL DOCUMENT v3.21.2
Property, Plant and Equipment
6 Months Ended
Jun. 30, 2021
Property, Plant and Equipment  
Property, Plant and Equipment

6.     Property, Plant and Equipment

Property, plant and equipment, including equipment under capital lease obligations and capitalized software development costs, consists of the following:

As of

(in thousands)

June 30, 2021

December 31, 2020

Computers and peripheral equipment

    

$

16,695

    

$

14,577

Office furniture and equipment

 

1,115

 

1,124

Leasehold improvements

 

9,266

 

9,267

Capitalized software development costs

 

11,247

 

8,382

Less accumulated depreciation and amortization

 

(20,751)

 

(15,243)

Total property, plant and equipment, net

$

17,572

$

18,107

For the three months ended June 30, 2021 and 2020, total depreciation expense was $3.0 million and $1.7 million, respectively. For the six months ended June 30, 2021 and 2020, total depreciation expense was $5.6 million and $3.1 million, respectively.

Property and equipment financed through capital lease obligations, consisting of computer equipment, totaled $12.3 million and $10.7 million on June 30, 2021 and December 31, 2020, respectively. As of June 30, 2021 and December 31, 2020, accumulated depreciation related to property and equipment financed through capital leases totaled $8.9 million and $7.6 million, respectively. Refer to Note 13, Commitments and Contingencies.

XML 25 R14.htm IDEA: XBRL DOCUMENT v3.21.2
Fair Value Measurement
6 Months Ended
Jun. 30, 2021
Fair Value Measurement  
Fair Value Measurement

7.     Fair Value Measurement

The following tables present the Company’s financial instruments that are measured at fair value on a recurring basis:

As of June 30, 2021

Quoted Market

Prices in Active

Significant

(in thousands)

Markets for

Significant Other

Unobservable

Identical Assets

Observable Inputs

Inputs

Total Fair Value

(Level 1)

(Level 2)

(Level 3)

Measurements

Assets:

    

  

    

  

    

  

    

  

Cash equivalents:

$

9,808

9,808

Liabilities:

Contingent consideration current

 

1,717

 

1,717

Contingent consideration non-current

 

 

Total contingent consideration

$

$

$

1,717

$

1,717

As of December 31, 2020

Quoted Market

 

Prices in Active

Significant

(in thousands)

Markets for

Significant Other

Unobservable

 

Identical Assets

 

Observable Inputs

Inputs

Tota1 Fair Value

(Level 1)

(Level 2)

 

(Level 3)

Measurements

Assets:

    

 

  

    

 

  

    

 

  

    

 

  

Cash equivalents:

 

$

2,474

 

$

 

$

 

$

2,474

Liabilities:

Contingent consideration current

1,198

1,198

Contingent consideration non-current

 

462

 

462

Total contingent consideration

$

 

$

 

$

1,660

 

$

1,660

 

Cash equivalents consisting of money market funds of $9.8 million and money market funds and time deposits of $2.5 million as of June 30, 2021 and December 31, 2020, respectively, were classified as Level 1 of the fair value hierarchy and valued using quoted market prices in active markets.

Contingent consideration relates to potential payments that the Company may be required to make associated with a business combination. To the extent that the valuations of these liabilities are based on inputs that are less observable or not observable in the market, the determination of fair value requires more judgment. Accordingly, the degree of judgment exercised in determining fair value is greatest for measures categorized in Level 3.

Rollforward of the fair value measurements of the contingent consideration categorized with Level 3 inputs as of June 30, 2021 is as follows:

(in thousands)

Balance at January 1, 2021

$

1,660

Fair value adjustments

 

57

Payments during the year

 

Balance at June 30, 2021

$

1,717

The fair value of the component of contingent consideration related to achievement of revenue targets have been estimated using a Monte Carlo model to simulate future performance of the acquired business under a risk-neutral framework; significant assumptions include a risk-adjusted discount rate of 13.5% and revenue volatility of 29.0%. The fair value of the component of contingent consideration related to achievement of four technical milestones have been estimated using situation-based modeling, which considers the probability-weighted present value of the expected payout amount.

XML 26 R15.htm IDEA: XBRL DOCUMENT v3.21.2
Long-term Debt
6 Months Ended
Jun. 30, 2021
Long-term Debt.  
Long-term Debt

8.     Long-term Debt

On October 1, 2020, DoubleVerify Inc., as borrower (the “Borrower”), and MidCo, as guarantor, entered into an amendment and restatement agreement with the banks and other financial institutions party thereto, as lenders, and Capital One, National Association, as administrative agent, letter of credit issuer and swing lender, and others, to (i) amend and restate the Prior Credit Agreement as defined in the Prospectus (the Prior Credit Agreement, as amended and restated on October 1, 2020, the “Credit Agreement”) and (ii) replace the Prior Credit Facilities (as defined in the Prospectus) with a new senior secured revolving credit facility (the “New Revolving Credit Facility”) in an aggregate principal amount of $150.0 million (with a letter of credit facility of up to $15.0 million as a sublimit). Subject to certain terms and conditions, the Borrower is entitled to request additional term loan facilities or increases in the revolving credit commitments under the New Revolving Credit Facility. The New Revolving Credit Facility is payable in quarterly installments for interest, with the principal balance due in full at maturity on October 1, 2025. Additional fees paid quarterly include fees for the unused revolving facility and unused letter of credit. The commitment fee on any unused balance is payable periodically and may range from 0.25% to 0.40% based upon the total net leverage ratio. The New Revolving Credit Facility bears interest at LIBOR plus 2.25%. which may vary from time to time based on the Borrower’s total net leverage ratio calculated in accordance with the Credit Agreement.  

The New Revolving Credit Facility contains a number of significant negative covenants. Subject to certain exceptions, these covenants require the Borrower to comply with certain requirements and restrictions to, among other things: incur indebtedness; create liens; engage in mergers or consolidations; make investments, loans and advances; pay dividends or other distributions and repurchase capital stock; sell assets; engage in certain transactions with affiliates; enter into sale and leaseback transactions; and make certain accounting changes. As a result of these restrictions, substantially all of the net assets of the Borrower are restricted from distribution to the Company or any of its holders of equity.  

The New Revolving Credit Facility has a first priority lien on substantially all of the assets of MidCo, the Borrower and Ad-Juster, Inc., the Company’s indirect subsidiary. The New Revolving Credit Facility requires the Borrower to remain in compliance with a maximum total net leverage ratio and a minimum fixed charge coverage ratio as defined in the Credit Agreement.

As of June 30, 2021, the maximum total net leverage ratio and minimum fixed charge coverage ratio is 3.5x and 1.25x, respectively. The Borrower is in compliance with all covenants under the New Revolving Credit Facility as of June 30, 2021.

On April 30, 2021 the Company used a portion of the proceeds from the IPO and the concurrent private placement to pay the outstanding balance. As of June 30, 2021 and December 31, 2020, there was zero balance outstanding and $22.0 million outstanding under the New Revolving Credit Facility, respectively.

XML 27 R16.htm IDEA: XBRL DOCUMENT v3.21.2
Income Tax
6 Months Ended
Jun. 30, 2021
Income Tax  
Income Tax

9.     Income Tax

The Company’s quarterly income tax provision is calculated using an estimated annual effective income tax rate ("ETR") based on actual historical information and forward-looking estimates. The Company’s estimated annual ETR may fluctuate due to changes in forecasted annual pre-tax income, changes in the jurisdictional mix of forecasted pre-tax income, and changes to actual or forecasted permanent book to tax differences (e.g., non-deductible expenses). In addition, the Company’s ETR for a particular reporting period may fluctuate as the result of changes to the valuation allowance for net deferred tax assets, the impact of anticipated tax settlements with federal, state, or foreign tax authorities, or the impact of tax law changes. The Company identifies items that are unusual and non-recurring in nature and treat these as discrete events. The tax effect of these discrete events is booked entirely in the quarter in which they occur.

During the three and six months ended June 30, 2021, the Company recorded an income tax provision of $2.3 million and $5.1 million, respectively, resulting in an effective tax rate of (22.4%) and (277.5%), which includes an annualized effective tax benefit of $3.1 million and $0.5 million (representing an effective tax rate of 29.7% and 29.9%) and discrete items relating primarily to transaction costs and state tax refunds of $5.4 million and $5.6 million (representing an effective tax rate of (52.1%) and (307.4%)), respectively. During the three and six months ended June 30, 2020, the Company recorded an income tax provision of $2.0 million and $3.4 million, respectively, resulting in an effective tax rate of 33.0% and 34.0%. These effective tax rates differ from the U.S. federal statutory rate primarily due to the effects of differing treatment of transaction costs between book and tax, foreign tax rate differences, U.S. tax on foreign operations, and U.S. state/local taxes.

The COVID-19 (as defined herein) pandemic has a global reach, and many countries are introducing measures that provide relief to taxpayers in a variety of ways. In March 2020, the U.S. government enacted tax legislation containing provisions to support businesses during the COVID-19 pandemic (the “CARES Act”), including deferment of the employer portion of certain payroll taxes, refundable payroll tax credits, and technical amendments to tax depreciation methods for qualified improvement property. The CARES Act did not have a material impact on the Company’s income tax provision for the three and six months ended June 30, 2021.

A valuation allowance has been established against a small amount of certain net foreign deferred tax assets and US tax loss carryforward. All other net deferred tax assets have been determined to be more likely than not realizable.

The Company and its subsidiaries file income tax returns with the Internal Revenue Service (“IRS”) and various state and international jurisdictions. The Company’s Israeli subsidiary is under audit by the Israeli Tax Authority for the 2016-2018 tax years. This examination may lead to ordinary course adjustments or proposed adjustments to the Company’s taxes. Aside from this, the Company is not currently under audit in any other jurisdiction.

XML 28 R17.htm IDEA: XBRL DOCUMENT v3.21.2
(Loss) Earnings Per Share
6 Months Ended
Jun. 30, 2021
(Loss) Earnings Per Share  
(Loss) Earnings Per Share

10.   (Loss) Earnings Per Share

The following table reconciles the numerators and denominators used in computations of the basic and diluted EPS for the three and six months ended June 30:

Three Months Ended

Six Months Ended

June 30, 

June 30, 

2021

2020

2021

2020

Numerator:

    

  

    

  

    

Net (Loss) income (basic and diluted)

$

(12,568)

$

4,078

$

(6,924)

$

6,518

Denominator:

 

 

 

 

Weighted-average common shares outstanding

 

149,596

 

139,756

 

137,355

 

139,748

Dilutive effect of share-based awards

 

 

6,785

 

 

7,179

Weighted-average dilutive shares outstanding

 

149,596

 

146,541

 

137,355

 

146,927

Basic (loss) earnings per share

$

(0.08)

$

0.03

$

(0.05)

$

0.05

Diluted (loss) earnings per share

$

(0.08)

$

0.03

$

(0.05)

$

0.04

As the Company has reported net loss for the three and six months ended June 30, 2021, all potentially dilutive securities are antidilutive. Approximately 16.3 million, and 16.4 million weighted average shares issuable under stock-based awards were not included in the diluted EPS calculation in the three and six months ended June 30, 2021 because they were antidilutive. Approximately 6.6 million, and 6.7 million weighted average shares issuable under stock-based awards were not included in the diluted EPS calculation in the three and six months ended June 30, 2020 because they were also antidilutive.

XML 29 R18.htm IDEA: XBRL DOCUMENT v3.21.2
Stock-Based Compensation
6 Months Ended
Jun. 30, 2021
Stock-Based Compensation  
Stock-Based Compensation

11.   Stock-Based Compensation

Employee Equity Incentive Plan

On September 20, 2017, the Company established its 2017 Omnibus Equity Incentive Program (the “2017 Plan”) which provides for the granting of equity based awards to certain employees, directors, independent contractors, consultants and agents. Under the 2017 Plan, the Company may grant non-qualified stock options, stock appreciation rights, restricted stock units, and other stock-based awards up to 22,182 shares of common stock.

On April 19, 2021 the Company established its 2021 Omnibus Equity Incentive Plan (“2021 Equity Plan”). The maximum number of shares of common stock available for issuance under the 2021 Equity Plan is equal to the sum of (i) 30,000 shares of common stock and (ii) an annual increase on the first day of each year beginning in 2022 and ending in and including 2031, equal to the lesser of (A) five percent (5%) of the outstanding shares of common stock on the last day of the immediately preceding fiscal year and (B) such lesser amount as determined by the Board’s compensation committee. The 2021 Equity Plan provides for the grant of stock options (including qualified incentive stock options and nonqualified stock options), stock appreciation rights, restricted stock, restricted stock units, dividend equivalents, and other stock or cash settled incentive awards. Any shares covered by an award, or portion of an award, granted under the 2021 Equity Plan that expires or is forfeited, canceled, cash-settled, or otherwise terminated for any reason will again be available for the grant of awards under the 2021 Equity Plan.

Options become exercisable subject to vesting schedules up to four years from the date of the grant and subject to certain timing restrictions upon an employee’s separation of service and no later than 10 years after the grant date.

Restricted stock units are subject to vesting schedules up to four years from the date of the grant and subject to certain timing restrictions upon an employee’s separation.

A summary of stock option activity as of and for the six-months ended June 30, 2021 and December 31, 2020 is as follows:

Stock Option

Weighted Average

Remaining

Number of

Weighted Average

Contractual Life

Aggregate

Options

Exercise Price

(Years)

Intrinsic Value

Outstanding as of December 31, 2020

    

14,713

4.47

7.79

181,914

Options granted

 

598

22.12

Options exercised

 

(1,078)

3.35

Options forfeited

 

(189)

6.47

Outstanding as of June 30, 2021

 

14,044

$

5.29

 

7.45

 

$

520,634

Options expected to vest as of June 30, 2021

 

3,818

$

9.72

 

 

$

124,523

Options exercisable as of June 30, 2021

 

6,483

$

3.62

 

 

$

251,007

Stock options include grants to executives that contain both market-based and performance-based vesting conditions. There were no stock options granted that contain both market-based and performance-based vesting conditions during the six months ended June 30, 2021. As of June 30, 2021, 3,433 market-based and performance-based awards were outstanding. As of June 30, 2021, the Company did not consider the performance condition to be probable and did not recognize any expense associated with these options.

The weighted average grant date fair value of options granted during the six months ended June 30, 2021 and 2020 was $9.23 and $2.65, respectively. The total intrinsic value of options exercised during the six months ended June 30, 2021 and 2020 was $30.4 million and $0.3 million, respectively.

The fair market value of each option granted during the six months ended June 30, 2021 has been estimated on the grant date using the Black-Scholes-Merton option-pricing model with the following assumptions:

2021

Risk - free interest rate (percentage)

 

0.6. - 1.1

Expected term (years)

 

6.1

Expected dividend yield (percentage)

 

Expected volatility (percentage)

 

42.1 - 43.6

The Company’s board of directors (the “Board”) did not declare or pay dividends of the Company’s common or preferred stock during the six months ended June 30, 2021 or during the six months ended June 30, 2020.

A summary of restricted stock unit activity as of and for the six months ended June 30, 2021 and December 31, 2020 is as follows:

    

Restricted Stock

Number of

Weighted Average

Shares

Grant Date Fair Value

Outstanding as of December 31, 2020

1,261

$

7.74

Granted

 

576

 

21.30

Vested

 

(217)

 

10.26

Forfeited

 

 

  

Outstanding as of June 30, 2021

 

1,620

$

12.23

Expected to vest as of June 30, 2021

 

1,486

 

  

The total grant date fair value of restricted stock units that vested during the six months ended June 30, 2021 was $2.2 million.

As of June 30, 2021, unrecognized stock-based compensation expense was $24.6 million, which is expected to be recognized over a weighted-average period of 1.4 years.

Total stock-based compensation expense recorded in the Condensed Consolidated Statements of Operations and Comprehensive (Loss) Income as follows:

Three Months Ended

Six Months Ended

June 30, 

June 30, 

(in thousands)

 

2021

 

2020

 

2021

 

2020

Product development

 

436

 

152

$

714

$

253

Sales, marketing and customer support

 

1,696

 

392

 

2,320

 

564

General and administrative

 

2,582

 

596

 

4,218

 

1,125

Total stock-based compensation

$

4,714

$

1,140

$

7,252

$

1,942

XML 30 R19.htm IDEA: XBRL DOCUMENT v3.21.2
Stockholders' Equity
6 Months Ended
Jun. 30, 2021
Stockholders' Equity  
Stockholders' Equity

12. Stockholders’ Equity

On April 9, 2021, the Company entered into an arrangement with an affiliate of Tiger Global Management, LLC (the ‘‘Tiger Investor’’) whereby the Tiger Investor purchased $30.0 million of the Company’s common stock in a private placement (‘‘concurrent private placement’’) concurrent with the completion of the IPO. The price per share was equal to the IPO price of $27.00, for a total of 1,111 shares. The Company received total aggregate net proceeds of $29.0 million, after deducting underwriting fees of $1.0 million.

On April 23, 2021, the Company completed its IPO in which the Company issued and sold 9,977 shares of common stock at a public offering price of $27.00 per share, which included the full exercise of the underwriters’ option to purchase 1,350 additional shares of common stock. The Company received aggregate net proceeds of $253.2 million from the IPO, after deducting underwriting discount fees of $16.2 million. The Company incurred offering costs of approximately $26.8 million for the concurrent private placement and IPO, of which $18.7 million and $21.8 million were included in General and Administrative expenses in the Condensed Consolidated Statement of Operations and Comprehensive (Loss) Income for the three and six months ended June 30, 2021, respectively. The IPO offering also included 5,356 shares sold by Providence VII U.S. Holdings L.P. (“Providence”) and other existing stockholders, which included the full exercise of the underwriters’ option to purchase 650 additional shares from Providence, in which the Company did not receive any proceeds from the shares sold.

In connection with the Company’s IPO, all shares of the Company’s outstanding preferred stock automatically converted into 20,335 shares of common stock on a one for one-third basis. The Company’s treasury stock, consisting of 15,146 shares of common stock, was reissued in the preferred stock conversion.

In conjunction with the IPO, the Company increased the authorized shares of its capital stock. The Company’s capital stock consists of 1,000,000 shares of common stock, par value $0.001 per share and 100,000 shares of undesignated preferred stock, par value $0.01 per share. Further, the Company amended and restated its existing amended and restated certificate of incorporation and its existing bylaws of the Company, as previously reported in the Prospectus, which incorporates material modifications to rights of security holders.

XML 31 R20.htm IDEA: XBRL DOCUMENT v3.21.2
Commitments and Contingencies
6 Months Ended
Jun. 30, 2021
Commitments and Contingencies  
Commitments and Contingencies

13.   Commitments and Contingencies

Accrued Expense

Accrued expenses as of June 30, 2021 and December 31, 2020 were as follows:

    

As of

(in thousands)

June 30, 2021

    

December 31, 2020

Vendor payments

$

3,507

$

3,896

Employee commissions and bonuses

 

10,304

 

11,344

Payroll and other employee related expense

 

8,579

 

6,957

401k and pension expense

 

848

 

1,358

Other taxes

 

2,222

 

1,864

Total accrued expense

$

25,460

$

25,419

Operating Leases

The Company and its subsidiaries have entered into operating lease agreements for certain of its office space, and data centers. The offices are located in the United States, Israel, Belgium, Finland, France, Japan, and Singapore. The data centers are premises used to house computing and networking equipment. The data center leases are located within the United States, Netherlands, Germany and Singapore.

For the three months ended June 30, 2021 and June 30, 2020 office rent expense was $1.2 million and $1.5 million, respectively. For the six months ended June 30, 2021 and June 30, 2020 office rent expense was $2.1 million and $2.9 million, respectively.

For the three months ended June 30, 2021 and June 30, 2020 data center rent expense was $0.4 million and $0.3 million, respectively. For the six months ended June 30, 2021 and June 30, 2020 data center rent expense was $0.9 million and $0.6 million, respectively.

Future minimum lease obligations are as follows:

    

Year Ending

(in thousands)

December 31, 

2021

$

2,848

2022

 

4,778

2023

 

4,211

2024

 

563

$

12,400

Capital Leases

As of June 30, 2021, the Company had seven lease agreements for certain equipment which provide for the transfer of ownership at the end of the lease term or are for underlying assets that will have an insignificant fair value at the end of the lease term. The Company has classified these agreements as capital leases and recognized the corresponding assets and liabilities within the Condensed Consolidated Balance Sheet.

The following is a schedule of future minimum lease payments under these agreements (including interest) as of June 30, 2021.

    

Year Ending

(in thousands)

December 31, 

2021

$

1,109

2022

 

2,144

2023

 

1,937

2024

 

598

2025

 

170

Total

 

5,958

Less: Amount representing interest

 

(319)

Present Value of net minimum capital lease payments

$

5,639

Capital leases short term

$

2,021

Capital leases long term

 

3,618

Total

$

5,639

Contingencies

From time to time, the Company is subject to various legal proceedings and claims, either asserted or unasserted, that arise in the ordinary course of business. The Company records liabilities for contingencies including legal costs when it is probable that a liability has been incurred and when the amount can be reasonably estimated. Legal costs are expensed as incurred. Although the outcome of the various legal proceedings and claims cannot be predicted with certainty, management does not believe that any of these proceedings or other claims will have a material effect on the Company’s business, financial condition, results of operations or cash flows.

XML 32 R21.htm IDEA: XBRL DOCUMENT v3.21.2
Segment Information
6 Months Ended
Jun. 30, 2021
Segment Information  
Segment Information

14.    Segment Information

The Company has determined that it operates as one operating and reportable segment. The Company’s chief operating decision maker reviews financial information on a consolidated basis, together with certain operating and performance measures principally to make decisions about how to allocate resources and measure performance.

The Company has not disclosed certain geographic information pertaining to revenues and total assets as it is impracticable to disclose, is not utilized by the Company’s chief operating decision maker to review operating results or make decisions about how to allocate resources, and would not be useful to users of the Condensed Consolidated Financial Statements to disclose such information.

XML 33 R22.htm IDEA: XBRL DOCUMENT v3.21.2
Subsequent Events
6 Months Ended
Jun. 30, 2021
Subsequent Events  
Subsequent Events

15.   Subsequent Events

On July 21, 2021, the Company approved 395 stock options and 427 restricted stock units to be granted under the 2021 Equity Plan and 140 stock options and 107 restricted stock units to be granted under the 2017 Equity Plan.

XML 34 R23.htm IDEA: XBRL DOCUMENT v3.21.2
Basis of Presentation and Summary of Significant Accounting Policies (Policies)
6 Months Ended
Jun. 30, 2021
Basis of Presentation and Summary of Significant Accounting Policies  
Basis of Preparation and Principles of Consolidation

Basis of Preparation and Principles of Consolidation

The accompanying Condensed Consolidated Balance Sheets as of June 30, 2021 and December 31, 2020, the Condensed Consolidated Statements of Operations and Comprehensive (Loss) Income for the three and six months ended June 30, 2021 and 2020, the Condensed Consolidated Statements of Stockholders’ Equity for the three and six months ended June 30, 2021 and 2020, and the Condensed Consolidated Statements of Cash Flows for the six months ended June 30, 2021 and 2020 reflect all adjustments that are of a normal recurring nature and that are considered necessary for a fair presentation of the results for the periods shown in accordance with accounting principles generally accepted in the United States of America (“GAAP”) and the applicable rules and regulations of the SEC for interim financial reporting periods. Accordingly, certain information and footnote disclosures have been condensed or omitted pursuant to SEC rules that would ordinarily be required under GAAP for complete financial statements. These unaudited interim Condensed Consolidated Financial Statements should be read in conjunction with the audited Consolidated Financial Statements as of December 31, 2020 and 2019 and for the years then ended and the accompanying notes thereto included in the Company’s Prospectus.

On March 29, 2021, the Company effected a 1-for-3 reverse stock split (‘‘reverse stock split’’) of its outstanding common stock, par value $0.001 per share (“common stock”), and a proportional adjustment to the existing conversion ratio of its then-outstanding Series A Preferred Stock, par value $0.01 per share (“preferred stock”). Accordingly, all share and per share amounts for all periods presented in these Condensed Consolidated Financial Statements and notes thereto, have been adjusted retrospectively, where applicable, to reflect this reverse stock split.

Use of Estimates and Judgments in the Preparation of the Condensed Consolidated Financial Statements

Use of Estimates and Judgments in the Preparation of the Condensed Consolidated Financial Statements

The preparation of financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and the reported amounts of revenue and expense during the reporting periods. Significant estimates and judgments are inherent in the analysis and measurement of items include, but not limited to: revenue recognition criteria including the determination of principal versus agent revenue considerations, income taxes, the valuation and recoverability of goodwill and intangible assets, the assessment of potential loss from contingencies, the allowance for doubtful accounts, and assumptions used in determining the fair value of stock-based compensation. Management bases its estimates and assumptions on historical experience and on various other factors that are believed to be reasonable under the circumstances. Due to the inherent uncertainty involved in making estimates, actual results reported in future periods may be affected by changes in those estimates. These estimates are based on the information available as of the date of the Condensed Consolidated Financial Statements.

Recently Issued Accounting Pronouncements

Recently Issued Accounting Pronouncements

The Company is an emerging growth company, as defined in the Jumpstart Our Business Startups Act (“JOBS Act”). Under the JOBS Act, emerging growth companies can delay adopting new or revised accounting standards issued subsequent to the enactment of the JOBS Act until such time as those standards apply to private companies. The Company has elected to use this extended transition period for complying with certain new or revised accounting standards.

Financial Instruments - Credit Losses    

In June 2016, the FASB issued ASU No. 2016-13, Financial Instruments-Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments (“ASU 2016-13”), which is intended to provide more decision-useful information about expected credit losses on financial instruments and other commitments to extend credit held by a reporting entity at each reporting date. ASU 2016-13 revises the impairment model to utilize an expected loss methodology in place of the currently used incurred loss methodology, which will result in more timely recognition of losses on financial instruments, including, but not limited to accounts receivable. This guidance is effective for annual reporting periods beginning after December 15, 2022 for non-public entities, including interim periods within that reporting period. Early adoption is permitted and the update allows for a modified retrospective method of adoption. The Company is currently in process of evaluating the impact of this standard on the Company’s Condensed Consolidated Financial Statements.  

Cloud Computing    

In August 2018, the FASB issued ASU No. 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 (“ASU 2018-15”). This update was issued to align the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain internal-use software (and hosting arrangements that include an internal-use software license). The amendments in ASU 2018-15 are effective for annual periods beginning after December 15, 2020 for non-public entities, and interim periods within annual periods beginning after December 15, 2021. The update allows for a retrospective or prospective method of adoption. The Company is currently in process of evaluating the impact of this standard on the Company’s Condensed Consolidated Financial Statements.

Leases

In February 2016, the FASB issued ASU No. 2016-02, Leases Topic 842 (“ASU 2016-02”). The guidance in ASU 2016-02 supersedes the lease recognition requirements in ASC 840, Leases. ASU 2016-02 requires an entity to recognize assets and liabilities arising from a lease for both financing and operating leases, along with additional qualitative and quantitative disclosures. In July 2018, FASB issued ASU No. 2018-10, Codification Improvements to Topic 842, Leases, ("ASU No. 2018-10") to further clarify, correct and consolidate various areas previously discussed in ASU 2016-02. FASB also issued ASU No. 2018-11, Leases: Targeted Improvements ("ASU 2018-11") to provide entities another option for transition and lessors with a practical expedient. The transition option allows entities to not apply ASU No. 2016-02 in comparative periods in the financial statements in the year of adoption. The amendments in ASU No. 2016-02, ASU No. 2018-10 and ASU No. 2018-11 are effective for fiscal years beginning after December 15, 2021 for non-public entities and interim periods within fiscal years beginning after December 15, 2022, with early adoption permitted. The Company is currently in process of evaluating the impact of this standard on the Company’s Condensed Consolidated Financial Statements.

Simplifying the Accounting for Income Taxes

In December 2019, the FASB issued ASU No. 2019-12, Simplifying the Accounting for Income Taxes (Topic 740) (“ASU 2019-12”). ASU 2019-12 issued guidance on the accounting for income taxes that, among other provisions, eliminates certain exceptions to existing guidance related to the approach for intra-period tax allocation, the methodology for calculating income taxes in an interim period and the recognition of deferred tax liabilities for outside basis differences. This guidance also requires an entity to reflect the effect of an enacted change in tax laws or rates in its effective income tax rate in the first interim period that includes the enactment date of the new legislation, aligning the timing of recognition of the effects from enacted tax law changes on the effective income tax rate with the effects on deferred income tax assets and liabilities. Under existing guidance, an entity recognizes the effects of the enacted tax law change on the effective income tax rate in the period that includes the effective date of the tax law. For non-public entities, the amendments are effective for fiscal years beginning after December 15, 2021, and interim periods within fiscal years beginning after December 15, 2022. Early adoption is permitted. Certain amendments included in the update allows for a retrospective, modified retrospective, or prospective methods of adoption. The adoption of this guidance is not expected to have a material impact on the Company’s Condensed Consolidated Financial Statements.

XML 35 R24.htm IDEA: XBRL DOCUMENT v3.21.2
Revenue (Tables)
6 Months Ended
Jun. 30, 2021
Revenue  
Schedule of disaggregated revenue

Three Months Ended

    

Six Months Ended

June 30, 

June 30, 

(in thousands)

    

2021

    

2020

    

2021

    

2020

Advertiser - direct

$

31,662

$

23,707

$

59,203

$

45,894

Advertiser - programmatic

 

37,880

 

24,128

 

71,792

 

47,979

Supply-side customer

 

6,982

 

5,185

 

13,115

 

10,366

Total revenue

$

76,524

$

53,020

$

144,110

$

104,239

XML 36 R25.htm IDEA: XBRL DOCUMENT v3.21.2
Goodwill and Intangible Assets (Tables)
6 Months Ended
Jun. 30, 2021
Goodwill and Intangible Assets  
Schedule of intangible assets and related accumulated amortization

(in thousands)

June 30, 2021

    

December 31, 2020

Gross Carrying

Accumulated

Net Carrying

Gross Carrying

Accumulated

Net Carrying

    

Amount

    

Amortization

    

Amount

    

Amount

    

Amortization

    

Amount

Trademarks and brands

11,690

(2,985)

8,705

11,690

(2,562)

9,128

Customer relationships

 

102,220

 

(32,006)

 

70,214

 

102,220

 

(27,720)

 

74,500

Developed technology

 

63,205

 

(29,344)

 

33,861

 

63,210

 

(25,128)

 

38,082

Total intangible assets

$

177,115

$

(64,335)

$

112,780

$

177,120

$

(55,410)

$

121,710

    

(In years)

Trademarks and brands

 

11

Customer relationships

 

8

Developed technology

 

4

Schedule of Estimated future expected amortization expense of intangible assets

(in thousands)

    

    

2021

$

8,930

2022

17,860

2023

17,825

2024

16,205

2025

14,273

2026

9,777

Thereafter

 

27,910

Total

$

112,780

XML 37 R26.htm IDEA: XBRL DOCUMENT v3.21.2
Property, Plant and Equipment (Tables)
6 Months Ended
Jun. 30, 2021
Property, Plant and Equipment  
Schedule of Property, Plant and Equipment

As of

(in thousands)

June 30, 2021

December 31, 2020

Computers and peripheral equipment

    

$

16,695

    

$

14,577

Office furniture and equipment

 

1,115

 

1,124

Leasehold improvements

 

9,266

 

9,267

Capitalized software development costs

 

11,247

 

8,382

Less accumulated depreciation and amortization

 

(20,751)

 

(15,243)

Total property, plant and equipment, net

$

17,572

$

18,107

XML 38 R27.htm IDEA: XBRL DOCUMENT v3.21.2
Fair Value Measurement (Tables)
6 Months Ended
Jun. 30, 2021
Fair Value Measurement  
Schedule of financial instruments measured at fair value on recurring basis

As of June 30, 2021

Quoted Market

Prices in Active

Significant

(in thousands)

Markets for

Significant Other

Unobservable

Identical Assets

Observable Inputs

Inputs

Total Fair Value

(Level 1)

(Level 2)

(Level 3)

Measurements

Assets:

    

  

    

  

    

  

    

  

Cash equivalents:

$

9,808

9,808

Liabilities:

Contingent consideration current

 

1,717

 

1,717

Contingent consideration non-current

 

 

Total contingent consideration

$

$

$

1,717

$

1,717

As of December 31, 2020

Quoted Market

 

Prices in Active

Significant

(in thousands)

Markets for

Significant Other

Unobservable

 

Identical Assets

 

Observable Inputs

Inputs

Tota1 Fair Value

(Level 1)

(Level 2)

 

(Level 3)

Measurements

Assets:

    

 

  

    

 

  

    

 

  

    

 

  

Cash equivalents:

 

$

2,474

 

$

 

$

 

$

2,474

Liabilities:

Contingent consideration current

1,198

1,198

Contingent consideration non-current

 

462

 

462

Total contingent consideration

$

 

$

 

$

1,660

 

$

1,660

 

Schedule of rollforward of fair value measurements of contingent consideration

(in thousands)

Balance at January 1, 2021

$

1,660

Fair value adjustments

 

57

Payments during the year

 

Balance at June 30, 2021

$

1,717

XML 39 R28.htm IDEA: XBRL DOCUMENT v3.21.2
(Loss) Earnings Per Share (Tables)
6 Months Ended
Jun. 30, 2021
(Loss) Earnings Per Share  
Schedule of computations of the basic and diluted EPS

Three Months Ended

Six Months Ended

June 30, 

June 30, 

2021

2020

2021

2020

Numerator:

    

  

    

  

    

Net (Loss) income (basic and diluted)

$

(12,568)

$

4,078

$

(6,924)

$

6,518

Denominator:

 

 

 

 

Weighted-average common shares outstanding

 

149,596

 

139,756

 

137,355

 

139,748

Dilutive effect of share-based awards

 

 

6,785

 

 

7,179

Weighted-average dilutive shares outstanding

 

149,596

 

146,541

 

137,355

 

146,927

Basic (loss) earnings per share

$

(0.08)

$

0.03

$

(0.05)

$

0.05

Diluted (loss) earnings per share

$

(0.08)

$

0.03

$

(0.05)

$

0.04

XML 40 R29.htm IDEA: XBRL DOCUMENT v3.21.2
Stock-Based Compensation (Tables)
6 Months Ended
Jun. 30, 2021
Stock-Based Compensation  
Schedule of stock option activity

Stock Option

Weighted Average

Remaining

Number of

Weighted Average

Contractual Life

Aggregate

Options

Exercise Price

(Years)

Intrinsic Value

Outstanding as of December 31, 2020

    

14,713

4.47

7.79

181,914

Options granted

 

598

22.12

Options exercised

 

(1,078)

3.35

Options forfeited

 

(189)

6.47

Outstanding as of June 30, 2021

 

14,044

$

5.29

 

7.45

 

$

520,634

Options expected to vest as of June 30, 2021

 

3,818

$

9.72

 

 

$

124,523

Options exercisable as of June 30, 2021

 

6,483

$

3.62

 

 

$

251,007

Schedule of Black-Scholes-Merton option-pricing model

2021

Risk - free interest rate (percentage)

 

0.6. - 1.1

Expected term (years)

 

6.1

Expected dividend yield (percentage)

 

Expected volatility (percentage)

 

42.1 - 43.6

Schedule of restricted stock activity

    

Restricted Stock

Number of

Weighted Average

Shares

Grant Date Fair Value

Outstanding as of December 31, 2020

1,261

$

7.74

Granted

 

576

 

21.30

Vested

 

(217)

 

10.26

Forfeited

 

 

  

Outstanding as of June 30, 2021

 

1,620

$

12.23

Expected to vest as of June 30, 2021

 

1,486

 

  

Schedule of stock-based compensation expense

Three Months Ended

Six Months Ended

June 30, 

June 30, 

(in thousands)

 

2021

 

2020

 

2021

 

2020

Product development

 

436

 

152

$

714

$

253

Sales, marketing and customer support

 

1,696

 

392

 

2,320

 

564

General and administrative

 

2,582

 

596

 

4,218

 

1,125

Total stock-based compensation

$

4,714

$

1,140

$

7,252

$

1,942

XML 41 R30.htm IDEA: XBRL DOCUMENT v3.21.2
Commitments and Contingencies (Tables)
6 Months Ended
Jun. 30, 2021
Commitments and Contingencies  
Schedule of accrued expenses

    

As of

(in thousands)

June 30, 2021

    

December 31, 2020

Vendor payments

$

3,507

$

3,896

Employee commissions and bonuses

 

10,304

 

11,344

Payroll and other employee related expense

 

8,579

 

6,957

401k and pension expense

 

848

 

1,358

Other taxes

 

2,222

 

1,864

Total accrued expense

$

25,460

$

25,419

Schedule of future minimum lease obligations

    

Year Ending

(in thousands)

December 31, 

2021

$

2,848

2022

 

4,778

2023

 

4,211

2024

 

563

$

12,400

Schedule of future minimum lease payments under agreement (including interest)

    

Year Ending

(in thousands)

December 31, 

2021

$

1,109

2022

 

2,144

2023

 

1,937

2024

 

598

2025

 

170

Total

 

5,958

Less: Amount representing interest

 

(319)

Present Value of net minimum capital lease payments

$

5,639

Capital leases short term

$

2,021

Capital leases long term

 

3,618

Total

$

5,639

XML 42 R31.htm IDEA: XBRL DOCUMENT v3.21.2
Description of Business (Details) - segment
6 Months Ended
Jun. 30, 2021
Aug. 18, 2017
Description of Business    
Number of reportable segments 1  
DoubleVerify Inc.    
Description of Business    
Ownership percentage acquired   100.00%
XML 43 R32.htm IDEA: XBRL DOCUMENT v3.21.2
Basis of Presentation and Summary of Significant Accounting Policies (Details)
Mar. 29, 2021
$ / shares
Jun. 30, 2021
$ / shares
Dec. 31, 2020
$ / shares
Basis of Presentation and Summary of Significant Accounting Policies      
Stock split, conversion ratio 0.333    
Common stock, par value $ 0.001 $ 0.001 $ 0.001
Preferred stock, par value $ 0.01 $ 0.01 $ 0.01
XML 44 R33.htm IDEA: XBRL DOCUMENT v3.21.2
Revenue (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2021
Jun. 30, 2020
Jun. 30, 2021
Jun. 30, 2020
Dec. 31, 2020
Disaggregation of revenue          
Total revenue $ 76,524 $ 53,020 $ 144,110 $ 104,239  
Unbilled receivable 26,600   26,600   $ 44,900
Advertiser - direct          
Disaggregation of revenue          
Total revenue 31,662 23,707 59,203 45,894  
Advertiser - programmatic          
Disaggregation of revenue          
Total revenue 37,880 24,128 71,792 47,979  
Supply - side customer          
Disaggregation of revenue          
Total revenue $ 6,982 $ 5,185 $ 13,115 $ 10,366  
XML 45 R34.htm IDEA: XBRL DOCUMENT v3.21.2
Business Combinations (Details)
$ in Thousands
3 Months Ended 6 Months Ended
Feb. 15, 2019
USD ($)
Milestone
component
Jun. 30, 2021
USD ($)
Jun. 30, 2020
USD ($)
Jun. 30, 2021
USD ($)
Jun. 30, 2020
USD ($)
Dec. 31, 2020
USD ($)
Description of Business            
Contingent considerations current   $ 1,717   $ 1,717   $ 1,198
Contingent considerations non-current           $ 462
Change in fair value of contingent consideration       57 $ (899)  
Zentrick N V            
Description of Business            
Purchase Price $ 23,200          
Closing adjustments 200          
Consideration held back 100          
Performance based deferred payment $ 17,300          
Number of component | component 2          
Performance based deferred payment, First component $ 4,000          
Number of milestone | Milestone 4          
Amout per milestone $ 1,000          
Performance based deferred payment, Second component $ 13,000          
Contingent consideration   1,200   1,200    
Contingent considerations current   500   500    
Change in fair value of contingent consideration   100 $ 100 100 $ 900  
Business combination performance based deferred payment   100   200    
Zentrick N V | Tranche one            
Description of Business            
Percentage of holdback payments 50.00%          
Holdback payments payable period 12 months          
Zentrick N V | Tranche two            
Description of Business            
Percentage of holdback payments 50.00%          
Holdback payments payable period 24 months          
Zentrick N V | Maximum            
Description of Business            
Business combination performance based deferred payment   100   100    
Zentrick N V | Other Current Liabilities            
Description of Business            
Technical milestone and revenue target   $ 1,100   $ 1,100    
XML 46 R35.htm IDEA: XBRL DOCUMENT v3.21.2
Goodwill and Intangible Assets - Goodwill (Details) - USD ($)
$ in Thousands
6 Months Ended 12 Months Ended
Jun. 30, 2021
Dec. 31, 2020
Goodwill and Intangible Assets    
Change in goodwill $ 0 $ 0
XML 47 R36.htm IDEA: XBRL DOCUMENT v3.21.2
Goodwill and Intangible Assets - Summary of Company's intangible assets (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2021
Jun. 30, 2020
Jun. 30, 2021
Jun. 30, 2020
Dec. 31, 2020
Finite-Lived Intangible Assets [Line Items]          
Gross Carrying Amount $ 177,115   $ 177,115   $ 177,120
Accumulated Amortization (64,335)   (64,335)   (55,410)
Total 112,780   112,780   121,710
Amortization expense 4,400 $ 4,500 8,900 $ 9,000  
Trademarks and brands          
Finite-Lived Intangible Assets [Line Items]          
Gross Carrying Amount 11,690   11,690   11,690
Accumulated Amortization (2,985)   (2,985)   (2,562)
Total 8,705   8,705   9,128
Customer relationships          
Finite-Lived Intangible Assets [Line Items]          
Gross Carrying Amount 102,220   102,220   102,220
Accumulated Amortization (32,006)   (32,006)   (27,720)
Total 70,214   70,214   74,500
Developed Technology          
Finite-Lived Intangible Assets [Line Items]          
Gross Carrying Amount 63,205   63,205   63,210
Accumulated Amortization (29,344)   (29,344)   (25,128)
Total $ 33,861   $ 33,861   $ 38,082
XML 48 R37.htm IDEA: XBRL DOCUMENT v3.21.2
Goodwill and Intangible Assets - Estimated future expected amortization expense (Details) - USD ($)
$ in Thousands
Jun. 30, 2021
Dec. 31, 2020
Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]    
2021 $ 8,930  
2022 17,860  
2023 17,825  
2024 16,205  
2025 14,273  
2026 9,777  
Thereafter 27,910  
Total $ 112,780 $ 121,710
XML 49 R38.htm IDEA: XBRL DOCUMENT v3.21.2
Goodwill and Intangible Assets - Weighted-average remaining useful life (Details) - USD ($)
$ in Thousands
6 Months Ended
Jun. 30, 2021
Jun. 30, 2020
Finite-Lived Intangible Assets [Line Items]    
Impairment of intangible assets $ 0 $ 0
Trademarks and brands    
Finite-Lived Intangible Assets [Line Items]    
Remaining useful life 11 years  
Customer relationships    
Finite-Lived Intangible Assets [Line Items]    
Remaining useful life 8 years  
Developed Technology    
Finite-Lived Intangible Assets [Line Items]    
Remaining useful life 4 years  
XML 50 R39.htm IDEA: XBRL DOCUMENT v3.21.2
Property, Plant and Equipment (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2021
Jun. 30, 2020
Jun. 30, 2021
Jun. 30, 2020
Dec. 31, 2020
Property, Plant and Equipment [Line Items]          
Less: Accumulated Depreciation and Amortization $ (20,751)   $ (20,751)   $ (15,243)
Total property, plant and equipment, net 17,572   17,572   18,107
Depreciation expense 3,000 $ 1,700 5,600 $ 3,100  
Capital lease assets 12,300   12,300   10,700
Capital lease assets, accumulated depreciation 8,900   8,900   7,600
Computers and Peripheral Equipment          
Property, Plant and Equipment [Line Items]          
Property, plant and equipment gross 16,695   16,695   14,577
Office Furniture and Equipment          
Property, Plant and Equipment [Line Items]          
Property, plant and equipment gross 1,115   1,115   1,124
Leasehold Improvements          
Property, Plant and Equipment [Line Items]          
Property, plant and equipment gross 9,266   9,266   9,267
Capitalized software development costs          
Property, Plant and Equipment [Line Items]          
Property, plant and equipment gross $ 11,247   $ 11,247   $ 8,382
XML 51 R40.htm IDEA: XBRL DOCUMENT v3.21.2
Fair Value Measurement - Fair value on a recurring basis (Details) - USD ($)
$ in Thousands
Jun. 30, 2021
Dec. 31, 2020
Liabilities:    
Contingent consideration current $ 1,717 $ 1,198
Contingent consideration non-current   462
Recurring    
Assets:    
Cash equivalents: 9,808 2,474
Liabilities:    
Contingent consideration current 1,717 1,198
Contingent consideration non-current   462
Total contingent consideration 1,717 1,660
Recurring | Level 1    
Assets:    
Cash equivalents: 9,808 2,474
Recurring | Level 3    
Liabilities:    
Contingent consideration current 1,717 1,198
Contingent consideration non-current   462
Total contingent consideration $ 1,717 $ 1,660
XML 52 R41.htm IDEA: XBRL DOCUMENT v3.21.2
Fair Value Measurement - Rollforward of the fair value measurements (Details) - Level 3 - Business Combination, Contingent Consideration Liability [Member]
$ in Thousands
6 Months Ended
Jun. 30, 2021
USD ($)
Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]  
Balance at January 1, 2021 $ 1,660
Fair value adjustments 57
Balance at June 30, 2021 $ 1,717
XML 53 R42.htm IDEA: XBRL DOCUMENT v3.21.2
Fair Value Measurement - Additional Information (Details)
$ in Thousands
6 Months Ended
Jun. 30, 2021
USD ($)
Milestone
Dec. 31, 2020
USD ($)
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Business Combination, Contingent Consideration, Number Of Technical Milestone | Milestone 4  
Recurring    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Cash equivalents $ 9,808 $ 2,474
Recurring | Level 1    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Cash equivalents 9,808 2,474
Recurring | Level 1 | Money market funds and time deposits    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Cash equivalents $ 9,800 $ 2,500
Discount rate    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Fair value inputs 13.5  
Revenue Volatility    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Fair value inputs 29.0  
XML 54 R43.htm IDEA: XBRL DOCUMENT v3.21.2
Long-term Debt (Details)
$ in Millions
Oct. 01, 2020
USD ($)
Jun. 30, 2021
USD ($)
Dec. 31, 2020
USD ($)
Debt Instrument [Line Items]      
Maximum total net leverage ratio   3.5  
Minimum fixed charge coverage ratio   1.25  
Minimum      
Debt Instrument [Line Items]      
Percentage of commitment fee payable periodically 0.25%    
Maximum      
Debt Instrument [Line Items]      
Percentage of commitment fee payable periodically 0.40%    
New Revolving Credit Facility      
Debt Instrument [Line Items]      
Aggregate principal amount $ 150.0    
Outstanding amount   $ 0.0 $ 22.0
New Revolving Credit Facility | LIBOR      
Debt Instrument [Line Items]      
Line of credit facility bears interest (as a percent) 2.25%    
Letter of Credit      
Debt Instrument [Line Items]      
Maximum borrowing capacity $ 15.0    
XML 55 R44.htm IDEA: XBRL DOCUMENT v3.21.2
Income Tax (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2021
Jun. 30, 2020
Jun. 30, 2021
Jun. 30, 2020
Income Tax        
Income tax provision $ 2,298 $ 2,006 $ 5,091 $ 3,351
Effective tax rate (22.40%) 33.00% (277.50%) 34.00%
Annualized effective tax benefit $ 3,100   $ 500  
Annualized effective tax rate 29.70%   29.90%  
Effective income tax reconciliation, state taxes $ 5,400   $ 5,600  
Effective income tax reconciliation, state taxes (as a percent) (52.10%)   (307.40%)  
XML 56 R45.htm IDEA: XBRL DOCUMENT v3.21.2
(Loss) Earnings Per Share (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2021
Mar. 31, 2021
Jun. 30, 2020
Mar. 31, 2020
Jun. 30, 2021
Jun. 30, 2020
Numerator:            
Net (Loss) income (basic and diluted) $ (12,568) $ 5,644 $ 4,078 $ 2,440 $ (6,924) $ 6,518
Denominator:            
Weighted-average common shares outstanding 149,596   139,756   137,355 139,748
Dilutive effect of share-based awards     6,785     7,179
Weighted-average dilutive shares outstanding 149,596   146,541   137,355 146,927
Basic (loss) earnings per share $ (0.08)   $ 0.03   $ (0.05) $ 0.05
Diluted (loss) earnings per share $ (0.08)   $ 0.03   $ (0.05) $ 0.04
Weighted average shares issuable under stock-based awards, excluded from diluted EPS calculation 16,300   6,600   16,400 6,700
XML 57 R46.htm IDEA: XBRL DOCUMENT v3.21.2
Stock-Based Compensation (Details) - shares
shares in Thousands
6 Months Ended
Apr. 19, 2021
Jun. 30, 2021
Sep. 20, 2017
2021 Omnibus Equity Incentive Plan      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Number of shares authorized 30,000    
Share-based compensation arrangement by share-based payment award, annual increase in shares authorized as a percentage of outstanding common shares 5.00%    
2017 Equity Plan      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Number of shares authorized     22,182
Term of award   10 years  
Stock options      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Vesting period   4 years  
Restricted Stock Units (RSUs)      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Vesting period   4 years  
XML 58 R47.htm IDEA: XBRL DOCUMENT v3.21.2
Stock-Based Compensation - Stock option activity (Details)
$ / shares in Units, shares in Thousands, $ in Thousands
6 Months Ended 12 Months Ended
Jun. 30, 2021
USD ($)
$ / shares
shares
Dec. 31, 2020
USD ($)
$ / shares
shares
Number of Options    
Outstanding beginning balance | shares 14,713  
Options granted | shares 598  
Options exercised | shares (1,078)  
Options forfeited | shares (189)  
Outstanding Ending balance | shares 14,044 14,713
Options expected to vest | shares 3,818  
Options exercisable | shares 6,483  
Weighted Average Exercise Price    
Outstanding beginning balance (in dollars per share) | $ / shares $ 4.47  
Options granted (in dollars per share) | $ / shares 22.12  
Options exercised (in dollars per share) | $ / shares 3.35  
Options forfeited (in dollars per share) | $ / shares 6.47  
Outstanding ending balance (in dollars per share) | $ / shares 5.29 $ 4.47
Options expected to vest (in dollars per share) | $ / shares 9.72  
Options exercisable (in dollars per share) | $ / shares $ 3.62  
Additional disclosures    
Weighted Average Remaining Contractual Life (Years) 7 years 5 months 12 days 7 years 9 months 14 days
Aggregate Intrinsic Value, outstanding (Beginning balance) | $ $ 181,914  
Aggregate Intrinsic Value, outstanding (ending balance) | $ 520,634 $ 181,914
Aggregate Intrinsic Value, expected to vest | $ 124,523  
Aggregate Intrinsic Value, exercisable | $ $ 251,007  
XML 59 R48.htm IDEA: XBRL DOCUMENT v3.21.2
Stock-Based Compensation - Additional information (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Millions
6 Months Ended
Jun. 30, 2021
Jun. 30, 2020
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]    
Outstanding Ending balance 14,044  
Weighted average grant date fair value (in dollars per share) $ 9.23 $ 2.65
Intrinsic value $ 30.4 $ 0.3
Performance and Market Based Options    
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]    
Granted 0  
Outstanding Ending balance 3,433  
XML 60 R49.htm IDEA: XBRL DOCUMENT v3.21.2
Stock-Based Compensation - Black-Scholes-Merton option-pricing model (Details)
6 Months Ended
Jun. 30, 2021
Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions and Methodology [Abstract]  
Risk - free interest rate (percentage), minimum 0.60%
Risk - free interest rate (percentage), maximum 1.10%
Expected volatility (percentage), minimum 42.10%
Expected volatility (percentage), maximum 43.60%
Expected term (years) 6 years 1 month 6 days
XML 61 R50.htm IDEA: XBRL DOCUMENT v3.21.2
Stock-Based Compensation - Restricted stock award activity (Details) - Restricted Stock Units (RSUs)
shares in Thousands
6 Months Ended
Jun. 30, 2021
$ / shares
shares
Number of Shares  
Outstanding beginning balance 1,261
Granted 576
Vested (217)
Outstanding ending balance 1,620
Expected to vest 1,486
Weighted Average Grant Date Fair Value  
Outstanding beginning balance (in dollars per share) | $ / shares $ 7.74
Granted (in dollars per share) | $ / shares 21.30
Vested (in dollars per share) | $ / shares 10.26
Outstanding ending balance (in dollars per share) | $ / shares $ 12.23
XML 62 R51.htm IDEA: XBRL DOCUMENT v3.21.2
Stock-Based Compensation - Stock-based compensation expense (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2021
Jun. 30, 2020
Jun. 30, 2021
Jun. 30, 2020
Share-based payment arrangements information        
Total stock-based compensation expense $ 4,714 $ 1,140 $ 7,252 $ 1,942
Unrecognized stock-based compensation expense 24,600   $ 24,600  
Weighted-average period over which unrecognized stock-based compensation expense are expected to be recognized     1 year 4 months 24 days  
Restricted Stock Units (RSUs)        
Share-based payment arrangements information        
Share based compensation arrangement by share based payment award, equity instruments other options, vested in period, total grant date fair value     $ 2,200  
Product development        
Share-based payment arrangements information        
Total stock-based compensation expense 436 152 714 253
Sales, marketing and customer support        
Share-based payment arrangements information        
Total stock-based compensation expense 1,696 392 2,320 564
General and administrative        
Share-based payment arrangements information        
Total stock-based compensation expense $ 2,582 $ 596 $ 4,218 $ 1,125
XML 63 R52.htm IDEA: XBRL DOCUMENT v3.21.2
Stockholders' Equity (Details)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended 6 Months Ended
Jul. 21, 2021
shares
Apr. 23, 2021
USD ($)
$ / shares
shares
Apr. 09, 2021
USD ($)
$ / shares
shares
Jun. 30, 2021
USD ($)
$ / shares
shares
Jun. 30, 2021
USD ($)
$ / shares
shares
Jun. 30, 2020
USD ($)
Mar. 29, 2021
$ / shares
Dec. 31, 2020
$ / shares
shares
Granted         598      
Underwriting discount fees | $         $ 21,708 $ 1,107    
Stock offering cost | $         $ 21,801 $ 1,058    
Treasury stock, shares reissued | $   $ 15,146            
Common stock, par value | $ / shares       $ 0.001 $ 0.001   $ 0.001 $ 0.001
Preferred stock, par value | $ / shares       $ 0.01 $ 0.01   $ 0.01 $ 0.01
Common stock, shares authorized       1,000,000 1,000,000     700,000
Preferred stock, shares authorized       100,000 100,000     61,006
Stock options                
Number of days option to purchase         4 years      
Stock options | 2017 Equity Plan | Subsequent Event                
Granted 140              
Stock options | 2021 Omnibus Equity Incentive Plan | Subsequent Event                
Granted 395              
Restricted Stock Units (RSUs)                
Granted         576      
Number of days option to purchase         4 years      
Restricted Stock Units (RSUs) | 2017 Equity Plan | Subsequent Event                
Granted 107              
Restricted Stock Units (RSUs) | 2021 Omnibus Equity Incentive Plan | Subsequent Event                
Granted 427              
Private Placement                
Purchase price | $       $ 30,000        
IPO                
Number of shares issued   9,977            
Purchase price | $       $ 269,390        
Purchase price per share | $ / shares   $ 27.00            
Aggregate net proceeds | $   $ 253,200            
Underwriting discount fees | $   16,200            
Stock offering cost | $   $ 26,800            
Number of shares converted   20,335            
Convertible preferred stock, conversion ratio   1            
Common stock, par value | $ / shares       $ 0.001 $ 0.001      
Preferred stock, par value | $ / shares       $ 0.01 $ 0.01     $ 0.01
Common stock, shares authorized       1,000,000 1,000,000     1,000,000
Preferred stock, shares authorized       100,000 100,000     100,000
Underwriter Option                
Number of shares issued   1,350            
Tiger Global Management, LLC | Private Placement                
Number of shares issued     1,111          
Purchase price per share | $ / shares     $ 27.00          
Gross proceeds | $     $ 30,000          
Aggregate net proceeds | $     29,000          
Underwriting discount fees | $     $ 1,000          
Providence | Private Placement                
Number of shares issued   5,356            
Providence | Underwriter Option                
Number of shares issued   650            
General and administrative | IPO                
Stock offering cost | $       $ 18,700 $ 21,800      
XML 64 R53.htm IDEA: XBRL DOCUMENT v3.21.2
Commitments and Contingencies (Details) - USD ($)
$ in Thousands
Jun. 30, 2021
Dec. 31, 2020
Accrued Liabilities, Current [Abstract]    
Vendor payments $ 3,507 $ 3,896
Employee commissions and bonuses 10,304 11,344
Payroll and other employee related expense 8,579 6,957
401k and pension expense 848 1,358
Other taxes 2,222 1,864
Total accrued expense $ 25,460 $ 25,419
XML 65 R54.htm IDEA: XBRL DOCUMENT v3.21.2
Commitments and Contingencies - Operating Leases (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2021
Jun. 30, 2020
Jun. 30, 2021
Jun. 30, 2020
Operating leases future minimum lease obligations        
2021 $ 2,848   $ 2,848  
2022 4,778   4,778  
2023 4,211   4,211  
2024 563   563  
Total 12,400   12,400  
Office        
Operating Leased Assets [Line Items]        
Rent expense 1,200 $ 1,500 2,100 $ 2,900
Data center        
Operating Leased Assets [Line Items]        
Rent expense $ 400 $ 300 $ 900 $ 600
XML 66 R55.htm IDEA: XBRL DOCUMENT v3.21.2
Commitments and Contingencies - Capital Leases (Details)
$ in Thousands
6 Months Ended
Jun. 30, 2021
USD ($)
agreement
Dec. 31, 2020
USD ($)
Commitments and Contingencies    
Number of lease agreement | agreement 7  
Future minimum capital lease payments    
2021 $ 1,109  
2022 2,144  
2023 1,937  
2024 598  
2025 170  
Total 5,958  
Less: Amount representing interest (319)  
Present Value of net minimum capital lease payments 5,639  
Capital leases short term 2,021 $ 1,515
Capital leases long term 3,618 $ 3,447
Total $ 5,639  
XML 67 R56.htm IDEA: XBRL DOCUMENT v3.21.2
Segment Information (Details)
6 Months Ended
Jun. 30, 2021
segment
Segment Information  
Number of operating segment 1
Number of reportable segments 1
XML 68 R57.htm IDEA: XBRL DOCUMENT v3.21.2
Subsequent Events (Details) - shares
shares in Thousands
6 Months Ended
Jul. 21, 2021
Jun. 30, 2021
Subsequent Event [Line Items]    
Options granted   598
Stock options | Subsequent Event | 2021 Omnibus Equity Incentive Plan    
Subsequent Event [Line Items]    
Options granted 395  
Stock options | Subsequent Event | 2017 Equity Plan    
Subsequent Event [Line Items]    
Options granted 140  
Restricted Stock Units (RSUs)    
Subsequent Event [Line Items]    
Other than stock options granted   576
Restricted Stock Units (RSUs) | Subsequent Event | 2021 Omnibus Equity Incentive Plan    
Subsequent Event [Line Items]    
Other than stock options granted 427  
Restricted Stock Units (RSUs) | Subsequent Event | 2017 Equity Plan    
Subsequent Event [Line Items]    
Other than stock options granted 107  
EXCEL 69 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( )J(_5('04UB@0 +$ 0 9&]C4')O<',O87!P+GAM M;$V./0L",1!$_\IQO;=!P4)B0-!2L+(/>QLOD&1#LD)^OCG!CVX>;QA&WPIG M*N*I#BV&5(_C(I(/ !47BK9.7:=N')=HI6-Y #OGDK7A.YNJQ<&4GPZ4A!0W_J=0U[R;UEA_6\#MI7E!+ P04 M " ":B/U2GT9H_N\ K @ $0 &1O8U!R;W!S+V-O&ULS9+/ M2@,Q$(=?17+?G?TC%L,V%TM/"H(%Q5M(IFUPDPW)R&[?WFQLMX@^@,?,_/+- M-S"=\EP- 9_#X#&0P7@SV=Y%KOR:'8D\!XCJB%;&,B5<:NZ'8"6E9SB E^I# M'A":JKH#BR2U) DSL/ +D8E.*ZX"2AK"&:_5@O>?H<\PK0![M.@H0EW6P,0\ MT9^FOH,K8(81!AN_"Z@78J[^BQ'-N<2SO4\/;T^)+7+8R+ M))W"]"L:3B>/:W:9_-H^;'9;)IJJJ8MJ533WNZ;FU2UO5^^SZP^_J[ =M-F; M?VQ\$10=_+H+\0502P,$% @ FHC]4IE&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T$W-I=MNTF83M M3A^%$5B-;'EDD81_OTV23;J;/ 0LZ?O.14?GZ#AY\^XN8NB&B)3R M> +]O6N[!3+ MUES@6QHO(];JM-O=5H1I;*$81V1@?5XL:$#05%%:;U\@M.4?,_@5RU2-9:,! M$U=!)KF(M/+Y;,7\VMX^9<_I.ATR@6XP&U@@?\YOI^1.6HCA5,+$P&IG/U9K MQ]'22(""R7V4!;I)]J/3%0@R#3LZG5C.=GSVQ.V?C,K:=#1M&N#C\7@XMLO2 MBW A(5M>5 TR M6'!VULS2 Y9>*?IUE!K9';O=05SP6.XYB1'^QL4$UFG2&98T1G*=D 4. #?$ MT4Q0?*]!MHK@PI+27)#6SRFU4!H(FLB!]4>"(<7K;YH] M5Z%82=J$^!!&&N*<<^9ST6S[!Z5&T?95O-RCEU@5 9<8WS2J-2S%UGB5P/&M MG#P=$Q+-E L&08:7)"82J3E^34@3_BNEVOZKR2.FJW"$2M"/F(9 M-AIRM1:!MG&IA&!:$L;1>$[2M!'\6:PUDSY@R.S-D77.UI$.$9)>-T(^8LZ+ MD!&_'H8X2IKMHG%8!/V>7L-)P>B"RV;]N'Z&U3-L+([W1]072N0/)J<_Z3(T M!Z.:60F]A%9JGZJ'-#ZH'C(*!?&Y'C[E>G@*-Y;&O%"N@GL!_]':-\*K^(+ M.7\N?<^E[[GT/:'2MSAD6R4)RU3393>* M$IY"&V[I4_5*E=?EK[DHN#Q;Y.FOH70^+,_Y/%_GM,T+,T.WF)&Y M"M-2D&_#^>G%>!KB.=D$N7V85VWGV-'1^^?!4;"C[SR6'<>(\J(A[J&&F,_# M0X=Y>U^89Y7&4#04;6RL)"Q&MV"XU_$L%.!D8"V@!X.O40+R4E5@,5O& RN0 MHGQ,C$7H<.>77%_CT9+CVZ9EM6ZO*7<9;2)2.<)IF!-GJ\K>9;'!51W/55OR ML+YJ/;053L_^6:W(GPP13A8+$DACE!>F2J+S&5.^YRM)Q%4XOT4SMA*7&+SC MYL=Q3E.X$G:V#P(RN;LYJ7IE,6>F\M\M# DL6XA9$N)-7>W5YYNTB42%(JP# 4A M%W+C[^^3:G>,U_HL@6V$5#)DU1?*0XG!/3-R0]A4)?.NVB8+A=OB5,V[&KXF M8$O#>FZ=+2?_VU[4/;07/4;SHYG@'K.' MYA,L0Z1^P7V*BH 1JV*^NJ]/^26<.[1[\8$@F_S6VZ3VW> ,?-2K6J5D*Q$_ M2P=\'Y(&8XQ;]#1?CQ1BK::QK<;:,0QY@%CS#*%F.-^'19H:,]6+K#F-"F]! MU4#E/]O4#6CV#30,9FV-J/D3@H\W/[O#;#"Q([A[8N_ 5!+ P04 M" ":B/U2,"^D=TT% I%@ & 'AL+W=O5?Z=E>CM=(OZ4H(0][B2*9GG94QR6?'2?V5B'EZ MK!(AX[ B7DH.^-1?F^JQR.5F2B48JI)FL4Q MUYL+$:GU68=V=C<>PN7*V!O.>)3PI9@)\WLRU3!R2I0@C(5,0R6)%HNSSCG] M//$\:Y"_\12*=;IW3>RGS)5ZL8.;X*SC6D8B$KZQ$!S^7L5$1)%% A[_;$$[ MY9S6K*,U_ MR;IXM]?K$#]+C8JWQL @#F7QS]^VCM@WH <,V-: ?3"@AV;PM@:YYYR"6?Y9 ME]SP\4BK-='V;4"S%[EOP=8EE39CNH% M0P%_S>0Q\=PCPEQ&:_A,FLRC8\(&=>;OZ'BEY[P[,V;#C2;L7_ M\.E3PZ(=EMR&*.)VG5Z'D2"W63P7NHX5CN&ZM-MSO=XIPN>TY'/:AL^#6(9V MLX#3;GE_T!PQBRBB%KP_ \"""E0'RV%^0KO$?N9+WO<$CF>626:(@WA$-# M&L2(5MI.O?]$=&)'$.A'M9:U)'&X6RAGGJ&VW81WFDRU>HU ME'Z]$W'(VV>,694>*"[J'[TV5:GA$?DS3 [O#!R1@MAX&+Y@*#L HN@>J[$!Q4?^J?/#)=*4D)L$-( ./=AFE6$J@54Z@N* _A@;2@5H0 MRGZ:_TQFPL\T>*N6%HXT47$,FF7UR^ 8%8@L''"9;WSOJLK M8)7:,URL=\S>]AN#HAZOI?5]G0&KQ)_ANKV+X4I ##$_X3"-A"KM9ZT:@O?" M/ZVA5VLY:]043T 0- MV?)&!N*-_";J?85#N9!YAO3TE VQIK]2>P\7Z9VH7H>IS>// I(X3)\#I:"@%?&ZY7W1 '!P"SI[AW%6&/,SRI3XMD4LSN7*N^4YZ'E^^N=4 MKQ>'J-^XU=641&(!IN[Q">PU79Q+%@.CDOQH;ZZ,47%^N1(\$-J^ ,\72IG= MP$Y0G@Z/_P502P,$% @ FHC]4MRH8"?X!@ _!L !@ !X;"]W;W)K M[2P*D3K9FR)*@ M2;?/M,3$0B71I:B\]-?O2-N2;5*TBWU(K)?C\;DC[YX[ZO15R._UG'.%WLJB MJL\&/,D9,D4W,KG4;V0G&5F4%F,2!#$HY+EU>#\ MU#R[E^>GHE%%7O%[B>JF+)E\_\P+\7HVP(/U@Z_Y\USI!Z/STP5[Y@]JW]#V,\&#-C-9^*XM\\4_.SP7B M,O[$FD)]%:]?^,J@2.M+15&;_^AU)1L,4-K42I2KP8"@S*OE+WM;.6)C Y[ M!I#5 '+H +H:0(VA2V3&K$NFV/FI%*](:FG0IB^,;\QHL":O]#(^* EOWT"CU\N;IZ?$#'Z-O#)?IP]!$= MH;Q"CW/1U*S*ZM.1 @Q:TRA=S?=Y.1_IF>^OICI!-!@B$A#L&#[U#[_D*0S' M9GBP/7P$EK?FD]9\8O31/O,;*7FE$*MKKFJ/0MHJI$9AV*>0U7,$KD&ION _ MFOR%%3"#TU5+5;%1I>/MY9S2@$;1Z>AETR4N,1J%K=06T+ %&GJ!/DJ6<0C$ ME /"6<'K(:H@:X@GQ J(;5:EO$:0)E FFIEZ:@J(N%0T8(F6.8J'X_'$&'J4 M#(,0+LUS6%[>+J]Y#2O&RQF7[:K!G/6"F^@MWEU>6>*.-LP=1Y'E%%MJ$L9) MXG9*U#HE\CKE7O(%RS/$WR!-UN ;8%0G;*$G=D(<(A#N(=W XI.@EZ M%C-N<!>C+0:63&CD!IFT(),]S@7RD>I]B!8%TS#! MMSI %L *RNP^%^3$QI)$"=E![) :XZ!G-XQ;P&,OX#^%R%[SHG#!&EL3$I+0 M<+*#:Z_8%K!)"VSB!79=*58]YQ"UJ[7N]=[$]@LFR3C8@>D0(SC!@1LF#CIR M";Q +_D3ASV9(<7>/-MRI64KY'=7V"^SC6^#_+ 7WYT)[4I4Q_MC9Z5J:RTA M6^_"=$CA"/< [6@*DP,"W ..6-,FDP 'EA=MN0AC2GOR#^YH#].#B+3(V2PO MM5D!M=-^G%@P'=Q ^F@7=]2 M_=RPWCX+(4UU#Z5$RA:YWO0%ARH=B5F1/S/]SHW=)H!E@;D-WD$3$>[;!!U- M8#]/3$6E\NI9XT\!7YYQN42Z9F0G8IL:(.,FNX@=4G@R[D'<\0?V$\C=5DFS M;U_8[$!P8/G6134;E<5V>=XQ"/$SR'9ELP# M!;2[7+[PP3ER>O__*]JVOF,M,O96; ]*I-_GHH"-4O]F&C'U[E/U[J\,FUXHVIH>S)8(==AP^\H\6@-@R$AQ*$5DV@8).'ZC3V)=7[AW X. M\HNLC.H0"GM2/^T(DOH)\EZN,^J&P[?]W><7XX"?7(I?][:1B?5*QBY_+Q4- M>S19+CU!-SGLO\PD++0P%D$4\D_HB$9+\(++,LU M/,AJ^HCH.*_6%:KS9,\F>JBEXV27#%QR!.1Z>X@WW'>--J5U ')-X*[UOV[9QQ.JO(;YRQ> 1=%U, M5K"MW&>K=E40C@.KP':(1>$D[&G8:5<\4'_Q (UA4S8%4[P]0!0E[.RY_@+R MPE%NVK+VS#5ONS0W4U*[:(ABRQ9;".KT/E.ZRH+Z*XLEE==[Z6*%U"XG$@P. MW25UAQP(Q7TM.>TJ#_J+E8?9P ?#CZW#=N=!BD/.>9 RVO@TH[^+__\ M/U!+ P04 " ":B/U2D->@?SD# !*"P & 'AL+W=OD--;,?XL(@")7I,X%7TKDG)Q8=LBB" A MXHPM(%5O9HPG1*HIG]MBP8&$1I3$MHNQ9R>$IM:@9YY-^*#',AG3%"8_ C[%M9$$$,@M0517TL80AQK)\7Q4IA:Y9I: M6!V_NW\WFU>;>2("ABS^0T,9]:VNA4*8D2R6]VQU#<6&.MHO8+$PGVA5Q&(+ M!9F0+"G$BB"A:?Y-7HM$5 1.>XO +03N9P6M0F R9^=D9ELC(LF@Q]D*<1VM MW/3 Y,:HU6YHJO^-4\G56ZIT8] M6RI0O9P=%%!7.92[!>IGEIZA%CY%+G:=!OEPMWP$@9([1H[K5@/V2F#O<& J1-8,ZVW"=GS?ZZZQ-H2UL>NZS:Q^R>H?SJJN"R'5T:?I MO G8_QQP0YC;P7Z[&;A; G=W D_4-0&<0_BILLV]NO6"7*_:/4$US/,2\_PP MS$_5[?F6NET#W@SS5)S73.S@CZL$?XEY>^D6AE62==:&D%VPE7O/^1+LGMHM M7'<2;X;L(OZXA1SW,.*8OF0T)*8=VE;!P\*T^L/?ZFS_C7(^+BMGWVT%1&3\ MK9Z_QIRU]N=L,\3I..WUG-F51D=WF;\(G]-4H!AF2H?/?&7 \\8MGTBV,+W/ M$Y.JDS+#2#6[P'6 >C]C3+Y/=#M5ML^#?U!+ P04 " ":B/U24U;+OT,& M #,&0 & 'AL+W=O"K7G$ORFJ5Y>3I:2[DY&8_+Y9IG47DL-CR'_SR*(HLDW!:K M<;DI>!371EDZ9I;EC;,HR4=GT_K9;7$V%5N9)CF_+4BYS;*H^'G!4_%R.J*C MMP=WR6HMJP?CL^DF6O$%E]\VMP7#HZIRII4GF,=?K=-1-V9EN'O] MYOU331[(/$0EGXGT1Q++]>G('Y&8/T;;5-Z)E\^\)>16_I8B+>N_Y*7%6B.R MW)929*TQS"!+\N8W>FT#L6, ?G #UAHPU< 9,+!; _N](SBM@?/>$=S6H*8^ M;KC7@9M',CJ;%N*%%!4:O%47=?1K:XA7DE>)LI %_#A]>+<$[@ M:G'S]7)^?@\WBWOXN0JO[Q?DYA.YN0WOSN\O 4#.KRODU>U=^!G,+K^'Y.#K MS6)Q2"ZOX7%(CLBWQ9P$F2G-ROQ;:,\KC\2#[LW4_'$BA4$QDO MV^E>---E ].UR97(Y;HD81[S&+&?F^T]@_T80M?%C[W%[X(9'7[9YL?$MCX2 M9C&*S&?V?G,+H_/?1@]_>_2]8-A=,MFU/_O_22;#C)QN1DX](V=@1G?\F>=; MCB5:8^C5AE4Y?3Z;>"YSIN/GW>734:Y=!VL7-==1U'$H56 A K,<9@<=;(^C MVW%TC1QGHI1$/$+9KKF2 _ZZ3+4RB3!0R^;MY4*[% M"_SEFZB()$]_DH>J=1QB\6HFX>Y.GK& *O'241!55PF7#F+,"930A\B 3N"Y M>+"\+EB>,5BWA8BW2PEA>0:F&VAY$B/KZ6.[5%WV&8*R LM3V.HH%K @4-@B M*,KL"4SCK(,?V7045ZBCJ0YAQSD''.3!RGIM>>(QVH+^RCJ,NM0[R MJ*-FN@Z",A@H 0P1%+-V1]\%65Y"/IB"2 M<[20M=[VWL1 Y:QC:."K='30$33 3J]8J+VO\C:!PY;/_YV)Z-7CF>NC%<1&6R M1&/8V/F[K*UC2PNA#@.4*F$&G+EJ"%%G XJ5]B*&FE7,/$FW$MWM7K26OV2I MPS"6N#.-)>K,&6#9RQ8:&!/E1WVFP^.CZ!FZ]HH3>#NR:HLBQ?*)B*TL):@9 MR"%3XK!>+C"S7!A,'(:T:"=P Z6,S#"<'4QFW MS-K D#Y,[]$X5PSGN0Y5N2(XE"OJ+V #.HCUZH Q\PF$R$#]KJN#3-C^[A5: M8]KT_9J9^_6[ZG?KXY?U&\$A]1OSAM1O!#9^+S)S M7_P$NB=9Y; Y+0J>+W_"1;9-ZZT:@2U;7J;MAB;^$[:O0]MVII\9:,DW0T#, MUC)9!QTYCA9SY+AC*.)]QV3F(XI[(6'+:H@XRMS#4HY16R6OXQS;"E3VB+>) MK>9OB,"\W>+1!&"\ VE\W98O>T^_1P7A^X*\\OZ,F,(L_G M]"1L/BST[IOO'%=1L4KRDJ3\$8:RCB>P4D7SZ:"YD6)3GXT_""E%5E^N>13S MH@+ _Q^%D&\WU0#=!YRS?P!02P,$% @ FHC]4D:[J!P-"0 P30 !@ M !X;"]W;W)K:S%01\>*C M8WLFL>7&C\B^EG/O]",CP18;BE1)RD[^?4&)%D1@ 3**;_,A)J6SR^5BN>< MA(Z>\^)KN1"B0M^6:58>#Q95M?I]-"IG"[&,RW?Y2F3RFX>\6,:5/"T>1^6J M$/%\8[1,1\3S_-$R3K+!R='FL]OBY"A?5VF2B=L"E>OE,BZ^?Q!I_GP\P(.7 M#^Z2QT55?S Z.5K%CV(JJL^KVT*>C79>YLE29&629Z@0#\>#]_CW">>UP0;Q MWT0\EWO'J+Z5+WG^M3ZYF!\/O#HBD8I95;N(Y9\G<2K2M/8DX_B[<3K87;,V MW#]^\7Z^N7EY,U_B4ISFZ?^2>;4X'H0#-!<*[P39&VS86^&6XL3[>]L!>!ASW'G'\,N1X,^:C;?EN:O\LKN*3HR)_ M1D6-E_[J@\T#M+&7)9]D];,^K0KY;2+MJI/3F\G9>#(=GR%Y-+VYOCA[?R]/ MIO?RSZ?QY'Z*;L[EV;Z[/QW?17-/[/YXO[/]$0?9Z>H3>_O$7E(BY$ MB9(,W2_R=1EG\_(W]$OK_&A4R6#K2XYF36 ?MH$16V#Y"'.@=\7;I]W8E* M$I[,^S@NLB1[A"KQJB.(XM\0\7 $/79;3_[&4ZU,GDXP\XY&3_OU8F)( M2!D/VK!+$T89"\,VZLI$#7W-TP3PA$,/*U>MM-!=6FBOM+R1%;UMFF][I6CK ME>^GB$8!P7 T;!<-K& MM$+U=Z'ZSE ;PBCKB%%2EFL9\GJU"544LZ04=9O8?INOZGN ^L2%;P06: _' MQ EIA1[L0@]>.?3]DH8J.#!BI);TAKL80V>,=9]]D\J.^U8*C;K70MP0&IK_@@G-*XZ1LMD59 5 M !Q$"P ,X 7(F8L8%)]C-Z$?3 PF?SN)05$X=G/X3^AC#/ U-2K?#6I/O!2_ M$C>_'J*0"<"M1KE-NE#M@!7_$C?_OHY.)B8!HB)2XB?1'R*QQU;%H8)(N2&8 #B(S M &:0&8!QD1E13$_Z,?V/DAD!&-A!9D2Q*^G'KFTM: G"[QZM,0#RL08Z!T!# MXGM^Z.MC;Y*X3SP_T*D1P'$6,:R//: )/'/T313#OA]Q2[*53S48%< C&!]#1@ ,<)\;.EO5"D;VD_9.&8V<-X!Q<$\ MIB]>CP$M"J1G?B 04#20$ !]82X,Y12TKI4+?2^8G5/6HNF0R9M5$J M<4+=XN35*6="@04+Z_R)*C5"W6JDUT(D-5\V#/V(6++$E+)@_5;UM3D)V-8: M5ZT>P#7]<,%,_> '\JG5Z/$2P+'0P]KZ^!4 X\8B.@ *L.P EJIF2K:P?J\8 M'+,W.%. ..%!X%MJA2E]PGJ_G^]D(=;C!?T8 )DM&P#!+9N9F@=D?P@'L#\ M,]D? +G8GRFEQ0YZZ=^==^"M/\3^ [JV) [>\=F>YL(_G^["(#5$GV,)QV@ M=M1*L[#7WT? $X/L*[7NU#M@!7OLW]A-\$9,]=/B/[LFBJD=N-Z+('EA\H")@FD VJC@>UYH&3^NY KO6@@Y*'\= M8\T!D8$CG2H!U!!JV!#.T;&Y4B/? !SUY#]+ZI1NXF[=9*2NHR0^<%-51%$0 MZ(D$-DM@VQH]5\J#O\(['V[J@B$FW-<7]+IQ[2B5@. 'O?3P?J'_=(6?J82%I- MQ8,T]-X%TD.Q_;W,]J3*5YM?$WS)JRI?;@X7(IZ+H@;([Q_RO'HYJ7^@L/O5 MTLD_4$L#!!0 ( )J(_5+)>S_MU@@ +XE 8 >&PO=V]R:W-H965T M&ULG9I;;]NX$L>_"F'L0PO4M4A*OA1)@,1)L3UHDV"=/0OL MFRS3,3>RJ*6D7,ZG/T-)%F7QXK1]:"1Y1/TY)..DR"6+-_5-^W1"@F ZV<<\&UV< MU=?NY<69J,J49^Q>HJ+:[V/Y=L52\7(^PJ/#A3_XXZY4%R879WG\R%:L_#._ MEW VZ5K9\#W+"BXR)-GV?'2)ORRC2-U06_R7LY>B=XQ45]9"/*F3;YOS4: 4 ML90EI6HBAC_/;,G25+4$.OYM&QUUSU0W]H\/K7^M.P^=6<<%6XKT+[XI=^>C M^0AMV#:NTO(/\?([:SM4"TQ$6M3_HY?6-ABAI"I*L6]O!@5[GC5_X]?6$;T; MH!W[#:2]@0QO"!TWT/8&6G>T459WZSHNXXLS*5Z05-;0FCJH?5/?#;WAF1K& M52GA5P[WE1?+N]OKF]O5S36"H]7=]V_7EP]PLGJ /S]N;A]6Z.XK6EZN?D=? MO]_]M4)C].?J&GWX[2/Z#?$,/>Q$5<39ICB;E*!&M3E)VB=?-4\FCB=/T0^1 ME;L"W60;MCF^?P*]Z+I"#EVY(MX&_U-EGQ$-/B$2$&S1LWS_[8%'#NT\2^OV MJ*.]NYS)N.398S-5>8#6;TA8/.=QW+13-O4Z[BK>P )?EXB]0A L MK'YK6HAZ'L&+Q[Z-0N_&J31+*#U#CYM^(%KT]3'J]Y:IEDC92%(85.[4IPH&-N<&*TMTQ* MF.QE_&I]ZE7;0/^Q8XIGTED((5*%.XB9ZK" ."AK=UO%4T-9-%P^%IOQ MO!?'CN5K\& _>>ZV,&U56':N[;:!_H,)G@=XJ,\TPT'D"*%8DP='?GWECDFK MK,AXWM28F#8;[)"DD8.G7AHV(UZH(>]1K2@8T%&%^5[PJ5D(DX&!EY/Z:%T5 MT%Q1J"6XYED])7P@Q)HVV(^;!QEOF&(SX\_Q.G7$(),:\WYZT/K-M!KWXOFQ M0(T6[&?+O61YS#>'Y=PX2ZCQA:080B>LE,:+5N$F/L9D/DQ^+%;S*'((UY3! M?LS4_)YS_3"\(B9OHG"X MNBU&)(@<4X)H)A$_DQ3 *Z:GA%6?A2[$T&<:@=MGCO!#-(.(GT%W1]/SE"=- MP,S),(Y;C,9DZLK;B.80\7/(G*2GU%J @C$)AGI-,^S*C(G&#CE=\/Q"C= J M-U$3$D*&44;Y]0GL8JY,!Z9I#AYJH,LWK%K&'&-,)TZ!6+61A-'7D0T?@A?OQT(_JA M4ADFSU1):#K*JMR"&YMR&Y7K*CF5Y%;4JYF *@)$1H:=:S%"KN22JI!0_V@.>Y/5W'7@]'K6]TI MGH&WXQ3EU3KE"=@T*;RU2R9MR'1!%P[!\.,V6HU"QTR->5NJCV+R!*JNFE?K?VT;*1-T2?Q6;L2AFI!A_U%V1J MD'B6R'HJ\:8KGXQ^?'IW1\SB"U+P(# Z8RG2@H4K@FK84C]LE^]7C\;HBCWR M+%,S4.5:L.C%QMHG2Z%&Z<*8?Z89QM2UN11J)H=^)O]?K36BRF-* M+H;!RV*'%Z%K.84:VB'V9EJK*L_3.M!#!*M%;U-H@V?-JTM A/=EBH9IZ(?I MLHX\:J\!&G9OR(8F',$=P[&U6,W@G\,7&J#AB7W#(XV\W>NTRK3L#A)#I:5, MFT:..![VWDN%WA&[5?6D4MK+Y6&6V>*W=^@TW\(3?!/P(%FT>_HKF,H09B\! M(X?M]2:O %:?RC.@'OZ93"FT[!5B1X@--0=#/PR]6% D/12BJLHW:'.EG)%9A%L"9>XX6J\7, M%7$TXD(_X@[I4KL]V\S;)AN)DT14BM/MEIFM> E-5,U<_M2@"D]L)QXEF8K M:;6I$R-#4_/:\'B3S.IBDS_SX9ZCQ0:[LNA($RKR$^H[XT_? M+<,CC8/(CX/NU5R;+O]+V'V3#[6'PBI%RBP4IHO2;JKW4=( ME_6G-X/K5_C+LOF42#?3?-GT(Y:0#A80P[;09/!Y!KID\[%09BW* M4NSKPQV+(?PI _A]*T1Y.%$/Z#[9NO@_4$L#!!0 ( )J(_5)+[^PRH@( M &\& 8 >&PO=V]R:W-H965T&ULK57!3N,P$/T5*^( MTBY)DX:EJ(T$*0A60%%3EK-))HV%8Q?;:=F_W[$3H@(%<=A+/6//FWEO[$[& M&ZF>= 5@R$O-A9YXE3&K$]_7>04UU8=R!0)/2JEJ:M!52U^O%-#"@6KNAT%P MY->4"2\9N[T[E8QE8S@3<*>(;NJ:JK]GP.5FX@V\UXTY6U;&;OC)>$67D(&Y M7]TI]/P^2\%J$)I)0124$^]T<)+&-MX%_&&PT5LVL4H>I7RRSE4Q\0)+"#CD MQF:@N*PA!QV>GZ;G4\)6MGL M^FIZND G6^!R9$E2JJL2GX/& MT_ML2O;W#L@>88(L*MEH*@H]]@URM17]O.-UUO(*/^'UNQ&') I^D# (!SO@ MZ??AP5NXCQWJVQ3V;0I=ONC_M.F+BE%?,7(5AY]5Q*82[!W)K0'/#5M3#L+L M[&6;ZLBELO_;=1)%013'8W^]W;./88-1$!WW46^(#GNBPR^)SD$;Q7(#'=5] M)G+>%.CB"\#)LJ*L(/""8T>#=HJDJ4#AXU8*]1"J-1A-\"GA-DFE*&QD82TM M.2NHS7Q&.14YD,P^='VPJP_7QE^H7TE#>"M]U M66Y3O>W0+O+QS@L<';\3\#%L,!I&T3L)_M8XL*/XAJHE$YIP*!$7'/["-*H= M;ZUCY,I-B$=I<-XXL\(O B@;@.>EE.;5L4.G_\8D_P!02P,$% @ FHC] M4M+>%2UJ!@ Q@X !@ !X;"]W;W)K(7=7Z]A. M"^3!\EXX9V;.G!DNSW;&WKN-$)X]E$J[\][&^^K]<.BRC2BY&YA*:+Q9&UMR MCUM;#%UE!<^C4:F&D]'H[;#D4O>F9_'9C9V>F>"5U.+&,A?*DMO]7"BS.^^- M>\V#+[+8>'HPG)Y5O!!+X;]6-Q9WPQ8EEZ703AK-K%B?]V;C]_-C6A\7W$FQ MB@(02F2<$CG];L1!*$1#"^%9C]EJ79-B];M O8^[( M9<6=6!CUE\S]YKQWTF.Y6/.@_!>S^RCJ?-X07F:4B[]LE]9.CGLL"\Z;LC9& M!*74Z3]_J'GH&)R,7C"8U :3&'=R%*.\X)Y/SZS9,4NK@487,=5HC>"DIJ(L MO<5;"3L_O1 NL[**#)DUFP>'!0\=YH3=BMYT/& O.& 7)JR4N!-6KO=,.L:9,VN_XU:P M2G%/+ M__;+R63\[M0!6 7R[UAES5;F@O%\*ZR7B-)!LWY#WJ4NE&@<4*B-9YZS;X$K MZ??1F5BO16Q'2J///!Q>W+%9P(5&#&R6]]EN([,-0_L#RF$)]_#0P=MQA_93 M +$B9Q(-SE86X*\=7PO8;:4U.B6Y#DKMV18=S<%7GZT0!28*<"I$3[-!1P2* M0VHO2,&L$*:PO-KL7R*D9IH,[!I%ZU,.-U)KGI&3FB=7=_&!IBRCVGF3N"?O M2A%7\"YM)T.7J-(4,Q$@2C(J^;U@V8;K0D209 4^G+?.B>T:UPZ%T1KE!_CM'7M%L4Q&IXO;NW@U/OV]CV@RV>J5DM5")3H:YQ64 M+S'V['_JE?(!YQ")))>H/>5R':&_(#0$NC!!9U(UFD,]S"ZE_#UL+!E87PD6 M'+'C6MF_=B;8#$QZQ,EM*RBQY2KPM 4A@4[W/6X0)$)N1D>GW82BS$&IL95) M!0'.+!30%!N_I>$X?M>GWK4D=&?W=;\? MHHGIY22M9K[2X*8E=8JUP<%+FB9/B:N"=8&#IS0<&&@L4^]D1J,'8E/4:"U7 M!^U]KE7;3&B2/*99UR^HBD'E]4#3=96>QA*)#Y6I!2D@#])DJV8F'DBT.HLZ M[?C(T"747H!^BHH\T+8AM5\$#G8KM]3)#3*2[+832EIL.FSVN^1C.GP+DK0V M'HU^;:C!!VSLY#C=\!X[E]28L8'HUBG M2Y38"I7&5UWD!'!H85Y52F:\V?ACH$[6G[,9IE9T%K!?):U$[;BFPI=2RP>%F/)\?FAJ94(]_+V7+>")?=FHIVX>>L%B:7ZR:FQGBV7+2V)Z,WK'_X M1@')*\019??\A-N@BL^W">UE8$*#>YP;;T0?(/W;8$D\XQ $QSP)MEDIR[$7X[LGQ?V[Y/[0#X)A2R%"2X!\D MC2&C%%="15B;8DRX/LBNV^+<77S MN2G&@"V%8)?&>&W0;>,)$J"U8!N2])A-IZ9TXTT53RHKX_'%%"\W M.&@*2POP?HU$FAMRT!Y=I_\"4$L#!!0 ( )J(_5(/G#W*% @ ,(4 8 M >&PO=V]R:W-H965T&ULO5AK<]NV$OTK&'6F36;TMN,X MCNT968E;9YIK3^3DO7O[UF I*C&]DWN[?2++1&+W;.OLRN> M;XW]Z@HA/'LHE787O<+[ZFPTY?G\=F=O3PWP2NIQ9UE+I0EM[LKH[GQOMU]%W^++D3LR-^D/FOKCH MG?98+E8\*/_);'\3M3^O2%]FE(M_V3;)GKSIL2PX;\KZ,A"44J?__*&.0^?" MZ?B)"]/ZPC3B3H8BRG?<\\MS:[;,DC2TT8?H:KP-<%)34A;>XE3BGK^\XDXZ M9E;LS@HGM.ZC6[,TIF4KCSD0<2TC?* M:JM7R>KT":LG[*/1OG#LO4<07ZZXXCH3;$&E[QB/JE &HBV#:.J= MR$2Y%)8=3>)3G'E8>$+I HX*4(Z/VFXKD4"[J&H.3%841$@;P5[\;IQ[R6XT MH H&=HQZ?6&%B-)./K R%;F@(G\$VP_"67B3?2V,RH5U/_]T.IV\?LO>_QFD MW_T_YNG3=T.8P:Q"Y:TU^IR$B<&)BQI5B//\"9DM:?<'QT I2SYDFIE40 MSH*UE'W-?;"B1EE+9@ H$048TTBOS%9>65=V:A5J"B4?@Z3ULI%:: MW#%7F*UF4L>:LWDLJ:WT1?Q>%W2U+]>UT*@)I79T+BJ*$.Z2PL]:MO&*L9J5 M,)%Q]H)R-1V__74VNXL?)V]?ME'G585FX4L%A($,T($5ZZ#JPJOA+][/(W2I M/;26;"4UH,H8JLK8!#.Y-(R]:',\4KL^RX3UF,VXF29XTX,K8[PV7K!@TRH0$QS#7YOX[PH3OWS#)G5]3][4,4W%M1/<4EP0Q]03;;J[Q$;1 MCU)6()XH,17R?3W-DV#=Z Z<:5R%!@J($#T<'[UEMYI]Y#8KV/1-:K=^]RH3 MJQ4ND'DV89]=;+'WSLLREBAA^A#R=?*OMMIEZKKT?B3L1-[5H8K'EFK>NJ*%1NA0^(>\5!1#%@>(BOMKQPT7G<@'L+]T@::"$QJ M2CJ$ZJC#6;6C64FBI>#4C-%WH$!]EJZICCY;!D^% R?*6+G>G+5 P9H& &+D M,RNI:WA]LP&=H^T0=-VFI^8VI&>#L1( 84V&&Y4-U28VZI,V&G>>/PB7BFW# M5=BS"D& HA3@N"2LCBV)[E)"D@[Z[%SC<86^ /$"$F@)C&U- M23@HU$+38E%?4IA#D:^I[7(3EGX55,/;KO]-F027NJN)01.3.#/(C=@@CJ;L M@!;]/!(5TA[=&Z+5VIJD8R0%Z7RZ*A&10D(;#0$5"\A*07!)$(<;\*1!P TQ M $!D$.V,PZ50$DF@#-' KDERC:4=!%4S=Y^ X6PV6'85 M' Y1N0MZ%"H'L[Y= S[<7BWH0;,*#+$Y-/ELSOI/&"?& KG O$(*>&ZJZ(K& M;U^T 'I64F ZFPN51LXM:0",;RE*+35WU<:&B7//^UR\BWD7T&)"(LQM" ]H2%6?DM MM>F+!5@UN?%J/#@>OSQC\_A.0MA?7+>;*%LWM-65[>(]-\Y38&F33ZW"O_%D M9BWQ1HS+/3$?M1Y;"+N16>QUU 4JL0G$[X+7R;H62QMH[?^.A(VG_>9F2LGI M\92UC^8FCR,[8H8+%O.K_F5B]O*->//_C-USNQ94SP=W&J0+B6#(U:Z9,7\- M51JC]S1&R9UVKZ15\EEWW@PF /,CZNLZ?(WLM21$"FME#0\]]K9BU'FO1(04 MWYZ!@LA6>L74/FU?T,W2>ZF]>'J[AST5?.:8$BM<'0]?O^HQF]Z8I2\HL_B6 M:FD\ZBM^++"Z"TL".*??*\T7,M"^MKS\#U!+ P04 " ":B/U20X\8,NX# M !F"0 &0 'AL+W=OS0;(4U\DZCDRG@54> MU(HHC>,B:AF7P7KE;?=ZO5*]%5S"O2:F;UNF]S<@U.XJ2(*3X8'7C76&:+WJ M6 V/8/_J[C7.HH&EXBU(PY4D&K97P75R>9,[?^_P-X>=F8R)RV2CU#N%?5"[W^&8S\SQE4H8_R2[@V^2!:3LC57M$8P1M%P>WNSE> X3P"+^ M"2 ] E(?]V$C'^4=LVR]TFI'M/-&-C?PJ7HT!L>E^RB/5N,J1YQ=/\ SR!Y6 MD44R9XK*(_#F $Q_ BS(5R5M8\AOLH+J'!]A$$,DZ2F2F_1-PC][&9(LIB2- MT^0-OFS(+/-\V7LR.V/*!Z;<,^7O/Z.W@5E(CECRU #9*H$UP&5-+-L((!4W MK*XUU,R"084?/#=@=P"HU^H9M.4&]%$'H TENP8T#+[P7N#*5$E&FO/H+!MXR3,V[XE=<\TDQ8P<=QQ=+(-LWZ*]PE1> )X M,QC"MA83>@7+<']6-AQ#J$+,;CS0:CS0_1 SL?O.!\K,\6N82_+K+XLTSC[_ M;^^G1@.<51-YY"_GAN\Q6"S@B^4'PP>"!V<;U1O\<.:CKR;WB">CZU%:GU"% M7A(GH@N2);0HTHDAS>@\GD\,LR7%T<20S^ABF9_S=A,5#:[9G"X6\3!-Z5*6B4$< M8P[S@L[2?)IE1MUAC88DQW"3,TN]R<7CNH=S1*/+%*O(-:VM+XZV$^ 4W8'V;5B60'K4A?:T MI^(A'R"L0XHK&RZ$+X 2^+.[:LS'D#QI5L'41HG$IN]N"5<(GM1M5ZE^8[>] MP+HJ52\M^G%9BKZ"UYBQT(6#&D=TD19A@64JA&^X>'%:Y"J%Z3S MND,Z?V6A]+Q"*>Y@.O =6^S#T_F^=I='D]Z'PJA]AW=GBZ$?VN!@'7XBK@^] MYJX M#89?J_5_4$L#!!0 ( )J(_5)!=O%"^@4 '(0 9 >&PO=V]R:W-H M965TW.2Z M<&>#S/OR^7CLXHQRZ4:FI ([*V-SZ?%JT[$K+V?/3TWEM2KHG16NRG-I;R])F\W98#IH%]ZK-/.\,#X_+65*5^0_EN\LWL:= MED3E5#AE"F%I=3:XF#Z_G+-\$/BD:.-ZSX(]61ISS2^ODK/!A &1IMBS!HF? M-2U(:U8$&)\;G8/.)!_L/[?:7P3?X#H0":UDI?U[L_F9 M&G^.6%]LM M_Q::6C:*!B"OG3=XJD$R5.QU[ MJ&:!<=RHN:S51/>H>2+>F,)G3OQ4))3LGA\#4HT-)6* TQ/6+'I\^& MPF?$JDM9W"*#/U?*4B*DUL*LPA[JS'E9)*I(!9(EON:-WZGP5N'YUT_BT0_? M/8VBR4F[%EZG)X>C3FHH,E3S9QCVQ-I5(5YFV!L*U&RJJEPH)Z1(5*J\U&*M M$C+"4YP51IOT5L0-/)])+TIK6, A5Y-$TT9:$L[H*O!2BZ@B1OMP%/"79$-G M*6)BY"8PT]B0R9JL5XY]@Y!86CC:K9)UPQV14DO/N@ 68F6UU IU8=U(?,C8 M V;/J= +5.$IM=(#9\\1K)H^X4S5]/C$H6,I'^#!NZ2*O4,[@C%PY7=1KM$T MY%)IY6^%*RE6*Q4C6+?PJ_&I::- +E*D6@@;I>AROHUH7Q_ZY#4:,_L36T"' MLL $RR6DT<^0+#B'WV J. =FUBIFUPRHCQ7.[%*S^/").8&I-+64PA&P9>., M8U(B(P@A1==U\!.ZIX?B()J-(D14:]9?2A62))8N$XAGK V#'8I-IN),T$VL M*S2!=AT._8$^QBX&?;($BS<*+!"(.9CS3JPG#';_'[,TR/AD4&6ZZR!WU0%5Y%%5N-U8\*;*7BW MCM1*6>>WJP*Q0@8=S$>3SAB&@LI1K"TKO11=FB] M8UN\'S'*ZG@C[KEKZW,_?ES*I;&^"7@M_R4/P? ^Q$RN22R)F.S85 7'"[FP MDLK"40U)T /&/+*-&0EU"52RZ6+!VK(=0?%V!.$KPF=[F=V"7%*HRLX@-Y1@ M)L>7GJN/TPT_DZ@"!Q=7"W$\!7F+OLQC\9(*8-&".9O,3L1%( FCF[K1/;R/ MD#OXZ&5]R^2]OF<23/6)JG,YVLD5=(ZC=F$(8]R2^2-0W]9YH+B1Q\8F]=1; M;(TM^L8PW"M$O/ MX]A-F)XDR!FMDE!IEU*'.7;%7V--X;:SN[,C=_M956 6 M:O4G=M!47-?=T8V!).3PUL>'S5]Y_+2%\[;LP(>6S]V%,OZ81L8]>@U3A^)5 M <*I,^DS2W58G+IIFQ[Q]]Q^2/M,?IV;372>W260\'06YBT7>:^5O5W"??.?Y;%.W%DN)I[#696L;NU MP<+[MED<:5$CZ3BN+]^1\J2Y=C.UJT?]L44CW?/O9#WXL5& MJL^Z!##DJ1*UOAR5QJQ?3ZB+74.-)(57%#&[5:JK7"ECNA"HQI;X_ MFU:,UZ.KA:/=JZN%;(S@-=PKHINJ8FI[ T)N+D?!J"-\Y*O26,+T:K%F*_@$ MYM?UO<+=M$?)>06UYK(F"HK+T77P^B:R_([A-PX;/?@FUI.EE)_MYBZ_'/G6 M(!"0&8O <'F$6Q#" J$9?^XP1[U**SC\[M!_=+ZC+TNFX5:*WWENRLM1.B(Y M%*P1YJ/<_ 0[?V*+ETFAW2_9M+PA:LP:;62U$\9]Q>MV94^[. P$4O^, -T) M4&=WJ\A9^989=K50@9O1C[(VI2:O*MSR _EIVA;;R#M M#+RA+P+^W-03$OH>H3X-7L +>X=#AQ=^ X00;4$1<+ 1=!'$26; M54DPKM#'U:D@F.+XB&L"3ZT*PJLU9@W!Y.F5;)A&,F8#*,Z$%7%&K'$K\PY& M8*I;0PRSCK?YSK]8D_'X5B)JO?W^NY0&R1M$VX>(N1"YP"D0J"/'K,V:JME] M5U(9_H79='Y-+( ?OOG?KF/T#!V6C49_]*N>?A#X$Q?T'.>]DEJ3V^YR._+U M(# =[1,_U7^NI)-;>S2!W] .W?TH%B.[0-;B[O.I;)!./(M"+S9_-CE M,?7F:?SJB)YZB1]_!4@\H\<@7Z:> GU!_R1%_L^7ONDL.& /ABICZ]F /?7\E)(':3!1C[.L8[L@09)X01 /*.-9Y(7A MX :0*:!>DOK/Q>B0,HYC+PK\ S$:>,G RH.W D\X6VC851$%0*JV>8!M'L\R MQ3ZC(<4G7).+:!)A6Q3"=7CD0$+<$3R\7+T&U_?%=G):=U=HL)J>J$3N,;>G M%^ED?JAJ/O%[0E<(-7_Z*B>>V_A.&UXY@XK&-%CPK9W9\^K76R^+4U9K2S]0 M[-E@(;VMS?J?5\_QZ2+FG-G?30)[=GL1'HG2=)V3%9@E]J;G'AS?(AM.IQ_U[:#;=PL!_D/[!$4CJ9X M1W:^M56QT5 T@@A> %EN<1+[ R_>Q9UDPJXGP_^OHW]7DRTPA9$_75"#X%PE M2T_7FFCHZ&"HL*V>*YRV\?WP'!=><)3,&^4:^=^_; S#P<.>G!JEIH-!%4U> MN7%_MWX0-3*UYK(J! 47^2Q".BVA&\W1BY=F/O M4AJ,C_LL\5\+*,N YX64IMM8!?W_H*N_ %!+ P04 " ":B/U27&5QJ[0# M "_"0 &0 'AL+W=OVOHJ M6 108L4Z8>_5]A?(42QO_#MM^;)P$4G;&JV2F3!PV7_9<][G@X4%@\ MIY#M%#+O=V_(>_F66;9::K4%[783FAOX4+TV.<>E.Y1/5M,J)SV[NM-TOMH^ MA7 GF+3 9 GOOG2\)>+M,K9DPFV,BQW<30^7/0,W@P]*VMK .UEB>:P?DVN# M?]G>OYOL1<#?.AE!GH20)5GZ EX^Q)M[O/S_QWN$/QGP)QY_\EI\O@PWBV!$ M; =$W".&P&4ANI++S2B$CLC74+"66R9 (&4MJ+7@&^8JP7B(W2K_BB485=DM MTTCI_$!EVH,4RE@3TH<*D$:@*K U0J4$%3+9NX0??UAD2?[3JWVOO9%S+LF0 MZ@QY:=X,BY0(."3"('V+!39K"C9/_4H"MZII.XNZCY*8XVV-FF@8Z3F#=!;. M+J9N, FG\SG\7E6\H-@Z+;GMB(@CD@=K:9BFT\-9-H'WCMU:B1)XTVKU@$[# M#)LNPFPV.YK-X?:[J!_MI&$VF0_319@O,C)K*,*BZ)I.,$M )5)3+CCK>QVY MSQJE+?_:"_;*YUD2SJ?I2.MY.B7T_ W\H5RNM"\GF\21#")O3N1EAX)%F":C MI]0V?I MGR_2H?)<:5-9%+N\/CP.[S Z%K(H/^$E&8D!^GT;\S>E>C:0L-M7YM.^Y82@IA% M67 TT;\U_OC@4FU0;_S3P= Y=-+V]^L@'5XGU_VE/&[OGS8?F-YPZKL"*U*E MDYD&H/OG0C^QJO57]%I9NO#]L*87%FJW@=8K17'L)L[ \&9;_0-02P,$% M @ FHC]4F@F,H?Y!0 \Q0 !D !X;"]W;W)K&ULS5C;L9UFFDPR<7/K,T2N1,0@0 .@9?7K MNPN0%*V+$R=CIR\2"6#/7K![N,#17)M+FP,X=E-(98][N7/E\\' ICD4W$:Z M!(4S4VT*[O#5S :V-, S+U3(03(<[@T*+E3OY,B/79B3(UTY*11<&&:KHN!F M<092SX][<:\9^"!FN:.!P\T?GXV MIO5^P1GF='?>&9!!(2!TAJ),'N M7\%(MK?]E\[ V&?58 M6EFGBUH8+2B$"O_\IHY#1^!@N$4@J042;W=0Y*U\R1T_.3)ZS@RM1C1Z\*YZ M:31.*-J4C\[@K$ Y=_**"\.^<%D!>P?<5@8PXNYHX!";5@S2&N*.?6387B*A5<,J&L,Q6A6%S)'>,&6!&P,X;O4U)Y[552C6"=I94QI =S M7=CGC$"'HQ>_[/_4,CUEF W09L/:FK\K[="==]Q<(HT]E"471J08>*'8J:>2 M;PI\%#,EIB+E:KM1?Q">RW5ENX[\N9STI/+)AK2HWO M]N=UAFF!:!)C;$E7,_%^B?5:E55G9N7UDW8HW_>PC5(%C];'4G61D8= MWY>Y;VO;OIV'Y]SF#*XJ@"3X043L C M%,.]Y-;SO:FE^Q3W M]_:&[?]C4<5J_@23+3E '%)H!0OL_CU!3"NL.1I]P1;0F>1.2BS^: +64JN;58WM146E87 M$@%2>]KI,7.!X3=IOO#8?BQCE27_K@+]U6:7+5V%V>R92Y'@QL7VO :GGSR*VSMO@4FEP7N&W Z1F;4;XM 46UG+DE+APV1 M/Y5VW1%/N$TT^OXY P>FJ.TBI9UXU]Y9S F$_UIE,XI&A-^ 5)L,PT@[&$!F M!H"DFT7H&9A4D*6HM%%".]7!%Y:A'(7=>;:OCQ88*AR;:2/^#>(U?4;L YYC M<.&A1=4JVGMQ9P5X7?J5I)$]5-&2W\<#A,W8-LMW7IS?\9EWC@ CI0 MO>&JXF;!XI6S2D,EKY;>\NPK'O"#L\VRW7UVT:1L5OF#& 5A =RL$6!7Z\;S MT6H'].EVM-L %R4R!L87![9&.U27+Q.>8AE?A[,IBAA\5@CGN)G1%SGG6*X3 M ,4P*T3AI4*)[FCH'(&JWUJ> %T#?0"09?]!I9T592A*(5*995!(QGV ($S M85-=X6)#EJ#:>!3M/O4TU3AXK=%*JN,%S2>'T?!I]$ QG>K*, =IKGRO@R2- ML43 NZ*+M!Z89R?PBX\O3B!%YR+-6]W66U@:/0FLM-B9^[LK%&DN%6[Y C?$ M]C3+%[K":!84IVC3U< M"=PO"5,4'4;[NSW<,7_%%EZ<+OVUUD0[IPO_F -'_V@!SD\U?@3J%U+0WG.> M_ =02P,$% @ FHC]4HX!);C6!@ 1Q$ !D !X;"]W;W)K&ULG5C;J+=^<*=F<\\/!N>GE9S1=_)_5K<6JT%K)5,%E4Z9 M4EC*SWJ3T<>+0Y8/ C\4+5WGNV!/IL;<\^(Z.^L-&1!I2CU;D/A8T"5IS88 MXV=CL]=NR8K=[VOKGX+O\&4J'5T:_9?*_/RL=]P3&>6RUO[.+'^GQI\CMI<: M[<)_L8RRH_<]D=;.FZ)1!H)"E?%3/C1QZ"@<#U]0&#<*XX [;A107DDOST^M M60K+TK#&7X*K01O@5,E)^>XMWBKH^?,OIIR]\V0+<453?SKPL,EO!FFC?Q'U MQR_HOQ=?3>GG3OQ69I1MZP^ I04T7@.Z&+]J\'-=)N)@V!?CX7CTBKV#UL&# M8.]@)P>35RP>MA8/@\7#_QVRU_6/$[%M0MR4XB;U9DI6C(+CGY/X]9?C\7AXF/[@DKL2IE06$)*2/ KPY\/*I:F8I?ELJ/Q>\W526]RX(&BRMR%4I MRU1)#7/.*U\SSYRHI/4K5K#D(P"-3KB7,&IG@5 M5&2&8E?.6\FL!1H@Z<.0!WYA2 M^-C0.IG!R)X"?DN5ENDSJ#_)5&GE%0'9:[CW8RJE*-$L'95LPE%:]!MF3!+.>?H#@@ZE6@HM0Z M[I<'A$QYA\ILB;Q)R%1J4)A$5@:V1)(\!XVL;HOZX:(\2,=E$)2=B&"K; M I#J.J/XC@'PCG59NZTJ:_/*>6G>/DY^#,,F?FR2$!HT MW:6K:C,H(O:IM.I<G]ENY)PQ)XM3;-]8-&';K8G*F#=$XX M^X@SCKN<_9B^;MS[W(?1?* 7N0?T43 4;'1D_:3-L+0;*RC>0(AND (QN'Q1 M!DQ\8P/_84;!VMSH+*0I%UP2W#IWK^IY&!ZYLB!KQ0.5'W(E,/U>]&7C1W/" MVG8'H9QD[S[CY,['D'APZ^!OF8PR1 6#'KR1RA2ZP2X]IJE\]X0F8 -GCNN# M":,VY)=\7U!%7;SY?E(0C# MBW"JXL-@&(O(/G<;EL.UFZLV8\C-;$R>RT,P?$4PP,W\H'L@!1^7\.X?LJ8= MKUVSK/EF/.ZL/':'A?>5.&J/#4>%^_P=4X2'K$ WN?&^/6" M-VA_.SG_%U!+ P04 " ":B/U2,Y(W8R ' >$0 &0 'AL+W=OV"5H8^..&[MI6N?T/:;B]&\]'NX$:MF\ 'T\OSC5S3+84_-A\Q;LR=+:3_QR75^,9FP0::H"2Y#X=T=O M26L6!#,^9YFC024S[C_OI/\,NO\+X0OUD3&B_>FYKJ0_XI[!B,*7?&O"F_*?#7SA1B,9N(^+ M<: 0X]'[CS>CHUC"M4C]P!R-0HTY!>E@24T>N\74 F];Z>ICC9YBA3MMOGC2 MA2^,@4*4:B]6NF-=,*+N8)$552/-FCP4L@ZJI-_C K8O)'G%\AZUJQ69-HZ./P<#2@4DBQ0:H5Y](!UC86 M+P@N3%"V?A0OZ:,H1QX@PW[N.<(?[J3N0,\1YXW C29US'")4 M@)&A PU_"YA!@57Z&*=:^Y@]28;Q M)VL&2JRS+D*F3Z,ATL2:F6K+4Q#T UC]_N?UN^/Y*S%F@$'5&Z2E@7AECH#B MR&2K*M'@HQ1K;9?@AA-5DR2WG,W*=B8XACG&-H5GB^G!_K8D/; L(U],;\U0 MKQ6M\@3:R)Y?@;&7OX\#Y33IT[4,)15_6]HZT M5E[+'%$3L*^GALIE%6>*[S8\C\22-PS"S(#;#_4\A&-P?NW5S?O M;\55%>+[_#4Z(^$)L\=A-"272Z#=: OO1)Q_J:HK1Z2QA9P 2>DI\9X#"":AY:B$.< M?!P1E$CH:00K>=)SBK2D////DU'^R@U=Y5O[7P5&(JR=' M/5?>DIL"JQ?BHW - &RL$4./62I\"U($A$MP/[Z\'>S:X8DM(;7%;:H:ZWGS M=*[/RR!,@4P+Z[^Z9:0(1;MJ0+AK8]L@&4N"C^@"K3[QE$7=FQA1] P?X M<$=@.Y!A5.72JUK)V$8KI0^76\)&8/*^PD&]-M#)J^$-#WB SBVY.X5HC7.A M7M_<[DHTJN#.LIW/@R,J32+RBKF_<7YE];WV3J)Q'RSM>:U U2)*$AV CNJ3 M<9F0KP%7>7OJAWHH9_,7Q_CS,GK6DW11'T31O408G(^'2;3R]!+N)-^"E#;A/Q\<& 23'!/B^LC;L7EC!\)/(Y;]02P,$ M% @ FHC]4DWE?;_1 P 5PL !D !X;"]W;W)K&ULS59M;]LV$/XK!VT84D"U7BS)3N882-(,V[ 60=.MGQGI;!&A2(VD MZN3?[TA)CMS&P8INV+Z(/-[KPSN>;K53^M[4B!8>&B'->5!;VYY%D2EK;)B9 MJ18E<39*-\P2J;>1:36RRBLU(DKCN(@:QF6P7OFS&[U>JX$_..[,9 \.R9U2]X[XI3H/8A<0"BRML\!H^817*(0S1&'\.=@,]BZ=XG0_ M6O_)8R67K\V 90(4;U@G[7NU^Q@%/[NR52AC_A5TOFQ8!E)VQ MJAF4*8*&RWYE#\,]3!26\1&%=%!(?=R](Q_E&V;9>J75#K23)FMNXZ%Z;0J. M2Y>46ZN)RTG/KD]^4\:\@FNF)9=; S>HX;9F&E>1)?-.*"H'4Y>]J?2(J0+> M*FEK ]>RPNI0/Z*P]K&E8VR7Z8L&?^WD#.9Q"&F<)B_8F^^QSKV]^;=A/;"= M[6UGWG;V3]SCRZ:2> 9'S<&'&F&C!#TF8H!E=P+I<91*EER@ 4MLV36HF57: M ),5U:A45#G]06>P BZA5$W;6>9>A@&U\7I4W;SL5;CH+ E>W]R2,^VYMM:( MGFOX S1]JM&E&BA12(DZ@Q^^6Z;Q_,?_;/W@8YR6X9YU2T$_RQC7 41X_&!< M73E.B?@%SKLQ%\$$Z^R,2KO?3W<)*D85XLIT=9&"^64Y$B M/$VSJ401YLD2WCR5PK%B]9I\(XA9=35%9@'%U2D7566,)@BO3427) M3L/\M'BBYZ?A(I_2BW">YX?\C.)VMT#=&W"SH7;N"M9[>>T:<@5LQW1E#@), MTJ= BW"QS(]R%V&R./T23#6Z_!HX&5USEAR'D[F\+.#2I_=$^)SC^,9;>N/> MV321\2P^R#31\\_X^6?\O+\NNI=_RT.V)R_ZCG-%W83)1ZB9H6;4*NV\2ZIK M%\!7=)"^U8? A(!66926T_9QD@PL.\TMIX0X&(P$1MX,+MI6JP=.OVHDG:28 MS>F/*02UN-![I9-L/('=D' 8$S[DF1O3^:;:46!T75:5]X=EMD/R+)5UKU5T M5=]/';YIURR9*#OA^^O(_KOPX0Y+1GW:*3WVWE["6],/2DW@_LOI_R=P0ZKQ M;)$'H/LQKB>L:OWH=*&ULS5EK<]NX%?TKMR#,RQ9<>3AS/V-FD36?39.)N=OH1(B$)#4DH "E% M_?4]%^!+EA0[N^GCBRV"P,%]WP/P>J?T9[,6HF1?\ZPP+P?KLMP\'X]-LA8Y M-Y[:B )OEDKGO,2C7HW-1@N>VD5Y-@Y]?SK.N2P&-]=V[(.^N595FQBU**G-1&*D*IL7R MY> V>'X7TWP[X9,4.]/[S4B3A5*?Z>%M^G+@DT B$TE)"!S_MN*5R#("@AA? M:LQ!NR4M[/]NT-]8W:'+@AOQ2F6_RK1U^XNH]9D07J(R M8_^RG9L;3@8LJ4RI\GHQ),AEX?[SK[4=>@OF_ID%8;T@M'*[C:R4/_&2WUQK MM6.:9@.-?EA5[6H()PMRRGVI\59B77ES7ZKD\^4=]$K9*Y7#UX:3N:[')=!I MSCBID>X<4G@&:J:)<&_:Z2$5ZN'X,J5K1PD:TN_";@'^M"H]%_HB%?AA\ M R]J58TL7O2[5#V CEOHV$+'/\"*WT8* H^=0V.O\TVF]D*PUU\J6>[9VR(1 M!44U^Y#Q@KTOV+W8E")?" VCD>&"V8B5:V%A>+%GPI1\D4G$2\ID:>P,]CXO MY*(R)U"U6FF>LR%!_.D/\S#T7]@5M)U]#EY:A]SO=.+%:HXO)+Q3.YE)#(D,&9VI"1 M@>\>^095+I'.\IJ2&Z\T#*AE4K:+JD+2.(FAL)5VPY<'FE8;4C8,1\$\9&;- M 4)&252> ]HN\,AYMQLM,Q94%9 M[?O^V:U@S*'$-(#PHB (621H.48P3"*LI=2F9"G\2='%$7][P5&?Q4H6!04= MH@H"A18+,50/T1.@LLH.A'X4C YES(0QS@S#VPOL F-NA":[LN'DCQ?T@J:A MN\$A#O:,$K6@&>_DI&>9YR)%4(ELSRB^A,582I- "*N#U?[N N:"5K4\/%<5 M1. &#:<4> <;#86\0[A2 CIP:S%X9DZ.H%"23+4@CGZR,/GFQ6R17[<%$;85V=J7 HPDC0M@H;86$6;IQ:RE,_D;\EVM>,O%U(VUX M4,Z0G9="8AV*&*5/YGZ9]64MH=W0:K"3B';G:TX;D8NH$E :0)B=S#(4/JJ> M"_$@.0\\V=2@LW*B]-2>6P@$C(#(B'AI+)RI%O]$/:;TV,(3-M[!"],*@5G7 MM:6JM(U#*D&&+@_U5=A&G#FA\FIZ.U MY$MN7(2F;0P8^?4R=YR,VFC*P*A$RZCLU)]0@6SAITJ(49^BE%.@9J#KYKGM M^G[TXK_VWW*?.B)_,\BOEHM#X5MD--C!#Y/NHZ!S#KGPJ2O^UO;51X5[57,< M:D<_R^6QU+>KE18KBK6';YH,;IY?NQ0F!DW&T_"TVECAG)>P3 MSRK!WO?:FPNKXS@)XM$LB(Z@8B^>M0\S;W9U-".8!Z.K(&YE;BKIY&I^-#<, MO2 \& W"T[:F\0:Q+F# ' 8C?S8_5CCRHLEWP[;%&[#SJV/0:5_U1T&/3'R8 MG#"O'\?MLF=LXH57,&@\H=\@]],H[BF\$;:>U77K)&(TF@?S'N"5-PM;<9ZQ M((Q'DS!Z:$3;!4[!34?Q/.K!1=ZT#Q=.8'J_L\?] 4=P?*(NEO8H@.V2BCJS M<7V3"+]M;FB&(*GZLR@;4HVR!4YF[R/00NO1IEQC72KM)I;SH*;OZ \:Q"%+ M::+N!VW&TDK32%UVV?FRBUI^;,T1O!-'T5/VKONYU:I'0\_ ]L\0J:1&:;4U MLF$#O0TZ=<@A8!6@APOG?TC2K 9I4ZM"_DM8-D*15QB*$*.(S$' G801 4UD M?5-[HHD"8J&[IO[QNOYUO9DMN=1L:VL0='GHJR?;V ILJ]0.H?OLRD-D?$&P97O'C$M5VD-&4P:/1.A*RF\5(O*]F.5@;;9IDS"^%S4#IV2R MMG !T\P14U,!9GO>]G$5;:C])\9I=@64*0:P2Q)J9) MQ&%])D/T7##?FWJ8%GA@M6T=!&]FP[WK=M/^F_;3! M]ZW IB&8#S>I3YTT78NET+KEM4\/#"Q^ZF2_R^8#4GKRH/8(.WTL>_[C[+1W M%' -ZG?0M[;3N=-D\_AGFUD_4=B^H8Q^.L-J"=,HG :]3@M6%3M88DVS+@31 M7"*??8).Q%$0'1U'"7POG+(W+8-Y2$\>I2.C:4\B8@M44U\_A7<$( K3(RMU M5?=L^3]]]'<=>^N4?'J$VQH,H9N*>Z9?5D7;W]*#J[R#>Y6FZSG0&%6@K>/N M,E0> MU%T@%T9E,N4NR/$OI[L2VN8]=N3=I0T5%BW6],%EBQK[LS(HGF\+>R?POSP2 M'H<.=83^QX8N]Q $)U\T_UMW'PT,K>5496 *Z&V#QJ9A]^N#5FF54(5&EU8; MLF-W[HFZ& \F83]=@SZ-#R<1N^<9776[WFXS#M9WWWKHYJK:T(U3+_VG5QUV M=-5AAZ.HEY23*:J"*.#2S-V*ISF.JD@A;B^\ND63>0@TV-<3R^-^P9B-P@.KX P8M\^GOL",>]^T8):5_7)'W:XJ2O=YJQUM M/P[>NF]BW73W9?$=UROP.I:))9;ZWFPR<#>.S4.I-O8+&?@_?&!_K@4'1:8) M>+]4JFP>:(/VD^G-OP%02P,$% @ FHC]4J8QND[,!0 :@X !D !X M;"]W;W)K&ULK5=M;]LV$/XKA!=L+>#)EIPX:9L$ M2+J^9$C1H&F[SXQTMKA2HDI2<;)?O^=(69;=) .V?;#UPN/#Y^Z>.U+'*V._ MN9+(B[M*U^YD5'K?O)Q,7%Y2)5UB&JHQLC"VDAZ/=CEQC259A$F5GF33Z7Q2 M256/3H_#NRM[>FQ:KU5-5U:XMJJDO3\G;58GHW2T?O%)+4O/+R:GQXUCL_3E^3[;!X.OBE9N<"_8DQMCOO'#17$RFC(A MTI1[1I"XW-)KTIJ!0.-[ASGJE^2)P_LU^MO@.WRYD8Y>&_V'*GQY,CH:B8(6 MLM7^DUF]I\Z? \;+C7;A7ZRB;885\]9Y4W63\5RI.E[E71>'P82CZ2,3LFY" M%GC'A0++WZ27I\?6K(1E:Z#Q37 US 8Y57-2KKW%J,(\?WKM3?ZM-+H@ZWX1 M;[ZWRM\?3SR0>7R2=RCG$25[!&4N/IC:ETZ\J0LJMN=/P*BGE:UIG6=/ O[> MUHF83<W8/=[V/T N_\?H_4.W)4B%4 M[8V0$+^ULEX2JLE#8+X,[Q8+I97T),Q"?%9+LN*=-C=2BP^REM%X+"XO7XMG M#!W6G[_J+M'^HKXE2-1VW+K+<[$JL?K-?:"T;2F:UN8ERJ@0>[-I,H6FM>;R M!(>! QV2$[FI*HPZ#@2\$5+ Z5LFW6A$+#CT;)M:;NJ\M99'?K#=)3JP#6%A M"EBRT>0'I"ZN/B;B,VZ E^,?_KA26A(KZ01];Q$RA+FS[(PP=2\[3*;0,%HG M>'OC88?7Z3A-TPC@(NPZ:Y9R0H\J.ENY7%I:,O^:V!>3$Q4N(K_8A&Z,3"+; MZ$5%BQY7+T6+*K0KJ\+#@BC.23=3DHU\LME#^NEBP KR+GB%V*]*E9=;9LJY M%C:R+H2#2J'%%X>'G6N\YE;VI.?LM3=:Y1A;D&5V.\':Q';<+:?J7+<%QP3K M+EJM!=V1S96C=79Z;P=%8IJ0/V1EK3>$?78P%;(H% \AO _3?"0C3^7B8)9D MO8X7UE1K*?Q#9@KEIL4S3=(VT14U&FQB5QNG ^S9 ,Z=PH[%.E[T)DG M1QLVD%[4].,U$=(7V (L!GTO/4H.>Q >W\O2 >P*Y;W)#*3QCFJR+%F8GA78 MIY3S5O*&BW3A .'@(,RB=A"#FAL [J :54C6V;7')= !BX^0@>0TN8#(0;!4 M\E$ @,\NC7//T5&0-NH]]*4EBDI4=Z**VQ'Q=B2PF5"_F8R14]=0. SH^QAD MUGNWW2A]$)T%:6&QU=^CJF^IN7X_5H8=5^) 9CI'.(V*Q51!2Q#70]9,6AR.H M) <,=RSL,-:O][QL.I[-#AYK12QJ_$7UX/JK+Y4M^'BGMEMR3\3CQ.M:>Q\! MQKR[ O/J M5(* E,:JOQBS9\+].Y>-X@WEQP:WV6>')FOO7-RNIMC$\'O4O49:<2MU2V(/ M._HT'6R0+/;TA^FL7*>6=2C\G4#LP@W0$O&VM5PYVT&052QS7@L+>+G>MOKZ M>M BAUK4 NJ)!R"$TMC&Q+83++<@;NZU7.W*% IVS/]6F=9IWBT X##"*;-8/WC3A:^+& M>)1?N"WQ,4B6#3"^,,:O'WB!_O/R]&]02P,$% @ FHC]4J>$4B.O!@ M%1( !D !X;"]W;W)K&ULO5A9;]PV$/XKQ#8H M$D#8U;%G8ANPG:1-T,.HFQ1]Y$JC%1M*5$C*Z^VO[PPI:25?*9J@+[9(<6:^ MN;ZA]F2O]"=3 %AV6\K*G$X*:^N7LYE)"RBYF:H:*GR3*UURBTN]FYE: \^< M4"EG<1@N9R47U>3LQ.U=Z;,3U5@I*KC2S#1ER?7A J3:GTZB2;?QF]@5EC9F M9R2B1(J(U3%-.2GD_/HY<6"9D2=;I3[1 MXEUV.@D)$$A(+6G@^.\&+D%*4H0P/KED/6$9Y+R1]C>U_Q%:?Q:D+U72N+]L[\\FX82EC;&J;(4102DJ_Y_?MG$8 M"*P?$XA;@=CA]H8-X$1%2;FV&M\*E+-GEZHL MA<4H6\-XE;%+55E1[:!*!9B3F443='"6MNHNO+KX$75+]C,J* Q[4V60C>5G M"*W'%W?X+N(G%;YOJBE+PH#%81P]H2_I_4VA;(%(H%.H07)[#&TON0X6JTV_6@:;Q8K-P^B3TU&W!'9/:+X^F@Z2 MQ9K]ZJQ9?CO & =Q' _.K9=S]KNR'/&-\SP(0[P(YLOPSD9T!/AK#9I3!;&? M@ \#\GL!5&PUKPX.NL!HFV9K1":XIEHK^ TP3 +6";ZMK&*JUR5)%^,[#>#S MA .#I: M#@;*/BE3>2Y28*;F*03.1(:XZ^>$/7B)'72H.W,K3K M3.%$PV)!NU@B&4//J%!=#=6-\X^45&!IQM 2/C>B)D?OZ?.1&#NP%[9XV(E? M@+).L''Q ^"<:8,_ (SCQXG: H/+2D^P0 3[0%L/=\(NXAJ1]96RQQ9_%DUC M'"=2NLF(8KBQZ#8"/&]J5#+;B***M(_$NELD]+,]8% ?S\,ABE[P6 M1'LM99W?'VJ!2U#'7P7/F($;J)XFIKZ-V;X0:8$TH&Y$!NZ,*SID$I.CPVA- M[2MDBT+4C%OW$FA$Y.[1&\$DEPPE*1.DH<$2T?+@Z,,80-NV0-D])MAS*:^0 MVXS850(;A2.*G O-;KALX$DCTQ%7%YCU5*(%U$+D5<#887K=AJ_C)E2J(55H M^&\O@4RGJ=Z4SW\+E\Y)P;=""DL#8,!C> O)J)#=?<0H*3+'=!=<$O>R:[J1 M>IB^($FK0(V,OBNR1A+3L_RAFNXGO0O??7>P-E/9.)C"S2)C7SQTRYG^WQT0 M!5&X&7= '$1XIQAU0!1LDM6=#MBX+ED=)M'G!KOP)]M&5%$8(1U@?[E%1/'3!6@3+9//%J%V.:\L4 M2EO?"D-RH%#=.2D5 A\=3()EM+[C^5T8X^OO6ZU*9O$SD68V_1_3@' WF+^0 M1>G]#5YC,*-H?X<&L-=3 $JV+W1L(5'B% ;A+F+4 II*VC5RMPI\"Z,B#%G; M"DJC$ORBQ1YJM'%AWC8&;_+&C!N56DYG9M12CHU&+AW+V^-,E<&L[ OD,F') M(P2^Y5L)+91>G6>"+=#!*FTTW=+(,2=*0+DO'&0:/(5HN%$5*CHP+!Q14O]. ML<2.-HG'VGF548=U6J?L7%)O[ KO?V/QG@0=3?V;*!.&2EF"@46:GF4* ^,%I$!:;UW'F'JC5+\#0QA3?W=OK0T8EY&?6B RR'.J M"U4-*X:J+%J],GT& Y9CN D6SC[,BT[906?0DNFGWZT?)CNMB M;0_;)99$OL='2F26>W1WO@(@\5 ;ZU=)1=2- YA%4FS2;3D_26FJ;K)?Q[,:ME]B2T19NG/!M74OWN &#^U4R2PX'M[JL M*!RDZV4C2]@"?6]N'._2@277-5BOT0H'Q2HYGYUM%L$_.OS0L/>CM0B9[!#O MPN8J7R73( @,* H,DC_W< '&!"*6\:OG3(:0 3A>']@O8^ZZ_0)_/<>!3:'S\%?O.-YLF0K6>L.[!K*#6MOO*A[X.(\#I M:X"L!V11=QI)-AU)]@K)B;A&2Y47GVT.^7-\RH(&5=E!U29[D_!K:R=B M/CT2V32;O<$W'[*<1[[YOV;YC'4QL"XBZ^+_:O %F]%"O]>V%-+FW#$-.I([ W]Q6221:Z\, M>J93P&[:BA*P=+*IM!)Z)*3IS(&6D%GOP;8A)H<@)&DXN@>*(EB3YM^Z<:'9 M5(S-F$.HHV -L5O21O_FT+M'3F;0]O[=:3;[\-$+56DH1NGDH'2< K6\ ]?+ M"!W_Y.+ S2%1\M8R3QJ#BF@5_;)T"?Q0SV6-K\JAM!Z+U M4+0FN//*,6?1J^37;4/%>.71Z)R);$#10,G4X^'"?"=<.I MVQ V<2#LD'B\Q&7%\QQ<<&![@4B'30@P_$.L_P!02P,$% @ FHC]4H)- M82HR @ *04 !D !X;"]W;W)K&ULI93?;]HP M$,?_E5.>*_(#*%T%2*5CVBI50ZVV/9OD(!:.'>P+E/]^9P=2JK4\="^QSW?W M\?>N1"1XJ91VDZ@DJF_CV.4E5L+U3(V:/2MC*T%LVG7L:HNB"$F5 MBK,DN8XK(74T'8>UA9V.34-*:EQ8<$U5"7N8H3+[291&IX4GN2[)+\33<2W6 M^(STJUY8MN*.4L@*M9-&@\75)+I+;V<#'Q\"?DOB M4?1D]M_Q6,_0\W*C7/C"OHU-.3AO')GJF,P**JG;4;P!#HWO03ZX@2[+T M J_?U=@/O/[G:GS#''3,06 ._N?<+B/280_^PWD;K5[!^[:]G\-;Q^11V'7DN4J7'%JTAL-([#MQ6P-,G6X#$M#?+7"M.2W M#*T/8/_*&#H9?H/N=9S^!5!+ P04 " ":B/U2WJ=GS30( #J%0 &0 M 'AL+W=O9VYJ3^2TGR$2DI"0 "\>DO7O[]D%24F-[3KM[?2+31' [MG7V04O MUM9]]TNE@G@L"^,O.\L0JO-^WV=+54K?LY4R6)E;5\J GV[1]Y53,N=#9=$? M#0:G_5)JT[FZX'?W[NK"QE!HH^Z=\+$LI=MGE^?TG[>\ ^MUG[G69 E,VN_TX_; M_+(S($"J4%D@"1+_5FJBBH($ <;OM>L(W(UE[$(7^SZ5U7;@; J?AL35AZ\='D*M\_WX#KA@-1L,7 MY!VU'CIB>4?_0P^] ..XA7',,(Y? :.2;HOBWFF3Z:I0O#JQQD-ISNM/1>// MUR(>E@K5E=FRDF9#9F,Y1]VJ?&212%P_22<:;#9]Z4MD]U0WBDF$OM1+5;6Q!+,/$*U+J%C=!JFWOA MEW9MA#:<%5VW1=*(.<*(H-K:N*/(2S)/"KT:V_V%?C$BHR M*0XH5J/!^U_&XWM^'+Y_TWI=5A6*6LX*((RD@!:<6L2B3KP:_O3CA*%K$R"U M%'-M %6SJRKK$LQD4H\YP^5X56RZ(E,NH)WB9&JZ30W.K0W&!B5R[;/">GC9 MBZ5$9L^4,N3C.AV@U98ZD'%5=#X2*P7+B!)DCLO:QH+V0JUT&OZ9D<^1G12E M"%E.D /8""KN0D'UU@K?IEF/&, KG)$QU\G!R>9G,O2F%;*3JP@KX6$0DF,$ M@[Y%D[HW!YC=7ZOX]P(3O_S )G5^#]_5/DW)M5'2D5_@QU03;;AWB8V\S[N< M@C^18D7,M_DT21OK0O?@3.LK%%"$A^CEX.B]N#/BLW394HS>I7+K[AX5:C[' M 5(O7NI=)VW3.'F1SK]Z+M*//NB2DYRL^A3S1?)0C7N7Z^OD_8G /=5D_O^H MN"E5^R*>RMTZSZC0B)4YS3CKZTKP&+8,IE/:3#54RN]*J#WDTF.BK5+M)\+C M(-8<1J5.\2R)FC@CL9_;'XX66LYTH8.N13UWQ*F5,C%QJGJLR ;-CPU9R,\*[3+" @+4MR(;%I( M8MDN2:,V'N2C\JF(5K*(6[8D"!"4',Q#VL+:?*VIF1FF*&D6FF@\!23)H&?O M&XLKU#L:"B"!;M&)G"T)![E:&1KLZD,%^BOW(:*3W,99F,>BZ4>^^T.:1)]8 MH_%!XQ/NA60&%XBGZ>&0[APY$S#"SN;U0"%M3M(R@H)P/I^5\,A20QHUMX(3 MR&E%<&DC%E?@?PN'6V(V@,BP=:?-SU2A$02*<$W/WAIN@*E+$/),NRR6J"N( M1?I]@ 7832MMAH'*4V-#-+19V6*5G("2(OM;^%VZJD7NDVD :"L"F^>1AXMF M%B@EMRW9T.9L([(EXJIJ&K%^IUJ;/K7C*+*._6M-#7:GY:ZD+F1*D(:!B'#^ M$S;JO4#FIRV9G[Y(FU_0R4Q G[Y%:*%H]Y[AK+'DWV<9^4\2S;3:-"MF"8$% MMZ"="]@#]JS;99>\ANLQ-+4-\A,R$BGB@KB+3EQ'CT64U91>QYM(A MH71R@(\SCP90DS[I5 99V?#"+@A!,M!2(IHZ\HJS)27>5BK-C!N2!(Y;40JU M.'M['EWB+'^P2,4&FH HN%D]AC25!"?!@IR>J02VTQD/*-R_FOGQ%?9N!Y-M MVMX:'UQ,X3X4$TR#.@BZ.L&KMR9=%C _G2;NNQE/KQNOC:=?Q=]MCU[HL\>+"5SL31Z/2-^+S?B?;5Q.8\3S!FF.#0 M7.OKH-WN;[8W_\_%@W0+1?F\=Z9!.M5PAIYOF@;XKZY*/?Z!>CR9TP[S-+^_ M:,Z[PR' _(SX.@_?(GHM"9' 6EC#0T\1>7_G^QL1$G]E! 61KO0IKGW;?L@< MI^]WV^WI*R@N!^ S+PHUQ]%![RU&:9>^+*8?2#/^FC>S ?G%CTOO_@!02P,$% @ FHC]4D09J4*F @ >P8 !D !X;"]W M;W)K&ULQ57;;MLP#/T5P1N&%E#K^R5=$J#I-FP# M"A1-MSTK,6,+E25/DIOV[R?)B>-L;5[W8I%'/$>D+O1T*^2CJ@$T>FX85S.O MUKJ]\GVUKJ$AZE*TP,W,1LB&:./*RE>M!%(Z4L/\* @ROR&4>_.IP^[D?"HZ MS2B'.XE4US1$OBR B>W,"[T]<$^K6EO GT];4L$2](_V3AK/'U1*V@!75' D M83/SKL.K16+C7;+_"KI[4ZJT%4^Z+ MMGULG'AHW2DMFAW99-!0WH_D>;0GG,]TTV0TK1/J5%=%+P>\$(O'DJ,G5Y\NL03 M2LF@E#BEY VEI7D29<< B0TJJ2)5):$B&DIS/5]9HR_VM.2'=T44Q!_1_QH? M:@EP=()H29^/@;\YYH# '= _P!FB'.E:=(KP4IV[$[2?8&1=ET\@-54@T879 M16F>YR#T'L4ASK)H!$0QSH-\!*03;*P1D*2XF"3'NJT4E22FSVBZ'D+C'!=% M,+A1@L.H&-P\Q/GDL'*2XTD^0A!:,+VMV540Y[A-$K&5<;8;M8!"!.3;GB$! F.XLEK]]H?-023 M<.7:GD)KT7'=]X8!'3KK==]0#N%]6[XELJ)<(08;0PTN\]1#LF]UO:-%Z]K+ M2FBS.\ZLS=\!I TP\QLA]-ZQ"PS_F_D?4$L#!!0 ( )J(_5*3N0C2D , M (4* 9 >&PO=V]R:W-H965TCE7C:U**1XT,DU=<_UR*RJU7P0T.!(^E]O".D*X MG._X5CP*^]ON0<,M[%#RLA;2E$HB+3:+X(:^NTV5/:SVO\L#O%X!]>J,OX7[0^R)$#KQEA5'Y3!@[J4[9<_'_+P M%@5V4&#>[]:0]_(]MWPYUVJ/M),&-'?PH7IM<*Z4KBB/5@.W!#V[_*A4OB^K M"G&9HWMIN=R6JTJ@&V.$-6CRQ.%FKN:A!6-.)5P?@&];8'8&>(H^*6D+@S[( M7.2O]4-PLO.4'3V]91@$OZB*//%[TKR*_8"#N#,3>0'S& MP",\H+P!1+5!Y0F?MYEU5K6HN!4YM.:ZJ9O#N5;:EG]QU[-C6;]L\X?O,D:B M']'_]3N!3"!;J,9 _.:JHT-Q15=<]%ZL1;T2&D744\@ YZ-6QJ [KO5+*;<= M^::7R"/M5YAL \'_JG]3JT9:]^F*U:.=8SUIGL-,A7GKR[_2+@F#V"C%T]DP MY G#LRRY&M SG)+D'X D4S8$F6'*,G3GYPWDW3E*65R.O\BCV/:)IBBE->I3)-,91U*L M"%&&TXQ\J\;ZE$F2X)B25VJ,XI0.JW/VU=Q+]"*XA@<=_.]^,\\\59KQB3@V["X[\.;TC<\\[QHE,<2QXN'O*GO7>"-/- 8LS1RO.G(:TS3%#T5 M:L MC86:=BZG> 9]TW;OH W':AKV5@/HCJU?@ Q:NWG4;@D=M=NQ;MK5XB3>+FB? MN-Z6TJ!*;$"57*=0'=TN/>W%JIU?-%;*0BOZ8P%[HM!. /@;I>SQX@QTF^?R M;U!+ P04 " ":B/U2+>B?2-," "$!@ &0 'AL+W=OVL@U_/V6G=(K%*(+[$OO,]SSUW<2[SK=+?38UHX;$1TBRBVMKV59*8HL:& MF7/5HJ232NF&63+U)C&M1E9Z4".2/$TG2<.XC)9S[UOIY5QU5G")*PVF:QJF M?URB4-M%E$5[QRW?U-8YDN6\91N\0_NE76FRDL!2\@:EX4J"QFH1762O+D< K%,(1D8S['6<44CK@\7[/ M_M;73K6LF<$K);[QTM:+:!9!B17KA+U5VW>XJV?L^ HEC'_"MH\=Y1$4G;&J MV8%)0<-EO[+'71^. +/T"4"^ ^1>=Y_(JWS#+%O.M=J"=M'$YC:^5(\F<5RZ MEW)G-9URPMGE2M/[U?9'#"O!I 4F2[B^[WA+C;YMD)OF$H?.CY MAO]2^ G^4> ?>?[1$_QW]/F4G4!0%?Q%KKX5IZE?/)OEZ? U_*_UPCB1 R[! MUJHSI,Z:3'V^0IDCBBR+\]$TF+-X M.,LIK:$*BZ)K.L$L$95(P[#@K)\Q))\U2EO^LW?LP8,\C:?C[-#6038F]N$9 M?%8D"=IP0]IP0T(?8I!X: 8U;TK-RX\=LSA+IW^ZM,G19&A0;_S\,U1H)VT_ M)((WC-B+?K(&ULS5=;<]HZ$/XK&K=SIIFA\04") >8 M"6DS3:>9TJ:79V$O6">R1"4Y-/^^*]D8!PPE[:0]+Y:TTGZ[J\OGW<%2JEN= M ACR/>-"#[W4F,69[^LXA8SJ8[D @3,SJ3)J<*CFOEXHH(E3RK@?!4'7SR@3 MWFC@9!,U&LC<<"9@HHC.LXRJ^S%PN1QZH;<2?&3SU%B!/QHLZ!QNP'Q>3!2. M_ HE81D(S:0@"F9#[SP\&Y_8]6[!%P9+7>L3&\E4REL[N$J&7F = @ZQL0@4 MFSNX ,XM$+KQK<3T*I-6L=Y?H5^ZV#&6*=5P(?E7EIATZ/4]DL",YMQ\E,LW M4,;C'(PEU^Y+EL7:WJE'XEP;F97*Z$'&1-'2[^4^U!3ZP0Z%J%2(G-^%(>?E M*VKH:*#DDBB[&M%LQX7JM-$Y)NRAW!B%LPSUS.B2,D6^4)X#N0:JD';1(%$3A'KQV%7';X;4?%?$>X$X%W'' G1W -_A@DIP#D3,R8X**F%%. MF-!&Y=:$)EEA+R'4D)EUX\ZYX:YWG"O%Q-Q>,::;MGV_\7^>]:.@_2_Y6^VY MMF'C64%U5EMK/N328/#75-TBVSR5)Q/%8M"X[^3Q:(+LV(CWWJ2PGODLY%2#NK-OZ^!XKA*\.XC&<8^UM;6: M>+_&NA*+O#:S,?PD#6K7[OU6=._@#C@)CS8ET9:D78M]_7ITZ=O93Z.YH#HE M\"UG>/6MXEKC.3EM]8-^HV88-2,VR0N4=XQ.&6>&P0%._6Y[@8R';]<29RSQ M?Y6 HNZ?8Q\U;%RKQ\02MGIA;V.TTYB0XN7O&FR2VW%QA>)=IM=GN G0)'D8 MU>;X[S+8*X@AF^*;;8>.Q8(_S&)/PUY_G+RV2.M19!7^*ED=2%+;)/2<1*U. MKU.[KO5>,??_I91?HY;P=)ML"^F34DRG&SWH/YI:ZKVPU>T&5?O$A[(G1SRI M$6?W2XM2NS6E*$_?;/S3B7?G.JAU3CODMV$3V M+14YEG,DW,CZ5H=RN8Z+)O]A15.$M5IVTB,3>E_(DMREP$@[Y!ZHVKI*=:N- MF6;Y+VDZ*+]6(V6@YJX2U+B?N3!%N51)JV+SO*BQULN+2A5Y$P0]7@ MN(=[KHKJKQ@8N7 5UU0:K-]<-\6"&91=@/,SB;^0-0 P 60@ !D !X;"]W;W)K&ULQ5;-;MLP#'X5P1N&%'#CG]AQTB4!FK;#-JQ%T'3K68GIV*@M>9+<=&\_ M2HY=9VV"]3#L8HDB^9$4*=*3+1/(=0H%E7U> D-. MPD5!%9)BX\A2 (V-4I$[ONL.G8)FS)I-S-E"S":\4GG&8"&(K(J"BE]SR/EV M:GE6:R!TX^<.TVI-:L7NOD'_9&+' M6%94P@7/[[-8I5-K9)$8$EKEZI9O/\,NGE#CK7DNS9=L:]DPL,BZDHH7.V7T MH,A8O=*GW3UT%$;N 05_I^ ;OVM#QLM+JNAL(OB6""V-:'IC0C7:Z%S&=%*6 M2B W0STUZWWC4IZ0*RI8QC:2+$"094H%D-X=7>4@3R:.0CM:VEGO,.H UZ8/ &;PWZ M"';08@<&.SB O<1G$U?!@V;5^>X2[A'.356 MH(J+LX-.WV"3V^4^8Y@<+/(7Z3AII=^3GN?;X7#4/0IL-QIU18;VV ^Z$D,[ M]$;D$AC'YWK' M=C0*#W(CVXO&+X.)&Y-O"2? :PZ\P^$$.B\1F9OT]G*3>XGOW1CK)M+M MNWN91GKP!S_\@Q_6UX7W\J\L!*]U)*?3[K'F-V:H22R*BJFZ\[>G[=P\K\?% MLW@]=*^IV&38G')(4-7M1Z%%1#W(:D+QT@R/%5&PO=V]R:W-H M965TTV:=KNAOMB6[+XB*3(A^)D*>2#F@-H\ECDI3H< MS+6N#H9#E%PT+GI6#HXF=NY)' M$U'K/"OA2A)5%P673R>0B^7A@ [6$]?9;*[-Q/!H4O$9W(#^J[J2.!JV*&E6 M0*DR41()T\/!,3TXB$8AR"'1!H'C:P&G MD.<&"-7X9X4Y:+<*3D7^+4OU_' P&I 4IKS.];58_@8K M>T*#EXA M<90;K3$OQG*Z:,;+9*'_1.T*R6GHL"S5MRZ M:^^6W^>@/D^&&KSF809UYM_&G^I=GS^"#+)%) K MF27=\KV_@4OU>4/\"VZ<(=,EY([G-9"OM5::EZDQE"NC_!DD8 WQJ4T$C]# MB:F_ 16X0=P.8C<>;ZR@(^J,:=#J/).\-.X(QZ.-M8RYE#V;I6R[K\W\&A%6 MUJ=DCSI>/-HTV'?]\,.P6(.FD&D+.QIO@D9]T]\$W7 Q\@RT/&/"$S'_I M1$/#6^$B)QCY/3C?C?IP+$37>_$.4@M;4@O?36HG.4?NQ!F!Q6'_$J1&EF@X M;K_"4#?>+$0*^3:BV[W-1ZG .N$Z4P]DGTPE ,DPBJ5QOC09NE>A^Z#4F."? MB>=&+BZC+L7,7!\5R(+L/34)&?7_I$C5*90I>O<9&!O1U6;SIL;L*BX[8]B!3!@VL M8<(XZL*,NKY'[M FPSN,QAWO4,]E$;EH6>DEY;Q),4[4T\@P@(OY?_X>+J&8 M_)V..P(L;@,L_MC-9?_>7I"2_J70T%RI8%N<[4;_T9>8E^_;N2&(_KVTBZSL MUPC-&#K$'8X.L^[J2(JT3C8W" AN@"ML9W55JOSM! M&K)^,-)^X6&A3VXX\JV#-W_Y -K&$])3TQ^ Z;&J2DC="^YHW&'[XPZ;.7XO MY,((8QY*3+G< O(46XP,LY>;7JDG%(XZB+ ''3BL5]*H0UE(;H5&N%=CJ+/+ MW%_Z=J)XT$^'V&'/O(*WEH!M"_5AK_]!=\QLEZ=PV[K432O4SK:-Y''3/W7+ MFR[TDLL97L1(#E,4]=P8:Y9L.KMFH$5ENZE[H='W]G..S3!(LP#_3X70ZX'9 MH&VOC_X%4$L#!!0 ( )J(_5+VQ LFHP, #$* 9 >&PO=V]R:W-H M965TB MT[QN<2E!=4W#Y,L]N;S.''LX_J3V/V ^W@2@U<( MKNPO['K=2>Y T2DMFKTQ>=#4;?]DSWL>1@:9_X9!N#<(K=_]1=;+]TRS^52* M'4BC36CFQ89JK="2OM9DI^<+T32U)I:U M:6L!"MKML-MD6-"JX^ MLQ5'=3WU--UE++QBCWO?XX9OX*;PD9 J!1_:$LM3>X]\'!P-#X[>AQ$1VU)(V+*7GK:#W3N(W,2?G)RS/(4/S9:+%T0H#-?*]''/]4JT'=$P& 2^ M&_GQ\1BX41S#DKU(P;FU$+HB3_ *)$S?21TL,S<9)(/I]3-DPG$?O!D,;;[ M4?*%49P=KW:C)(-?[&V:/8]\#-TP#$=Z61K#9Z$9/\_NB(8P<>/4/Q,$^87J M2H;J2OYQ=:T[W4DTPZ%NN@8XTI "L>+UAIG!]VJU74;_MU7U.S)I&IWZYZW: M.J^F8,R*:U) PB._L3N96%$T$H5!8$3'0DG2Z M?WD$0NK$_L'Z!['0@._TZ MLH>.Z&C826 ;B6@$AHR"=Y:7NM4H4>E79^GE^__G= 1NX.>GZ0C=@!KR)!V! MFT>3LW3D-F7)46?B[WMD4*&6S.!G5.H6[AK1$4<2:9M0:*?OP-)@PUX9+RS:6AI73GDH&#;VMQQEHMC0(F;1OG?LK88PRA0E9 :R)OFI%(-56>: M7)#C)XJ1FP;96>1G;KQ6EM[H;[Q!N;'+BJ+I233U_^B#=-B'[OHUX*C>+U,? MF=S4-&TYKLG4OYE0P\M^0>D/6FSM4K 2FE8,^UK13H?2*-#WM1#Z<# 7#%OB M_"]02P,$% @ FHC]4K?F,\!7 @ !P8 !D !X;"]W;W)K&ULK93;:MPP$(9?11@*+;3KPYY"\!KVT-(4TBX)3:^U]M@6 MD25'DN/D[3N2O>XV[!H*O;$E>?Y/_XRLB5NI'G4)8,A+Q85>>:4Q];7OZ[2$ MBNJ)K$'@EURJBAJ;YCH_T M+RYWS.5 -6PE_\4R4ZZ\*X]DD-.&FSO9?H4^G[GEI9)K]R1M%SN;>21MM)%5 M+T8'%1/=F[[T=3@1(.>\(.H%T5O!I1VFO6#J$NVBHONG@T07X@MQ*84I-/HL,LK_U/AH=W$9'MYMH%/BM$1,R#3Z2*(C" M,WZVX_)U4TQ(>&7EX7+$SG0HWM3QIO]6O!'R;"#/''EV@?R]J0Z@+%1!+96A M!P['<]#G#J+#S1W.WMSG!.OS?,;!?' P'W6PDPWN^0"*Y:_D1J23D:P6 W/Q MG^NU',C+4;<_6@%*EZPF-:@4BX0="%O$4\/4VQ^O^U'&<6$03(+@W3EC_LE= MJT 5K@5IDLI&F.[:#:M#EUN[R^W_">]:Y"U5!1.:<,A1&DR6>"*J:SO=Q,C: MW=R#--@'W+#$3@W*!N#W7$ISG-@-AMZ?_ 902P,$% @ FHC]4KJD1]=@ M @ K@8 !D !X;"]W;W)K&ULM57;CMHP$/T5 M*^I#*R$<$K8LJQ!I(:K:2I70HFV?33(A%HZ=V@[9_GU]"1%4P/+2E\27.6?. M&<>3I!-RKRH C=YJQM4BJ+1NGC!6>04U46/1 #<[I9 UT68J=U@U$DCA0#7# M41A^QC6A/$@3M[:6:2):S2B'M42JK6LB_RR!B6X13(+CP@O=5=HNX#1IR XV MH%^;M30S/+ 4M :NJ.!(0KD(GB=/V8.-=P$_*73J9(RLDZT0>SOY5BR"T H" M!KFV#,2\#K "QBR1D?&[YPR&E!9X.CZR?W'>C9,:)(F4G1(VFC#9@>NF YM[%-NCWVCI=FE!J?3)5%4 M(5&BM00%7!-_&KQ &_\AV+T-W7%:TIQPC9[S7+1<4[Y#:\%H3D&ACQEH0IGZ ME&!M-%EFG/?YESY_="7_#R+'*)J/4!1&DP\((U41H^0"T>HVT?>6CU$K:)%56S @U1*(# M82U?QUU1V7M19UX>!B\/-[V8\RQ!2BCNLN.Y'L\E_.OF MGJ#LG2#O!9\T!]O)S8W;4:X0@]+ PO',L$C?'?U$B\;UBZW0IONX865^*"!M M@-DOA=#'B6U!PR\J_0M02P,$% @ FHC]4BPM7#9E P F0P !D !X M;"]W;W)K&ULK5=M;YL\%/TK%MJ'3=H*-N:M2B*U M2:IGDR95[;I]=L AU@#SV";9_OV,H802@B*E7Q)LSCGFW'MSN9D=N/@M=Y0J M\"?/"CFW=DJ5M[8MXQW-B;SA)2WTG2T7.5%Z*5);EH*2Q)#RS$:.X]LY886U MF)F]1[&8\4IEK*"/ L@JSXGX>T\S?IA;T'K=>&+I3M4;]F)6DI0^4_52/@J] MLCN5A.6TD(P70-#MW+J#MP\0UP2#^,GH0?:N06UEP_GO>O$UF5M._40TH[&J M)8C^VM,ES;):23_'_ZVHU9U9$_O7K^H/QKPVLR&2+GGVBR5J-[=""R1T2ZI, M/?'#?[0UY-5Z,<^D^02'!HM="\255#QOR?H)0>N,$U!+0$," M/D-P6X)[Z0FX)>!+3_!:@GM]GVCCD/T_05C34=CM'?Q-+M"LNXY/29) MF@J:$M,A^%;W&5-*$]JXT\9&&Y_1_L$5R<;UFC0W=-_0Z]ZY7P2^A_#,WO>S M>8KR7&.^CUJ=HB#&$ Y@ZQ&8@Y$;=; W3KW.J3?I]*78L"RCB38;4[8GFVS4 M;R/B]0Y'ON\,G5R$>O!.C& <]5!O?/B=#W_2QUVRIT(Q287N'PG3;M1$'02= M:O#N-19VVN%U-1:>1-.%OH\&-7:*0F[@!(/,G**\"#GNH,1.4=@+(SR>F:CS M&5V>F5+P5! ]0R@63\00.L>WA_/N&8*]=Q.\+DWB[AR/X*WJZ;*?DHWPSMWXE(62%!1K?Z*.FKEMPY6N!'.YT_\=J*@!^OZ6<_6ZJ _H_HTL_@%02P,$% M @ FHC]4BS1&)?]! 5A< !D !X;"]W;W)K&ULK5AM;]LV$/XKA-$!+=!&(N77PC'0V'7:8>F"INV ?:,EVN(BB1Y%Q2FP M'[^C)(NR)=%>YB_6BWD/']X=GSMQNA/R,0T94^@YCI+TNA<,BL;ONX=[^Q5>^"95^X'(JE(#'+$FY2)!DZ^O> M!_S^UNMK@WS$#\YV:>T>Z:6LA'C4#Y^#ZYZK&;&(^4I#4+@\L3F+(HT$//XN M07O5G-JP?K]'7^:+A\6L:,KF(OJ#!RJ\[HU[*&!KFD7JJ]A]8N6"!AK/%U&: M_Z)=,78P["$_2Y6(2V-@$/.DN-+GTA$U V_284!* W)D0'"'@5<:>.<:]$N# M_KD&@])@<*[!L#08GFLP*@U&>; *[^:A65!%9U,I=DCJT8"F;_+XYM80$9[H M5'Q0$O[E8*=F-UD*;](4S46\X@G5^9&BUPNF*(_2-^@5X@GZ%HHLI4F03AT% M:.1PP6EC!?Q%NX)*H%=V[' M_35+KI#G:ER"2]P6E,7Y*&XWRL>+<%E>A,NM'67!?$#!%A0',J1*$U*E";" )D ^IQP,FRR3T,RD[X_HB_HAR711A7J%9]GC2BUSDS=DW5<$^EN,D9%+(H M@(; ?VRM#VZ# .XD4"M;V.YS)O,^+/%9WHH$NO]@L+,"M*4_X_8-=E."'FJ" MU\G&J",F5C9?LGC%9+&ORI*&_D&V\G93(A[$I8.&D5)LU]+33GF+EERFZ@2U MIBCVW4XG&57$=EDT3HKW#0 XJ6H&6IGT&T[J=] P@HCMBO@AAHX<;8%);)VZ M*6FXVPE&T[!=U,X)T0,T1DEP(D;#)CVOFY\123QZ4>UJ[=!&S9U=UY:R=SHQ MZI"HT5QL%]T7]0TEYD$I:Q*V#SKD:\0:GU#K_U^(Y[BIY?B8_J(<-+0-^G@. MTK(%:=+E"&)*![&7CNJ+PS=?''H[_G_GH"+S:"1N\ MJ0]D>.G &VTG=FU_2>#MB*<#;_2RR^V)08>K,'KHV1OL(^?_KD+HW^9%H4>_ M<;KB$5><65U6.Y'P+AT.HV^>78R^,3],N$^C6A-,H=F3[(DET!$H*C>LW?O- MTP'>W M(:/0J^@!\/]:"+5_T,>2U5'Z[%]02P,$% @ FHC]4BCJ0[(J @ 0 4 M !D !X;"]W;W)K&ULG53;CILP$/T5"^W#KM3& M!-*D6A&D7'K92BM%FV[[[, $K#4VM29IE7XQ M)8 E;Y609AF4UM;WE)JLA(J9B:I!XLU1Z8I9%'5!3:V!Y1Y4"1J%X9Q6C,L@ M3;QNI]-$-59P"3M-3%-53/]>@U#M,I@&)\43+TKK%#1-:E; 'NQSO=,HT8$E MYQ5(PY4D&H[+8#6]W\R*$AWP9A"X@$)!9Q\#P]PH; M$,(181B_>LY@<.F Y^<3^V>?.^9R8 8V2OSDN2V7P<> Y'!DC;!/JOT*?3X? M'%^FA/%?TG:VBT5 LL985?5@C*#BLONSM[X.9P#DN0R(>D#T+V!^!1#W@-@G MVD7FT]HRR])$JY9H9XUL[N!KX]&8#9>NBWNK\98CSJ9?E,I;+@1A,B;\GMS1VY(5R2[Z5J#,)-0BU&Y'AIUGM? M=]ZC*][GY%%)6QKR2>:07\!OQO'3:(2 8BF&>D2G>JRC4<9OC9R0.'Q'HC": M7@IH'+Z%#.%3#P]'PHF']L2>+_ZO]HPXF T.9M[![(J#38F4X-I8]*XN=;'C MF'L.MQ=>4TSN];PL8Q9=8/3LD5:@"S^[AF2JD;9[KX-V6 \K/Q7TKWFW6QZ9 M+K@T1, 1H>%D@<.ENWGM!*MJ_^0/RN( ^6.)*PZT,\#[HU+V)#@'P]),_P!0 M2P,$% @ FHC]4O8@-"E0! %Q, !D !X;"]W;W)K&ULO5A;;]LV&/TKA%!@+;!$(G5U8!M([&C-T )!DVX/PQYHB;:% M2J1'TG:R7S_J$LF6*%5K@[S8NISSW?B1A^+TR/@WL25$@JD+#6197EFAA-JS*?%LWL^G[*]3!-* M[CD0^RS#_/F&I.PX,Z#Q\N!+LMG*_($YG^[PACP0^75WS]6=65N)DXQ0D3 * M.%G/C&MX%2*4$PK$'PDYBI-KD*>R8NQ;?G,7SPPKCXBD))*Y":S^#F1!TC2W MI.+XIS)JU#YSXNGUB_6P2%XEL\*"+%CZ9Q++[!7!*VI?%JNH]!)+/)]R=@0\1RMK^44Q7 5;%3BA>6<]2*[> M)HHGY[\Q%A^3- 68QN".2DPWR2HEX%H((@6X ]ERP&V!@N6[3!]_D6 I 'B M$OA^221.4O%!4;X^+,'[=Q_ .X4#CUNV%\JXF)I2Q9M[-:,JMILR-M03FPT^ M,RJW MS2F,0:_G*8[PWP356GNECHI5@W:-#@[WMZ"6SK5X L!#7Q+,;3+5TZ M/^?]]N>\A\/T)8D4'>KH9[6TZ\:S"WMVC[TPH8DD%Y_4NJ)KO+\^*3RXDR03 M?P]XRIU'5F:\0HS^:I\F$/?A]"=FH?3 MD1H'"_6PO'X'33)NG8P[F,QU%.VS?8JEJIS*A,OD7YPOT[I\2DON2007GF/; M[7S&P4(-S'4=V)./5^?C#>;SR"1.=<%['7<0(C^P6L&/@X4:&()^7_!^';P_ M/!@G P#(DU)\072Y^!WOCF.U0ESXG7YQW#9HV;443-J@VZXEA>E)-:A3#8;' MB>-8[6O4GJ=0BQ7O+NMG=B>UWIW%H+)SWEG>I#T@XV#A=V'G MZ9PH.'RUY: R=3:#T21H+P?C8*$6YGJH)R/49(1^;$&H>&>][UN=Z,>@0@UJ M E'0$WLC:] >C'U1[-D(5]ONM!@&L4UV0[,$-AH&G;>8)XW,P&&=&3]/NKH M+8109Z*,PX7?QYUGU @-'%::_S55NGIQ8>A]FU4 M!;Z%K*!&5M KR0KJ"H&G.J:]C(V#A7I8W[8&-;*"7D]6D%8O;*?=:B-QH1;G M]J[.J%$6](/*4O%.-TRV'7BPG< H6*B#!5;0%D;SY+M=2<:F.&$1(,H;I_R2 MJI_6ISC7Q=E%Z_D-O%I S?,EO+HMSV@:\^61T6?,-PD5("5KY7D* M4]Y(MBM.#59,*CTK+K=$[?]X#E#OUXS)EYO<07T6-O\/4$L#!!0 ( )J( M_5*;BC^&PO=V]R:W-H965TWX/<][3I+CX8:+9YD#*/1:4"9'7J[4^MSWY2*' LLSO@:FGRRY*+#2 M4['RY5H SJRHH'X4!(E?8,*\\="NW8GQD)>*$@9W LFR*+!XNP#*-R,O]-X7 M[LDJ5V;!'P_7> 4/H)[6=T+/_"9*1@I@DG"&!"Q'WB0\GX:!$=@=WPALY-88 MF53FG#^;R74V\@+C""@LE F!]>T%ID"IB:1]_*Z#>@W3"+?'[]&O;/(ZF3F6 M,.7T.\E4/O+Z'LI@B4NJ[OGF,]0)]4R\!:?27M&FWAMX:%%*Q8M:K!T4A%5W M_%H78DL0=EL$42V(_E<0UX+8)EHYLVG-L,+CH> ;),QN'%%YC%H\WI3L#,5!!T5!%#KDT_WR&2RT/+3RX%^YKZO5E"QJ2A;9>'%+ MO"O"B(+3+_KST,_)7"JA MO^=?>\S%C;G8FNNVF&LIT46E2JS*_-HOX_X@UM5X<;"Z#:M[B!6Y6)6JM\4* MTW[2 NLUL-XA6.R"]5RPJ.>&)0TL.03KNF#)+BR)@A98VL#20[">"Y;NPKI1 M&KMA_0;6/P1+7+#^#FR0IJF;-6A8@[VLQQSTR;)4(%S$P0XQ2@=ARU<2!A_] M+-@/Y0I39X\)=GZ!,(S2_@>Q;B:.?5&8[CCSMYJN.?%NL5@1)A&%I18&9ZE. M352'2#51?&W[\)PKW=7M,-<'+PBS03]?)Z:U-T?Y^"]02P,$% @ MFHC]4F ]]<'E @ 8 D !D !X;"]W;W)K&UL MO59=3]LP%/TK5L0#2(-\M)2"VDJT'5LGD! ?XV':@]O<)!:.G=E."_]^UTY( M"VO#'A OK>WXG'ONL7WMP4JJ1YT!&/*4;[>I%!3O61+$#@ET2J MG!KLJM37A0(:.U#._2@(>GY.F?!& S=VK48#61K.!%PKHLL\I^IY#%RNAE[H MO0SWR,Q)+3DYD:NOD.=T+'E6TBNW2]9U7,#CRQ*;61>@U%!SD3U M3Y]J(S8 R+,=$-6 Z"V@NP/0J0'..;]2YM*:4D-' R571-G9R&8;SAN'QFR8 ML,MX:Q1^98@SHV]2QBO&.:$B)C-AJ$C9G ,YUQJ,)H?DP1D!\2%=@L*%Q;6S MNX.)E)0:DI(3SA(@^U,PE'%]@)#[VRG9WSL@>X0)=QQ?9P??!=IHX/ 2]_$V[W]=XGPR,Y#KWRW1NDVTKHO6W1%MEA>4 M*3R!AL@$5Z8)1UVX;\O8:W]PE>GS313EJSN-EV1K8YW$X3AN09J&K+O]\HZK=235PI M 87'EU-;0'7&BC;BTX;X]!.,#8-UO0H^QMIW>/KO6AMNU-"PE6L*2[P/"S3@ M#A:9D%RFSVW$T9HX^@QSUP4I['R0N>T\W=WF^AMW%>['U%WAFBQD*4Q5R9O1 MYIEP[B['-^-C^WQP=^":IGI[7%&5,J$)AP0I@Z,3+#FJNLZKCI&%NQ'GTN"A M<,T,GT"@[ 3\GDAI7CHV0/.H&OT%4$L#!!0 ( )J(_5+"XC\G( 0 #81 M 9 >&PO=V]R:W-H965T\>\B!)#H.8X2,1^%4J9331-^"#$1URR%1+W9,!X3J89\JXF4 PD* M4AQIAJX[6DQH,EK,BKDU7\Q8)B.:P)HCD<4QX3]O(6+[^0B/#A.?Z#:4^82V MF*5D"X\@OZ1KKD9:;26@,22"L@1QV,Q'-WCJ&7I.*!!?*>S%T3/*I3PQ]CT? MW ?SD9ZO""+P96Z"J*\=+"&*S2!2?:%]B'7N$_$Q(%E=DM8*8)N4W>:X" M<43 EPA&13#."=8%@ED1S*$>K(I@#?5@5P1[*,&I"$X1^S)81:171)+%C+,] MXCE:65^CMFW?H#:()^ARR3"BLF&E2K2*WI?F5Q]O2HW'!HXD^ MLD2& MTE 00=_%4_W^GA:TI]'0+C$();H]?@ARRY1J9^A0S=P!WK60ZGZUUR M?L_[W>]Y]_KI*_ 5'7?13V)IUMO)+.R9+]I._SPH.+J7$(M_>YQ9M3.K<&9= M]G<181"0%:@2JO/B5ET5*^;V+&)?U53'1MU=*!4SC(B_!N\=[0 M75LE8G>0XTSLLV0-@WE=,,MV+Q01;#3BC%YQ?V\VU ?D93RA,N-P&LR^^#6=#?^! MUH:;WH;[F]M+TV6U XQQ*UM#4%XGRK NY*II9[B_GSWD92-D48#N8]75=I K M$GU!:YH)=OY CIJ"COLK^DMSU*[*$\-QSG,T!.5UHRZ=IZ;"XT$EGOY2Q5RP MC=P3=:8"V*F;:"G.9Z(_9TVQQ9/7SYG15%U#?XV<55:=L[/@GB5M&,SK@(W- ML7&6->WH6A<#WQ87<*%"GR6R_$E>S]:7_)OB:GLV?XNG2]PQO\+3N_(*WY@O M_U'X2/B6)D*U^(URI5^[:H/Q\I)>#B1+BTOE$Y/JBEH\AD "X#E O=\P)@^# MW$']5\GB/U!+ P04 " ":B/U2U&^%NB<# !:# &0 'AL+W=OW=!DI\\(=#U=D"7>@'E8W0J_< F5.$V"2 M:Q-WG+?JE+5X7,R,2)CS^1>F3YO0IA#H=VW3O=;JK92FT\0MM M?(O7J<&[HF1&8ZHHR+,&N$X!U[%PW1JX"6=*ZV?D#;F>@SD(8EO9"*O?5NF5 M(?8LHIG(]1CW<7_HKG=5J0C"@Z (>D6V6Y#M?HPLX^RXGO D0SW=X=+M^=54 M3@LJIXU4;K>=UW &O0*KUWBDYU*":CS-?H'4;Q:(R C!,&;X]L/\KO];K5F0<$N^(S6'11P@T]OW<%>616M6Q%4V[K8*SW-^Y+F MS6%;=2_><5C*Q(;(I6<*ET2M]&N*JK7\VKHEJ:'_7;CAOZ@*UA#C'!# M!^'2_7#G/T>A5N:5J%BIZGRTK]PLX&U M'&QG_!N=HNS/6R^'=B_!=02P,$% @ FHC]4@D\\ONW @ '@8 !D !X M;"]W;W)K&ULC57?3]LP$/Y73A$/('4D36F84%N) MPM! 5$)EL ?$@Y-<&P__Z&RGA?]^9Z<-W5:ZO30^^^[[OKNSKX.5-B^V0G3P M*H6RPZAR;G$6Q[:H4#)[K!>HZ&2FC62.3#./[<(@*T.0%'&:)%DL&5?1:!#V M[LQHH&LGN,([ [:6DIFW,0J]&D;=:+,QY?/*^8UX-%BP.=ZC>UC<&;+B%J7D M$I7E6H'!V3 Z[YZ-,^\?'!XYKNS6&GPFN=8OWK@NAU'B!:' PGD$1I\E7J 0 M'HAD_%QC1BVE#]Q>;]"O0NZ42\XL7FCQG9>N&D:?(RAQQFKAIGKU%=?Y]#U> MH84-O[!:^R81%+5U6JZ#28'DJOFRUW4=M@+2[@8:N%[OF*F M!#T#5R',O.\R^,IW7PN'E^@8%_:(PFYQB0)ZM!K7EKBLA0LMH@DG<,M9S@5W;_ T09FC>88#X J^5;JV3)5V$#O*UZN.BW5NXR:W M](/<,I@06V7ABRJQ_#T^ICJUQ4HWQ1JG>P%O:G4,O:0#:9)V'^XOX?#@: ]L MK^U!+\#V_MF#3EL&CG;3$*J_@BD6M3%4.1@SRVT''I3.+9HERP7"M5K4SOMH M55!T4]&G6^*!:X?2/N]1>=*J/ DJ3SY0.6:"J0*!.;AAJJ87#-VF$KLZTV!E M P-3G^+O7^ZFSMKN;/_ MSKZFLFYNP2[V[._<3[M_\L=;;U:BF8?)9*'0M7+-\VUWV^%WWKSY=_=F",0I/C4TK<--.H,9Q>A F0:T?S)"PK&N!HO .=S[1V&\,3M'\)HU]0 M2P,$% @ FHC]4EWM*+R3 P -PT !D !X;"]W;W)K&ULS5=-;^,V$/TKA+"'72"-OF+'7M@&8KN+IDBV0;*;'HH>:&EL M$:%(+TG9&Z _OD-*IIS$5EML#[[8)#7SYLT;V-B4UE(^60GU_DXB"PCX) 9"T'Q;P,SX-PB(8]O M#6C@8UK'_?$._9-+'I-94 TSR7]GN2G&P2 @.2QIQC\"E#/S/Y1)DBCY170&Z!ZDH!ULB0G\A5 MGC,K-.7D6M3;Q$"?*ED)6F(M>CT" ;BQEF3>1I'3DY$KE/ M;J4PA28_BQSRE_XA9N%327:I3)-.P%\K<4[2Z(PD41)_?9B3]^\^W#(.J*& M _QFW7!SR! N=G!1 ]?!,O6"IPXV_4?!S\B5UF T0?W(#:,+QE%QT+M"Y 3U MOH>L4HJ)E;/Z+(7R"U.JF29_W& -')7Z2K -.:2L]1 ML?UF,[D8A9L#['N>?:^3O5>K0XF^Q^J?8J$N/;W+SE1G5!<$OE5L0SG6Y> ! MK!'Z>_H.!]' 2UR?@K=&R<7ED3H,/+G!OZL#[H ;V G<4?*0X\Z/,6*Q%'; M2Z,?KDD#T>LNR@&KXU6)]YI]_%_K8L\H'L]G?*FH)[PV+"OLYDXQ@Z]K?".N MI6:O4WD9/FG#)R=9P+8WQ^F/%S ]=*JBUP5\:Y7T]JQ>$FR[<]S=GN=,9[+" M-HS]%[I2;CMFW#O)FK1M..YWINP(;MP-A8EU=:0H-88]-E[O.#WO'=&[;;)Q M=Y>]QT,B,/*CY/C"0SV>NW)JVV,\.$G1VTX;#_\'T8=OF]3PE>+AWM6T!+5R M-W9-W":N;ZE^U7\57+F[<-B:UY\4MU2MF-"$PQ)=H_-+#*SJ6WH],7+M+KH+ M:?#:[(8%?MF L@;X?"FEV4UL /^M-/D;4$L#!!0 ( )J(_5+*.SP\@ , M )(, 9 >&PO=V]R:W-H965T66:I7@=%LRRV42K+=%N-J*Y&R^FC\;E M<^GV_<%J?,LQSLZNE5R]MZ!+LH"E)6\78!D7YAUY0[@D-UP(W!TSB2WF-KCI$=S;S Y(0O\D:9(FCP\+\O;-NP,H\S#*EUH.R##Q*/0XRB*,LH , M44)<8E2MDR[MI$L][/ H+ IV)8W5-1:")=^O<0*YLE":'P'X80<_]/"C(_ W M[(F7=4FLLDP0B18@8 ,:BY%HAC5S2,T&D28>TI7\9C8=1\"?(2;9F&AEDZB4J#2BE>U3H(#W"9=QQ&;^&2T#=LP[I[!2;=][!GP>) MWH'.$-8II I4JRRY]7D* %*Q9[84> 7-5O M^]O9#P_YS6UMCF7M?6@O>L.B)W$LVEL6#1N*QW-UU2RBV"UB"4P;[ :P2P"#+0(SA+DJ MY$3X$VIL8/8F+I;V+I6&'V1WL2Z4Q MUGTV&:M0[-]-H1&S!?MO4?WVU<9[_9_KUF_PC.;28,-08% R.,=O6#<-<#.P MJO(MX5)9;##][1K_-(!V$_!]H93=#5R7V?T-F?T+4$L#!!0 ( )J(_5+4 M%_9D%P, -@* 9 >&PO=V]R:W-H965T$.H.>67O@@QY;R8Q0>.!(K/(<\]]#R-BF[[2<[<(CF2^D M7G 'O26>PQ/(E^4#5S.W8DE)#E001A&'6=^Y;=U,NMK>&/P@L!$[8Z253!E[ MU9.[M.]X.B#(()&: :N_-8P@RS21"N-7R>E4+C5P=[QE_VJT*RU3+&#$LI\D ME8N^TW%0"C.\RN0CVWR#4D^D^1*6"?.+-H5M'#HH60G)\A*L(L@)+?[Q6YF' M'8#BL0/\$N!_!!SS$)2 X%P/80D(S_40E0 CW2VTF\2-L<2#'F<;Q+6U8M,# MDWV#5ODB5)^3)\G5+E$X.;BC",WU!B#Q"035^@+>GD:H\;%%;I A*+G M!5L)3%/1_Y+4L\H_/AGDW.OWF??-K[7C*"JOB!X0M.%K^&+*S(0D,6 MUI-)=9*6G*V)?DEL!Z9@B0V+?L76 ]_O=GKN>K<*%B/U\.T;C0^-(J_;VC>: M'!H%0?1NM"64[@_7((&AZWJ7M M\)WRV&XW([O+R0F7X:'+O;B6J);2EKRB%A M-"$9P?J[?8V$5.+T#EA?^\YAFL.#6EB,XF/%Z%;!=_]K\*B!!<)H"3P!*FU' M?ECOL!'YS9;]LHQ/( .O;;G:A6QWYU.= Y^;'DF@A*VH+![N:K5JPVY-]_%A M?=BZ&;4LZV/5MA5=UCM]T?/=8SXG5* ,9LJ5UVRK.\^+/JJ82+8TC<*42=5V MF.%"M9[ M8':GS$FMQ/MH&IF!W\!4$L#!!0 ( )J(_5(,A3/;^@, #(. M 9 >&PO=V]R:W-H965T[0B%-VO&"RQAR#>VV'&"4TTJC'=Z0 M%9'/NR6'D=VHI%E!J,@819RLQ]87]^')U02-^)&1O6@](^7*"V.O:O![.K8< M91')22*5!(:_-_)(\EPI@1U_UZ)6LZ8BMI\/Z@OM/#CS@@5Y9/G/+)7;L36P M4$K6N,SE-[;_C=0.A4HO8;G0OVA?8QT+):60K*C)8$&1T>H?O]>!:!% QTSP M:H+7)01G"'Y-\/L2@IH0]"6$-2'LZT-4$Z*^*\0U(=;)JJ*K4S/#$D]&G.T1 M5VA04P\ZOYH-&%M!CPYN?Z3"7&#YIC3C&X$6A*.5EO,";J>$8FS M'%[>H>?5#%U?W: K9".AW@J44?1,,REN6Q/?MZP4F*8P>74T'MD2;%4KVDEM MU[2RRSMCEX^^,BJW LUI2E(#?W&9'UW@VQ"C)E#>(5!3[Z+@'R6]1[YSBSS' M2E)>F/:OY5LI&55 MP7^;W+E>& U&]EM[6YS"PB@(CD&S4U#@Q!VE^2G("P+G&+0P6!4-OH M*'0_UCL*9-@$,KR8E1FA# K49WF)&KGH8EY^ZD.$I'?X#9*](0AR4\#955<; M.%6%A!1!T3(EI](.6PZZP3 <1IVX&V#^, X[L(4)%OMAV(FJ62TX$]>X"41\ M,1 SM0?AN$9DO8;S&[%U%8,[=0*G".\Q-Q;867QB3A0/NC:?@F(W'IHM'C06 M#WXM=>G!A7[)&_1+G@D6A8';29X!9DJ>46WHQ>90#)M0#"^&8JI+R76NZPLY M'+([.&1U*$S>5X*#]A?LW#N=8C [10'([[ANENIZ;I0*S7Z[SD=?X7R^;6%_ M_I+OM>9GSAM@!N_/B'7=-XL%9_QO]55NKX\ '3Z"0YLD1(E??\BTB[TE>0M>"UIP5AS,(S93&)Q"U6%SVYUJ'!X;_3E0T!-+ZFL#OYFMKG@?-%M?6=^ZC[,775!J0:2[71__,(D=-OZ<0N7.L(5 M -ZO&9.'@5J@N29._@502P,$% @ FHC]4I/"\Z$[ P 2PL !D !X M;"]W;W)K&ULS59=;]HP%/TK5J1)F[22.$"A$R"U M9=,Z[0.5=GN8]F"2"[&:V)GME+%?OVL30JJ"VX<]M ]-G/B<>^ZY-Q>/UE+= MZ0S D#]%+O0XR(PIWX6A3C(HF.[($@2^64I5,(-+M0IUJ8"E#E3D81Q%IV'! MN @F(_=LIB8C69F<"Y@IHJNB8&IS ;E6Z94,?OFC1H8EI@^W['_L$EC\DLF(9+F?_@JVJ3@?ILRPR4C)-5%V-[+9&V>F0V/Z7-BZSXW"MQQQ9C(W,KD[ MN4#G4G(I"VPGS5Q!7D_!,)[K-^2$Z(PIT+L+%^0FDY5F(M6CT* (2Q4F=<"+ M;<#X2,#S4G4(/7M+XBBF!^"7?OBG2G1(-SH*G_KA?^[XF9#KD0"PG8SF>5,>()TFR!=%Z1[3+3U_63Q MN$;G2C&Q OP,#5EL2'O?C&WK+]6Q0(4 MD:H@M6=^1V3ET/^E&^#<*[P]HZ#<:^EX-[623MBGLH2FZ MM:^L36'6E+>$"5&Q'/LYP8FIP3;VHWP(PQ4I0=F:XB"T2>/XU :[GXN5#5W( M'>Y0\OXL^ITH>N6IR&GCQND3?4@'N_Y[HNL&#>7@973=L!$T_(]=-QT^ZKHX MIL/X<->=-1K.O!IN0!56@>N@0]/+#Z<1V0!3VN,&C?:3._)_ 79T$UG:HG@9 M6[\%]&64G.[G*_4/V.^@C?W.\ OD\J#C3Q#TGG9\/X=IU\MUC6(43PRFO37_ M5G"CR>OK^:U^XXNP'ZRT]T(JL)^SU#^BGE$!/X&G F'KX&*/F5^86G&A20Y+ MI(HZ V16VY/;=F%DZ_ -02P,$ M% @ FHC]4MM2.G"'! ]1$ !D !X;"]W;W)K&ULI5A=;^(X%/TK%NI#*[4D=CX9 5*A7>V,=G:J=CJC>32) :M)S-H. MM-+^^'6<- G-!QF6!X@3WWO//;Z<:V=Z8/Q%; F1X#6.$C$;;:7D"%(Y_ M"J>C,F9F6+]^]_Z'3EXEL\*"+%GTDX9R.QOY(Q"2-4XC^<@.?Y(B(2?S%[!( MZ&]P*.::(Q"D0K*X,%8(8IKDO_BU(*)F8'D=!J@P0$,-K,+ THGFR'1:=UCB M^92S ^#9;.4MN]#<:&N5#4VR97R27#VERD[.GR0+7FX6BH@0+%FLJD-@S>\- MT(\ VU5T4_D&+N^(Q#025^ "&$!L,2<"T 0\)U2*Z]J-[UN6"IR$ZN;%T7AJ M2 4\"V\$!WSZ==^K2U3[O#Y[=4"JE6ER8;L"(;FB3Z"D"P1_TH[ +Q'X@TOBOJB, ?7@ MM]2#:=LEEOR/U#:KLVHF)>+)P&7;J2ZC*),,[(F0O7@G#226#SL6#YJ5+)N_ M4T%X%?6S5KBKPW!MOX,/6.L.L%*B$L96/O*8?HT/>VQ['7Q4R@FMW]*5<]'E M42"LP4-H#%$'ODJ%X0D9;@C/N0CM)D)K;#D= "M=AL.$N9*EM&LFQ:IV+U&TB=<9H\D'1BFD#*[9J W!8'VAHVKG9>,UL)F-/'1NJ M#^P 774.>*)UM*C?N7C]!JW6V.WZHU6= DYZA?$V#&F&$4<@I"*(F$C[-V>H MDG[4+_T-S7TDV7DLJ\2EVL5RM15/5=B_Z%J1\HLH/J[:$C\1Q0-OF2EP0)QO MC=4F.<1O[;O68:XFI2N[Q=4Q&U4'0K#7^>UFP\D&2P(^J]RI.C\&X >.4G(- M6.VO>KGXV#ET:;02DP=TZWL''TZ@W5X3J&IDJ+^1#85Z+"O=.%%S8XI,U_JX M%2KF#IO=+W8ZENF=EAV@S+D M0-/\J+9&[6 =$[[1[QL$"%B:R/R,7=XMWVG$9Q/4\S5C\GV0!2C?],S_ U!+ P04 M " ":B/U2G?S;12@# "S" &0 'AL+W=OQ^&)BNP M9&:@=BCI9*-TR2QM]38T.XTL]T:E".,H&HH%"':3 ,7@1?^+:P3A#.)CNVQ0>TC[N5IEW8HN2\1&FXDJ!Q,PWFP_?+ M8>0,O,9?' ^FLP;GREJI)[>YRZ=!Y!BAP,PZ"$:?/2Y1"(=$//YI0(/V3F?8 M7;^@_^:=)V?6S.!2B:\\M\4TN X@QPVKA/VB#G]@X]#(X65*&/\+AT8W"B"K MC%5E8TP,2B[K+_O>!*)C0#C]!G%C$!\;I&\8)(U!XAVMF7FW;IEELXE6!]!. MF]#Y]PMF0 N MZX)Q!^>W:!D7YH)4'A]NX?SL LX@!%,PC894X5%R:]YU!'\6JC),YB0\<_M[ M+@1!F4EHR05'),P:NHN:;OP&W3'<*VD+ Q]DCOFO]B&YWOH?O_B_B$\"?JSD M )+H'<11/.SAL_SWYM$).DF;CL3C)6^EP\7L"J.6PN@DA:_^*9*C;(^:6@ML*1065*"*8-[%#7Y7?1Q[*^[KK#\F80)RW).N^OE>+!>-3OR;CU9'S2DSMI M-:<.F-64^[C5 ,.XZ2<: M(W5K^+RSKQ_L+]=J/\3#ZV6ZC M__ ]-6!=!DF:'"&PO=V]R:W-H965T ML^3/M@ MDB.QL./,=@;\^YT=FC&MI)6V+XE]OGONN1>?QSNEMR9'M+"7HC"3(+>VO U# MD^0HF>FJ$@LZV2@MF:6MSD)3:F2I-Y(BC*-H&$K&BV Z]K*EGHY5904O<*G! M5%(R?9BC4+M)T M>!$\\RZT3A--QR3)38-:[ MG8^._L#OJ1@$D ME;%*'HV)@>1%_6?[8QY.#.+^&8/X:!![WK4CS_*>638=:[4#[;0)S2U\J-Z: MR/'"%65E-9URLK/3E57)MC.GN%*X4Y)J;9A/5P?F@M'1*LF50--9H+8D5J4[ M[92:)[S(0*H4!5S-6P,]5T85^= 5Q%/=:\/I-@OH>KW\N03G3V%G_G:"9UJS(D!K4 MPOH IWI+=O#BV8[I] H>&=?PS$2%,#/4_3Z%!EB1P@)MKE(E5': ;[.UL9K: M]'L+[4%#>^!I#\[0?N)F2S7<:$3@A46-QH)F%N&B1)T0.[IREU>NI;BLY&N% M:W<0=8?1AQ:BUPW1Z_]#E.W/$6UWT.OV6HD.&Z+#5IR'?4F3A*K[4PGJ ,'M MX?VY;(<>Q&]PO&DXWOPKQ_-I;(<>]-\H^*CA.'H?1ZJUA(L#,OWZX&B'&8*W MA![-(!H@,(24'W^DO4$L# M!!0 ( )J(_5)/ -L2& , &T) 9 >&PO=V]R:W-H965T+T!FHK46!O$KN(+O#L)M/&(K&[MM." MM!^_MI.FA:9=U)?$MSGGS-@S]F EY+-*$36\Y!E70R_5>G'A^RI.,:>J)1;( MS8 MB=70"[WUP#V;I]H.^*/!@LYQ@OIA<2=-SZ]1$I8C5TQPD#@;>I?AQ3B,K(%; M\JLC3C&[:Y, MM#2SS-CIT42+^/EL;/Q*X$KD9K,5=>$Z@WM46K)8FQEE5P%=49F4<63Z%4ZN M45.6J=.W:QTB/'"F%9S<3Q[,O$JI1 6,P^]4%(KR1 U\;=1;#7Y<*1V72LD> MI5VX%5RG"FYX@LE;>]]X7;M.UJZ/R4' 'P5O011\!A*0\!/XEP _JD,; M.?QH#_[/(I^B!#&#R?\@VS5DVT&V]T#^*K32)GR,SV&*<\:Y:]&,\AB;0EK" M=1R<3=#E*"3=<. O&T1T:A&=@R*^2LKU^QTHZ3H[=)U>MYFM6[-U#[(]FI/5 M3-;=(3LC8:^9K5>S]3X<8*SBO#^ZO=WH=DG0K*!?*^@?5'#SLD"71UK TOC> MQ-O?Y6WW]\3YO.8]/WA:GUS],KR72Y2F'H/;9C!%!>$+91(>:5;@@3,FU>NWFH(1;Y3'\R&$_ M6E55?<,M621L17MDD8TL\H&L.%H5V545!BVRYPB%FXH71D>FS]%2HYUM#4F+ MO ^@OW4#YBCG[IY7$(N"Z_(RK$?KM\1E>8-NEI+A;M/IT*;V]DU4_,>0FD7F/F9$'K=L03U"VOT#U!+ P04 " ": MB/U2C.L."3,$ #)#P &0 'AL+W=OF[22E6[W7UVP FH@%G;),WY]6=L*! @ M[)Y=;5\27^;^#3.>^8&+%QDRIM!K$J=R,0J5RFXM2_HA2ZB\X1E+X6;+14(5 M;,7.DIE@-#!,26P1VQY;"8W2T7)NSA[$Q!(YDE"Q7'%8GY8C/#H M[> QVH5*'UC+>49W[(FIY^Q!P,ZJI 11PE(9\10)MEV,/N+;>SS5#(;B2\0. MLK%&VI4-YR]Z\W>P&-G:(A8S7VD1%/[V[([%L98$=GPKA8XJG9JQN7Z3_H=Q M'IS94,GN>/PU"E2X&$U'*&!;FL?JD1_^8J5#GI;G\UB:7W0H:>T1\G.I>%(R M@P5)E!;_]+4,1(,!Y/0SD)*!M!G<,PQ.R>"T&,@Y!K=D<']4@UMPG<3 MN#55=#D7_("$I@9I>F&B;[@A7E&J$^5)";B-@$\MGQ3W7ZY7$.H W?$$\D]2 M@^ U*JXVYLIO7K%7O6;H8LT4C6)Y"<3/3VMT\>$2?4!1BCZ'/)3<4F"C MUF3YI3VKPAYRQAX'?>*I"B6Z3P,6]/"OA_G' _P6Q*8*$'D+T(H,"OPG3V^0 M8U\A8A/<8\_=C[/;?>[\FO;[G]9^$@RGRA;'R'/.94M(!2M3(J-'*!@*42%H MNF-Z+0'\HG9!F@RHI0#*3NI/)\,2GYD M4HG(F&GJ)WI.(_@N+AZ?GN7E@/QI)7_Z'E_@K%(W&W3'J$,]P#1THLT1R09= M9=:!BN *L6]YI(Y@%P0F+VSD*H0\X)F6)*_0'F(&?- XBC2Y H3UA[\#%0J M40QM:230GL9Y7Z:O9]T<)N=2&-MU9[0'?7\0/,A],(#MX3V5:=,'(HH;'1>_ M!X28U K);RJCI>!F#7&=<:N,]A#A=H5<]Q!U"O)]#Q'QG#,XUCT+.\,Y3&,& M60;OX!>FHG2'X&52/JV8?C)G&1>#R-;M"KOO@FS=(O!PC_@%9+O= 8]G'6B[ M5,ZL VU/HW&(W<:V2^6-W3/8UGT&#Q?R/UD*#28VD-( WL<15!FJ9X^A^-;% M'$_>!="ZNN/I[P)TVBV"WI2T >U2>6W4USU$+L'3-J!=*HR)UT+4:HPF\+GM MS$PHP:L\5<6[LSJMYLZ/9MIJG:_P[1WN.5_K.=6,0K7X8LC]1,4.N@Z*V194 MV3<3R#U1S(W%1O',#$8;KJ 6F&4(LS83F@#NMYRKMXU64$WOR_\ 4$L#!!0 M ( )J(_5*T]@= K 8 & B 9 >&PO=V]R:W-H965T3&(B6Q,QVZ'K: M'W].XF)"8B=TN_Y 27CO^?M>[.\]&RZ>*/O&-X0(\"--,GXYV BQ?3\<\G!# M4LS/Z99D\I,592D6\I*MAWS+"(Y*IS090L<9#5,<9X.KB_+>@EU=T%PD<486 M#/ \33%[OB8)?;HB.*&\.KBRU>DP7P=?.?A]'4;*871,VC4X!,HA.';P# YCY3 ^AF1*ZT0Y3,KI4#V_\N'/ ML,!7%XP^ 598RVC%FW(&E=[RF<=9,=D?!).?QM)/7#T(&G[;T"0BC/\!;K[G ML7@&;V9$X#CA;\$9& *^P8QP$&?@,8L%?W=PX^N&YAQGD;QY5KN^& H)KAAB M&"H@UQ40: #R9YZ< ^B^ ]"!;C5"2Y"I/=!'.S@%R3HWZ\7^)^JE_5$=%;8ER:X]RAXNGH_*H0;4$FML#S4@H MX51SQ;&S&\KUL%\4<+\H8!G?,\3_Q' F2-26_02^PG.VD!4\48'(* ;.!I&]4B;5J[K M!.U8O3U6SXJUE M 5RO""K0AY<($TFL!.7;<(Y!-*]?Q#0GU]R!]*\BOLNKS MG#T#7J#=ZQ4C,>NLM?*LS8'/,.<=77MYOR%\#P+)3^Y_WH-=5V@7'N%LE'W&]31Q#=0UU7(M9>A>\(% MBT,Y)JBR4+;RX,W]PR-_:Z.DA=ZU*[VE9U*>M:8I,"U4K:VN75Q?MZSL,7LL M*RV1KETCK2G_Y64&M:!!NZ!9YIKRK$NMH4.$6N^@79NZB?_>90]"4"BUQT"YQ"Q;OL"A)A23MH*%U#-IU;*$F.-C*-!-#.WL#FZTU,E=^ MJ+4+VK5KOOAB8Z$E"=HE2:_?E_.$LCMOZ\Q5I,.',YD$IJ>C)0MV-*?]\A@T M-S*C"9J8$JD%#-K%YFCXK4Q&F8FNSGBJXM80F9*AY0K:Y>K#>LW(NIBL&1$2 M$@T)B4P[T*D*5H/@(VB:74BK%;*KU-)1+2;$=8NX1-45/"H(.0H7= !\<3=A&;5H/&RZ28JD>-?X6H M.OK&L@*W FOIY@R@M 8BNP:^=E^MPG9MK#O-ZK"U>"*[>/["?EA%[M@0][*: M=UG5V6E)1Z<<=O3:$Z*FM+=O>/L:SGL8UNGI>H%./,SHQ[#9_;9N>WO:S;OM MZO1T/4+V>K277BDY7\INVE+GD2XLR%Y83JCSJ&7KCWP#,4_7%,]>4[[&:PG@ M4T*7. %W.,/KLA=[!SY_GLIE=TJ3YNGRX?7=]7?1GJE(-=KRST!;5P_/7CU> MVU_,5-P^_86GJXC7M=NGG'?U%3.O>6AM:5J]@V-K>[DXJ;N9J6"U2CHQH]#J M[]G5_^3F9N:U'$J;@6BA]NQ"O6!T%TD^:_%DO/+I8G+'NOY7P ^88# M D_KF=?17Q^2/$G&ULC95;;]HP%,>_BA7MH96ZYAY"!4@MW;1-FX9ZV\.T!Y,< MB%7'SFRGP+>?[82(0HC& _'E_,_YG>/;9,/%JRP %-J6E,FI4RA5W;BNS HH ML;SF%3 ]L^*BQ$IWQ=J5E0"<6U%)W<#S$K?$A#FSB1U;B-F$UXH2!@N!9%V6 M6.SN@/+-U/&=_< #61?*#+BS2877\ CJN5H(W7,[+SDI@4G"&1*PFCJW_LT\ M-?;6X(7 1AZTD:N;QC:)'935 M4O&R%6N"DK#FB[=M'0X$?G1&$+2"X'\%82L(;:(-F4WK'BL\FPB^0<)8:V^F M86MCU3H;PLPJ/BJA9XG6J=FEF41)CE:,Z9(FP-+",@T<4]*$RHO$0? MT?/C/;KX<(D^(,+04\%KJ>WEQ%6:POARLS;B71,Q.!/Q6\VN4>A=H< +_![Y M?%A^#YF6^U;NO9>[.O>N $%7@,#Z"\_XN\TR44..OA.\))0HG?85FM="Z)*@ MW[=+J83>:G\&(H5=I-!&BLY$>@&6YN%L3>:N&^' M]>DQ2L=)9_2.+>K8HD&V3V5%^0X 968_2'-&F_VPY*R6T O;>(P/.'PO]*(C MVAXK/XRB?MRXPXT'<1=X)SBEEI"K @2"?0("*%9Z/6&K+SH)?>#Q"5(:C\9' MW*=&R3@>]6,G'78RB!UY_JMEKMIK< R.86,TB/&4QL_C--^QE''.!ID_&G+ MJ?"V?]%')R$#_3OB.C7RT^3,DJ<=5SK(]<05U@O>GM:!PJ4GQR.(H\0[0NRU M\L='C.[!Q6H>M1]8K(D^&1166N==CW2.HGDHFH[BE;UKEUSIF]LV"_VV@C & M>G[%N=IWS/7=O=:S?U!+ P04 " ":B/U2^*I,,U(# #@"P &0 'AL M+W=OF5&1VTT)9Q+#/,Y50!@\"R2Q-B?@[@H2O!@YVUA./=+Y09L(=]I=D#D^@7I8/0H_< MTDM,4V"2$81)! IXX+H MOS<80Y(83UK'G\*I4W(:X/;WVOL7&[P.9DHDC'GRD\9J,7"Z#HIA1K)$/?+5 M5R@":AE_$4^D_46KPM9S4)1)Q=,"K!6DE.7_Y+U(Q!9 ^ZD'^ 7 WP>$!P!! M 0A.90@+0'@J0ZL V-#=/':;N E19-@7?(6$L=;>S(?-OD7K?%%F#LJ3$GJ5 M:IP:CGF:4J5W7DE$6(S&G"G*YL B"A)]1O=+$,3,H%O0^R'1^004H8F\T(LO M3Q-T?G:!SA!EZ'G!,ZE=R+ZKM##CWHT*$:-DS(J_SLK(;W3X/6.7*/ ^(=_S<8V>\>EPKRZ<_V._^3#[3C*"\H@$ MUE]PP-_F""3Y$9AE*A-@3B--LS2?17R:T#DQEU\V<(8E9V@YPP.(T8Z@5BFH=4R07RU24/N8 MH*!.4+O*Y6.\)^B(T8Z@3BFHH4^%JM8,]/O;1.V-S_" M5V-<,S\Q[:OMD#;N\][WCH@Y95(_6S--Y5UV]'$3>3N9#Q1?VGYIRI7NONSG M0K?@((R!7I]QKM8#0U V]<-_4$L#!!0 ( )J(_5(8_RJ!5 , .4* 9 M >&PO=V]R:W-H965T&EBQ^>['-NG9WF4ZIO. M$0W\X(70JR WYG 1ACK+D5-]+@\H[)>=5)P:.U3[4!\4TJT/XD481]$TY)2) M8+WT[Q#LWGPXVR MH[!!V3*.0C,I0.%N%5R2BPV9N@"_X@O#HVZ]@[-R+^4W-WB[70614X0%9L9! M4/MXP T6A4.R.K[7H$'#Z0+;[X_HK[UY:^:>:MS(XBO;FGP5S /8XHZ6A;F5 MQS=8&TH=7B8+[7_A6*V=Q0%DI3:2U\%6 6>B>M(?=2): 4DT$!#7 ?%? 3$9 M"$CJ@,0;K91Y6]?4T/52R2,HM]JBN1>?&Q]MW3#AMO'.*/N5V3BSWDC.F;'[ M8C10L86-%(:)/8J,H8:7L*$'9F@![]'F2L/9-1K*"OTAD: M*\9!AEE-?%41QP/$4_A@J7(-K\06MW_&A]9$XR1^='(5CP*^*\4Y)-$+B*.8 M?+Z[AK-GS^E>(3IS/?HVXW#7F%DXXN&B&FY$9=+D._&PR?_D>P1_TN!///YD M /]CR>]1@=Q!X78,F@S +QC+QE4%FWI8=_F5.C. M+.,EAZP^2)6L _WI-KP3$<=N^WN,U1%35N&"(D6_9YF#=?L*:ZXCVO6 M25Y,)I-^KGG#-7^**^GCFG>XR"(9V*M%P[5XBFO2Q[7H<*6+>3\5B4X5)WJ* M+.VM%U'7V2P:8&O5-S+*]DG:4]=+1WK,I4/NXA-?/,KW'K6^@$LN2WOG%-K_ M5HW^BMMZ:=".>F]?#=H6\S(A Z>5G(H-24;%W%3L\(46);JB(&QC\"\WLE:7 M=%,U38;4G4H5&:]5F[8 #3J7RH#-$>_5T"U0UM4?MSXEZ8#24RDC MZ;\H+:3=SD&A:4=H,B7SOX6F':')9#)PCHIFMFFA[OTG4MX6EXU@!^HVC-AI%!VG;2(W0VEMFQ!,CO3'2AW4FLC&3K3--1V!E@5@J2@69I> M4L>!5>P-<3V4C+S>P-"#^MDGAPWGGC3HM^@1=ZQ!G: W[NM M<1:=*!67H"S7BABHU\GM_&:S\O[!X0>'P9ZLB:]DK_6S-QZJ=9)Z02"@1$]@ M[G6 .Q#"@YR,7R,SF5+ZP-/UD?XYU.YJV3,+=UK\Y!6VZ^0Z(174K!?XI(XM:CL%.@>0JOMG+> \G =G\3$ V!F1!=TP45-XS M9$5N]$",]W8TOPBEAF@GCBO_479HW"EW<5CLH'%7C.1!Q0_L;^K=/2#CPK[/ M*;H4WI&6(VX3<=D9W!5YU I;2SZI"JI_XZF3-NG+COHVV47@UU[-R"+]0+(T MF]LH]@)V,96]"-C%V\N^0%U.U&6@+L]0O_5R#X;HFKBA,8ZJ&O*JYEAYA*T" MS _/H9CG]/!*_M64?_7&_ 8Z;9#M!1P%V-<4K/ZK@)ZTE@33A &RI-2]PMAE MT^XTH[>Q-?^ZQP%_9*;ARA(!M0M-9Q]=7A.')AJHN]"H>XVN[<.R=?\9,-[! MG==:X]'P":8_5_$'4$L#!!0 ( )J(_5)P]&?CW@( "X+ 9 >&PO M=V]R:W-H965T92BB#L4 R2U,B'H>0\,W P<[VPX0N8V4^N&%_198P!76[&@O=.9%4$"D3(41+_6 M,((D,4QZ'?<%J5/6-,#=]I;]BQ6OQ@Z),*IX68+V"E++\31X*(W8 N'4$X!< _[6 9@%H6J'Y MRJRL"Z)(V!=\@X29K=E,PWICT5H-968;ITKH4:IQ*IQF,PGW&3"%+M?Z*=&' M"U"$)O(,?4(R)@+D]D49^A'S3!(VEWU7Z>J&PXV*2L.\DG^DTK\0W-6:2^%^*=RW?,U7"D>_K_4,=*4@E7]J^)LE?]/RMX[P MWZS,;RK14A"F8'Y(<$[0M@3FN*W#=J_;=]<'JK;*JJW:JE/%HSO$B]I/:$_E MD_4/W:2,SC*)+N\SJA[1%8OTH#Y/:)P05J.^7:ZC?1)W.R5_YXWN#CM[[C9[ M[=LNJW9-XV2OY>V_ULK?G)6YYA[W$7I4\7FW="4@E M:*1+HMS86T9-_DRFM_*L1A?>R39\$N=P%2+8K_=.Q2"0B@E#\MG/47/L"\IG MYS[H''&SBAMU;IX@"7 52;AUFEVHP@:WWWL7A@7E[BZT_.#(+E2QA.MS MZ;]VX=6)@:N@PL%I/*]""7??W_/N?HYX_WKN[EQFS$WR.Q%+JGD36&B4UP@T M7.27L[RC^,K>;V9&POFP-T^IT/2C=^3P-&-5W=VUGF\N-FUGU? !0F]I%<'D%YV.C@Q@!AY?!CY/FZ, M^GJ;NJWS][KZ7N>6*^:8')30GGPJXK"N]VB0*;DI>T2J!B2,15\ MHCEX933G8N7,/3!,E5 Z,+;?K)0N6,IG!W?=#%JQYLFY5+J*[2*X[TF]? =8 MST @%Z(1V"/.,!H4U!BFY:V=5(LKXPLHJ,:XV[31JWB#@C\I\VEATY'5''J%W6F6\64U M7V:- (R]B[/3HA"KCX+/9,Y<\@<'' WHVB^8*\V?;31HE:DU,$V")Z8-G[8M M/S4M'MC2K-MIF>&:>R>H^>_N\XQ)IJEHB[:]?\R[_&K%T?6_DES]5MD5[-58 MOWR/7>35*8B,3T'D2?1D__A%1LGQ:ZR/=49HR^>(X8^D-G=@_9K;X[?J4970AS$,##LEF_)6E?)$G MS:H[V(AZU6;\!=+KQLUAU<;B,F5+EH[KJ9Y-JF%@!S9J?8'#+G);77X$\W&8 M'P$,BX,IP'R<%Q;G?\JGC^;C,$Q;WXOT49\^ZN.\?,BX^F!Q_#Z)O?R9)DD4 MQ3&VH^.Q5\$8V[2>*O-A8'/+ J8+T#\?UQH*?\/E$$5<6T84\PCB0)AD O^GLTCI'= MB>'CKP_VE$11DO@1P/P*H@A#X&G$$4P!:,"0**K>@SOOHW#]G@HW_^$;_0)0 M2P,$% @ FHC]4I>*NQS $P( L !?3T\$MP>:4#M M.*2VBZD8_1!2:5K5N %(MB6/:(7->=I3W;+T]!;X"O.DQQ0FE(2S,.\,W2?S+W\PPU1>5*(Y5;&GC3 MY?YVX$G1H2)8%II%R=.B':5_'(X[I?3H*_X^-\?%3Z8:W4 WDJA#2C8&?M_JK?-]F. M%=3\J_9,NC,;I0MJW:'>]LU>,YJ;'6.V$/UP,+CL%Y3+X-/'XU@KW?O2O.? M2EHJTDPK(4;!L#EQS[3EV:OFM(*\HVM3MUBZOJ4.9!1<#MR &ZZ-K7O4XU/' M>&"NL:G* MRH))V\11,U$!2K/C>Q,020LV"HY=")4YF4GK@D3FLAG*]:VNU/WK>=YN<^OLV6'F0,0,9GA&Q%,@$@DW-"1A[D)0!Y>4[(V(-\!T"^ MPX6<,I-IOJ_:B=J0Z])PR8SQX-X#<.]QX:ZIX:;"6FEF7->Z1SU9IF514 _R M P#Y 1?REAV8+)D_60^@V7J '+.7.T@FJEASV73PX4"5(+ODBU+Y(Q>BOH=S M=T/EMB(@8V.<:GU*R"5#9)FXO&;OLH[G?\A*T*.=?Y1\7_V=#PFY9(@LD\^4 M:W)/1 MY::0(8;(BJCY=DKD3)LW]:_4/OMLD!B&R&9P\2JXK3J9>@Z9N/6-N\M,9ISY MDUT(^2)$]D7*MO42I'O=$4*V")%MD99KPWZ4%=WL4$71!P,7&\B" /.25HX< M0HH(D17QDIF0"[?T%;LQH2\ M$YW3.^TB(>2="-D[,&;K:82\$R%[!\;TRUL1Y)T(V3LP9N)C0MZ)D+T#)AOM M9Q/R3H3LG1/)1H_4)PY^"1OR3HSLG9.8MTJX$7U,R#LQLG=.8H[SG%ON8T+> MB9&]TR[F=,[K,:2?&%D_O\LZW6S@;@JREN1$@_2:V?_O']HIQM MW.HY7[KAC6O/J,A6FE0?S4YHG%2[&)M2B(EKNY$+1?/CZTK'5ZT^_0)02P,$ M% @ FHC]4O,@BWGI 0 $B( !H !X;"]?Z)0A&. M14&#YE36V/+U7WVRQIZ_I%U;MMTA;[9]GASWNT->-)M2^H<0\G*3]FV^Z?IT M.%]9=<.^+>?EL Y]NWQOURGH=#H+P\\9S>/\Y\S)ZZE/?YG8K5;;97KJEA_[ M="B_# Z?W?">-RF59O+:#NM4%DTX[JZG<[@BN!WHIZ*X'>.GK9)M!;46\ET%M1;R706U%O)=!;46\ET%M1;R706U%O)=!; M46\ET-M0;R/0VU!O(]#;4&\CT-M&FR4$>AOJ;01Z&^IM!'H;ZFT$>AOJ;01Z M&^IM!'H;ZFT$>COJ[01Z.^KM!'H[ZNT$>COJ[01Z^VBSFT!O1[V=0&]'O9U M;T>]G4!O1[V=0&]'O9U [XAZ1P*](^H="?2.J'$?6.!'I'U#O^I]ZYG'8I7WN^U_C\_Z2ZG.]-U\=?EM\G1^Q<< [P"\CC M%U!+ P04 " ":B/U2LFA)V-4! "_(0 $P %M#;VYT96YT7U1Y<&5S M72YX;6S-VEU/@S 4!N"_LG!K1M>O^1'GC7JK7O@'*IP-,J!-V\WY[RU,331* M7&;B>P.!MN<]M,ESQ>7CBZ,PV;5-%Q99%:.[8"P4%;4FY-91ET:6UK_ M8LX4:[,B)F:S.2ML%ZF+T]C7R*XN;VAI-DV[7-8%E;;8M&E)'IPG4X:**+9-OB]Z,IXNI!.S-/A<>]'TJ^>NE2(?*S'/_$C,94^^ONH/^V2RE]F MI^U]MGX]G$=@P^WX/?Y\QA_U#^Q#@/0A0?I0('UHD#[F('V<@O1Q!M+'.4@? M?(;2"(JH'(54CF(J1T&5HZC*45CE**YR%%@YBJP"15:!(JM D56@R"I09!4H ML@H4606*K )%5H$BJT215:+(*E%DE2BR2A19)8JL$D56B2*K1)%5HLBJ4&15 M*+(J%%D5BJP*15:%(JM"D56AR*I09%4HLFH4636*K!I%5HTBJT:15:/(JE%D MU?\IZY.UZ[_^I:"_YZVIN_=\-ORW&PO=&AE;64O=&AE;64Q+GAM;%!+ 0(4 Q0 ( M )J(_5(P+Z1W304 "D6 8 " @0X( !X;"]W;W)K&PO=V]R:W-H965T&UL4$L! A0# M% @ FHC]4I#7H'\Y P 2@L !@ ("!OQ0 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ FHC]4LE[/^W6 M" OB4 !@ ("!ZB< 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ FHC]4@^&UL4$L! A0#% @ FHC]4D%V\4+Z!0 &PO M=V]R:W-H965T&UL4$L! A0#% @ FHC]4F@F,H?Y!0 \Q0 !D ("! MP54 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ FHC]4DWE?;_1 P 5PL !D ("!56H 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ FHC]4J>$4B.O M!@ %1( !D ("!('X 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ FHC]4MZG9\TT" ZA4 !D M ("!9XH 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ FHC]4BWHGTC3 @ A 8 !D ("!=ID M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ MFHC]4DTO3CKB! :@\ !D ("!K:, 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ FHC]4KJD1]=@ @ MK@8 !D ("!+J\ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ FHC]4BCJ0[(J @ 0 4 !D M ("!E;H 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ FHC]4F ]]<'E @ 8 D !D ("!?,0 'AL M+W=O&PO=V]R:W-H965T_+ !X;"]W;W)K&UL4$L! A0#% @ FHC] M4@D\\ONW @ '@8 !D ("!3<\ 'AL+W=OTHO),# W#0 &0 M @($[T@ >&PO=V]R:W-H965T&UL4$L! A0#% @ FHC]4M07]F07 P V H M !D ("!O-D 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ FHC]4MM2.G"'! ]1$ !D M ("!K>0 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ FHC]4D\ VQ(8 P ;0D !D ("!P>\ 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ FHC]4N=W MD5W1 @ N0< !D ("!7?X 'AL+W=O&PO=V]R:W-H965TX$ 0!X;"]W;W)K&UL4$L! A0#% @ FHC]4C?H))D% @ Q00 !D M ("!>0@! 'AL+W=O&PO M=V]R:W-H965T<8 K 0!;0V]N=&5N=%]4>7!E&UL4$L%!@ !! $$ OA$ .T: 0 $! end XML 70 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 71 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 72 FilingSummary.xml IDEA: XBRL DOCUMENT 3.21.2 html 179 359 1 false 52 0 false 8 false false R1.htm 00090 - Document - Document and Entity Information Sheet http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation Document and Entity Information Cover 1 false false R2.htm 00100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS Sheet http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets CONDENSED CONSOLIDATED BALANCE SHEETS Statements 2 false false R3.htm 00105 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) Sheet http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) Statements 3 false false R4.htm 00200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE (LOSS) INCOME Sheet http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE (LOSS) INCOME Statements 4 false false R5.htm 00300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY Sheet http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY Statements 5 false false R6.htm 00400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS Sheet http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS Statements 6 false false R7.htm 00405 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS - Reconciliation of Cashflows Sheet http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsReconciliationOfCashflows CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS - Reconciliation of Cashflows Statements 7 false false R8.htm 10101 - Disclosure - Description of Business Sheet http://www.doubleverify.com/role/DisclosureDescriptionOfBusiness Description of Business Notes 8 false false R9.htm 10201 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies Sheet http://www.doubleverify.com/role/DisclosureBasisOfPresentationAndSummaryOfSignificantAccountingPolicies Basis of Presentation and Summary of Significant Accounting Policies Notes 9 false false R10.htm 10301 - Disclosure - Revenue Sheet http://www.doubleverify.com/role/DisclosureRevenue Revenue Notes 10 false false R11.htm 10401 - Disclosure - Business Combinations Sheet http://www.doubleverify.com/role/DisclosureBusinessCombinations Business Combinations Notes 11 false false R12.htm 10501 - Disclosure - Goodwill and Intangible Assets Sheet http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssets Goodwill and Intangible Assets Notes 12 false false R13.htm 10601 - Disclosure - Property, Plant and Equipment Sheet http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipment Property, Plant and Equipment Notes 13 false false R14.htm 10701 - Disclosure - Fair Value Measurement Sheet http://www.doubleverify.com/role/DisclosureFairValueMeasurement Fair Value Measurement Notes 14 false false R15.htm 10801 - Disclosure - Long-term Debt Sheet http://www.doubleverify.com/role/DisclosureLongTermDebt Long-term Debt Notes 15 false false R16.htm 10901 - Disclosure - Income Tax Sheet http://www.doubleverify.com/role/DisclosureIncomeTax Income Tax Notes 16 false false R17.htm 11001 - Disclosure - (Loss) Earnings Per Share Sheet http://www.doubleverify.com/role/DisclosureLossEarningsPerShare (Loss) Earnings Per Share Notes 17 false false R18.htm 11101 - Disclosure - Stock-Based Compensation Sheet http://www.doubleverify.com/role/DisclosureStockBasedCompensation Stock-Based Compensation Notes 18 false false R19.htm 11201 - Disclosure - Stockholders' Equity Sheet http://www.doubleverify.com/role/DisclosureStockholdersEquity Stockholders' Equity Notes 19 false false R20.htm 11301 - Disclosure - Commitments and Contingencies Sheet http://www.doubleverify.com/role/DisclosureCommitmentsAndContingencies Commitments and Contingencies Notes 20 false false R21.htm 11401 - Disclosure - Segment Information Sheet http://www.doubleverify.com/role/DisclosureSegmentInformation Segment Information Notes 21 false false R22.htm 11501 - Disclosure - Subsequent Events Sheet http://www.doubleverify.com/role/DisclosureSubsequentEvents Subsequent Events Notes 22 false false R23.htm 20202 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies (Policies) Sheet http://www.doubleverify.com/role/DisclosureBasisOfPresentationAndSummaryOfSignificantAccountingPoliciesPolicies Basis of Presentation and Summary of Significant Accounting Policies (Policies) Policies http://www.doubleverify.com/role/DisclosureBasisOfPresentationAndSummaryOfSignificantAccountingPolicies 23 false false R24.htm 30303 - Disclosure - Revenue (Tables) Sheet http://www.doubleverify.com/role/DisclosureRevenueTables Revenue (Tables) Tables http://www.doubleverify.com/role/DisclosureRevenue 24 false false R25.htm 30503 - Disclosure - Goodwill and Intangible Assets (Tables) Sheet http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsTables Goodwill and Intangible Assets (Tables) Tables http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssets 25 false false R26.htm 30603 - Disclosure - Property, Plant and Equipment (Tables) Sheet http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentTables Property, Plant and Equipment (Tables) Tables http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipment 26 false false R27.htm 30703 - Disclosure - Fair Value Measurement (Tables) Sheet http://www.doubleverify.com/role/DisclosureFairValueMeasurementTables Fair Value Measurement (Tables) Tables http://www.doubleverify.com/role/DisclosureFairValueMeasurement 27 false false R28.htm 31003 - Disclosure - (Loss) Earnings Per Share (Tables) Sheet http://www.doubleverify.com/role/DisclosureLossEarningsPerShareTables (Loss) Earnings Per Share (Tables) Tables http://www.doubleverify.com/role/DisclosureLossEarningsPerShare 28 false false R29.htm 31101 - Disclosure - Stock-Based Compensation (Tables) Sheet http://www.doubleverify.com/role/DisclosureStockBasedCompensationTables Stock-Based Compensation (Tables) Tables http://www.doubleverify.com/role/DisclosureStockBasedCompensation 29 false false R30.htm 31303 - Disclosure - Commitments and Contingencies (Tables) Sheet http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesTables Commitments and Contingencies (Tables) Tables http://www.doubleverify.com/role/DisclosureCommitmentsAndContingencies 30 false false R31.htm 40101 - Disclosure - Description of Business (Details) Sheet http://www.doubleverify.com/role/DisclosureDescriptionOfBusinessDetails Description of Business (Details) Details http://www.doubleverify.com/role/DisclosureDescriptionOfBusiness 31 false false R32.htm 40201 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies (Details) Sheet http://www.doubleverify.com/role/DisclosureBasisOfPresentationAndSummaryOfSignificantAccountingPoliciesDetails Basis of Presentation and Summary of Significant Accounting Policies (Details) Details http://www.doubleverify.com/role/DisclosureBasisOfPresentationAndSummaryOfSignificantAccountingPoliciesPolicies 32 false false R33.htm 40301 - Disclosure - Revenue (Details) Sheet http://www.doubleverify.com/role/DisclosureRevenueDetails Revenue (Details) Details http://www.doubleverify.com/role/DisclosureRevenueTables 33 false false R34.htm 40401 - Disclosure - Business Combinations (Details) Sheet http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails Business Combinations (Details) Details http://www.doubleverify.com/role/DisclosureBusinessCombinations 34 false false R35.htm 40501 - Disclosure - Goodwill and Intangible Assets - Goodwill (Details) Sheet http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails Goodwill and Intangible Assets - Goodwill (Details) Details 35 false false R36.htm 40502 - Disclosure - Goodwill and Intangible Assets - Summary of Company's intangible assets (Details) Sheet http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails Goodwill and Intangible Assets - Summary of Company's intangible assets (Details) Details 36 false false R37.htm 40503 - Disclosure - Goodwill and Intangible Assets - Estimated future expected amortization expense (Details) Sheet http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails Goodwill and Intangible Assets - Estimated future expected amortization expense (Details) Details 37 false false R38.htm 40504 - Disclosure - Goodwill and Intangible Assets - Weighted-average remaining useful life (Details) Sheet http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsWeightedAverageRemainingUsefulLifeDetails Goodwill and Intangible Assets - Weighted-average remaining useful life (Details) Details 38 false false R39.htm 40601 - Disclosure - Property, Plant and Equipment (Details) Sheet http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails Property, Plant and Equipment (Details) Details http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentTables 39 false false R40.htm 40701 - Disclosure - Fair Value Measurement - Fair value on a recurring basis (Details) Sheet http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails Fair Value Measurement - Fair value on a recurring basis (Details) Details 40 false false R41.htm 40702 - Disclosure - Fair Value Measurement - Rollforward of the fair value measurements (Details) Sheet http://www.doubleverify.com/role/DisclosureFairValueMeasurementRollforwardOfFairValueMeasurementsDetails Fair Value Measurement - Rollforward of the fair value measurements (Details) Details 41 false false R42.htm 40703 - Disclosure - Fair Value Measurement - Additional Information (Details) Sheet http://www.doubleverify.com/role/DisclosureFairValueMeasurementAdditionalInformationDetails Fair Value Measurement - Additional Information (Details) Details 42 false false R43.htm 40801 - Disclosure - Long-term Debt (Details) Sheet http://www.doubleverify.com/role/DisclosureLongTermDebtDetails Long-term Debt (Details) Details http://www.doubleverify.com/role/DisclosureLongTermDebt 43 false false R44.htm 40901 - Disclosure - Income Tax (Details) Sheet http://www.doubleverify.com/role/DisclosureIncomeTaxDetails Income Tax (Details) Details http://www.doubleverify.com/role/DisclosureIncomeTax 44 false false R45.htm 41001 - Disclosure - (Loss) Earnings Per Share (Details) Sheet http://www.doubleverify.com/role/DisclosureLossEarningsPerShareDetails (Loss) Earnings Per Share (Details) Details http://www.doubleverify.com/role/DisclosureLossEarningsPerShareTables 45 false false R46.htm 41101 - Disclosure - Stock-Based Compensation (Details) Sheet http://www.doubleverify.com/role/DisclosureStockBasedCompensationDetails Stock-Based Compensation (Details) Details http://www.doubleverify.com/role/DisclosureStockBasedCompensationTables 46 false false R47.htm 41102 - Disclosure - Stock-Based Compensation - Stock option activity (Details) Sheet http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails Stock-Based Compensation - Stock option activity (Details) Details 47 false false R48.htm 41103 - Disclosure - Stock-Based Compensation - Additional information (Details) Sheet http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails Stock-Based Compensation - Additional information (Details) Details 48 false false R49.htm 41104 - Disclosure - Stock-Based Compensation - Black-Scholes-Merton option-pricing model (Details) Sheet http://www.doubleverify.com/role/DisclosureStockBasedCompensationBlackScholesMertonOptionPricingModelDetails Stock-Based Compensation - Black-Scholes-Merton option-pricing model (Details) Details 49 false false R50.htm 41105 - Disclosure - Stock-Based Compensation - Restricted stock award activity (Details) Sheet http://www.doubleverify.com/role/DisclosureStockBasedCompensationRestrictedStockAwardActivityDetails Stock-Based Compensation - Restricted stock award activity (Details) Details 50 false false R51.htm 41106 - Disclosure - Stock-Based Compensation - Stock-based compensation expense (Details) Sheet http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails Stock-Based Compensation - Stock-based compensation expense (Details) Details 51 false false R52.htm 41201 - Disclosure - Stockholders' Equity (Details) Sheet http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails Stockholders' Equity (Details) Details http://www.doubleverify.com/role/DisclosureStockholdersEquity 52 false false R53.htm 41301 - Disclosure - Commitments and Contingencies (Details) Sheet http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesDetails Commitments and Contingencies (Details) Details http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesTables 53 false false R54.htm 41302 - Disclosure - Commitments and Contingencies - Operating Leases (Details) Sheet http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesOperatingLeasesDetails Commitments and Contingencies - Operating Leases (Details) Details 54 false false R55.htm 41303 - Disclosure - Commitments and Contingencies - Capital Leases (Details) Sheet http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetails Commitments and Contingencies - Capital Leases (Details) Details 55 false false R56.htm 41401 - Disclosure - Segment Information (Details) Sheet http://www.doubleverify.com/role/DisclosureSegmentInformationDetails Segment Information (Details) Details http://www.doubleverify.com/role/DisclosureSegmentInformation 56 false false R57.htm 41501 - Disclosure - Subsequent Events (Details) Sheet http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails Subsequent Events (Details) Details http://www.doubleverify.com/role/DisclosureSubsequentEvents 57 false false All Reports Book All Reports dvh-20210630x10q.htm dvh-20210630.xsd dvh-20210630_cal.xml dvh-20210630_def.xml dvh-20210630_lab.xml dvh-20210630_pre.xml dvh-20210630xex31d1.htm dvh-20210630xex31d2.htm dvh-20210630xex32d1.htm dvh-20210630xex32d2.htm http://fasb.org/us-gaap/2020-01-31 http://fasb.org/srt/2020-01-31 http://xbrl.sec.gov/dei/2020-01-31 true true JSON 75 MetaLinks.json IDEA: XBRL DOCUMENT { "instance": { "dvh-20210630x10q.htm": { "axisCustom": 0, "axisStandard": 22, "contextCount": 179, "dts": { "calculationLink": { "local": [ "dvh-20210630_cal.xml" ] }, "definitionLink": { "local": [ "dvh-20210630_def.xml" ], "remote": [ "http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-eedm-def-2020-01-31.xml", "http://xbrl.fasb.org/srt/2020/elts/srt-eedm1-def-2020-01-31.xml" ] }, "inline": { "local": [ "dvh-20210630x10q.htm" ] }, "labelLink": { "local": [ "dvh-20210630_lab.xml" ], "remote": [ "http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-doc-2020-01-31.xml", "https://xbrl.sec.gov/dei/2020/dei-doc-2020-01-31.xml" ] }, "presentationLink": { "local": [ "dvh-20210630_pre.xml" ] }, "referenceLink": { "remote": [ "https://xbrl.sec.gov/dei/2020/dei-ref-2020-01-31.xml", "http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-ref-2020-01-31.xml" ] }, "schema": { "local": [ "dvh-20210630.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/2020/dei-2020-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/2020/elts/us-gaap-2020-01-31.xsd", "http://xbrl.fasb.org/us-gaap/2020/elts/us-roles-2020-01-31.xsd", "http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd", "http://www.xbrl.org/2006/ref-2006-02-27.xsd", "http://xbrl.fasb.org/srt/2020/elts/srt-types-2020-01-31.xsd", "http://xbrl.fasb.org/srt/2020/elts/srt-roles-2020-01-31.xsd", "https://xbrl.sec.gov/country/2020/country-2020-01-31.xsd", "http://xbrl.fasb.org/us-gaap/2020/elts/us-types-2020-01-31.xsd", "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd", "http://xbrl.fasb.org/us-gaap/2020/elts/us-parts-codification-2020-01-31.xsd", "http://www.xbrl.org/lrr/role/deprecated-2009-12-16.xsd" ] } }, "elementCount": 460, "entityCount": 1, "hidden": { "http://fasb.org/us-gaap/2020-01-31": 8, "http://xbrl.sec.gov/dei/2020-01-31": 6, "total": 14 }, "keyCustom": 30, "keyStandard": 329, "memberCustom": 19, "memberStandard": 32, "nsprefix": "dvh", "nsuri": "http://www.doubleverify.com/20210630", "report": { "R1": { "firstAnchor": { "ancestors": [ "p", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "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.doubleverify.com/role/DocumentDocumentAndEntityInformation", "shortName": "Document and Entity Information", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "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": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10301 - Disclosure - Revenue", "role": "http://www.doubleverify.com/role/DisclosureRevenue", "shortName": "Revenue", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R11": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10401 - Disclosure - Business Combinations", "role": "http://www.doubleverify.com/role/DisclosureBusinessCombinations", "shortName": "Business Combinations", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R12": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10501 - Disclosure - Goodwill and Intangible Assets", "role": "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssets", "shortName": "Goodwill and Intangible Assets", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R13": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10601 - Disclosure - Property, Plant and Equipment", "role": "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipment", "shortName": "Property, Plant and Equipment", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "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": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10701 - Disclosure - Fair Value Measurement", "role": "http://www.doubleverify.com/role/DisclosureFairValueMeasurement", "shortName": "Fair Value Measurement", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R15": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DebtDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10801 - Disclosure - Long-term Debt", "role": "http://www.doubleverify.com/role/DisclosureLongTermDebt", "shortName": "Long-term Debt", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DebtDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R16": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10901 - Disclosure - Income Tax", "role": "http://www.doubleverify.com/role/DisclosureIncomeTax", "shortName": "Income Tax", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R17": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11001 - Disclosure - (Loss) Earnings Per Share", "role": "http://www.doubleverify.com/role/DisclosureLossEarningsPerShare", "shortName": "(Loss) Earnings Per Share", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R18": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11101 - Disclosure - Stock-Based Compensation", "role": "http://www.doubleverify.com/role/DisclosureStockBasedCompensation", "shortName": "Stock-Based Compensation", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R19": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11201 - Disclosure - Stockholders' Equity", "role": "http://www.doubleverify.com/role/DisclosureStockholdersEquity", "shortName": "Stockholders' Equity", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R2": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "As_Of_6_30_2021_CfT2mBQ7Mky8Oq4gfaCsdw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unitRef": "Unit_Standard_USD_0qHxs57jwEKR-jcTGZ-T6A", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS", "role": "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets", "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "As_Of_12_31_2020_ZzIjWxhA9EO_rvHqHOcnXw", "decimals": "-3", "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_0qHxs57jwEKR-jcTGZ-T6A", "xsiNil": "false" } }, "R20": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11301 - Disclosure - Commitments and Contingencies", "role": "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingencies", "shortName": "Commitments and Contingencies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R21": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11401 - Disclosure - Segment Information", "role": "http://www.doubleverify.com/role/DisclosureSegmentInformation", "shortName": "Segment Information", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R22": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SubsequentEventsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11501 - Disclosure - Subsequent Events", "role": "http://www.doubleverify.com/role/DisclosureSubsequentEvents", "shortName": "Subsequent Events", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SubsequentEventsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R23": { "firstAnchor": { "ancestors": [ "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": null, "first": true, "lang": "en-US", "name": "dvh:BasisOfPreparationAndPrinciplesOfConsolidationPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "20202 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies (Policies)", "role": "http://www.doubleverify.com/role/DisclosureBasisOfPresentationAndSummaryOfSignificantAccountingPoliciesPolicies", "shortName": "Basis of Presentation and Summary of Significant Accounting Policies (Policies)", "subGroupType": "policies", "uniqueAnchor": { "ancestors": [ "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": null, "first": true, "lang": "en-US", "name": "dvh:BasisOfPreparationAndPrinciplesOfConsolidationPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R24": { "firstAnchor": { "ancestors": [ "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30303 - Disclosure - Revenue (Tables)", "role": "http://www.doubleverify.com/role/DisclosureRevenueTables", "shortName": "Revenue (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R25": { "firstAnchor": { "ancestors": [ "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30503 - Disclosure - Goodwill and Intangible Assets (Tables)", "role": "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsTables", "shortName": "Goodwill and Intangible Assets (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R26": { "firstAnchor": { "ancestors": [ "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "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, Plant and Equipment (Tables)", "role": "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentTables", "shortName": "Property, Plant and Equipment (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R27": { "firstAnchor": { "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30703 - Disclosure - Fair Value Measurement (Tables)", "role": "http://www.doubleverify.com/role/DisclosureFairValueMeasurementTables", "shortName": "Fair Value Measurement (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R28": { "firstAnchor": { "ancestors": [ "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "31003 - Disclosure - (Loss) Earnings Per Share (Tables)", "role": "http://www.doubleverify.com/role/DisclosureLossEarningsPerShareTables", "shortName": "(Loss) Earnings Per Share (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R29": { "firstAnchor": { "ancestors": [ "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "31101 - Disclosure - Stock-Based Compensation (Tables)", "role": "http://www.doubleverify.com/role/DisclosureStockBasedCompensationTables", "shortName": "Stock-Based Compensation (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R3": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "As_Of_6_30_2021_CfT2mBQ7Mky8Oq4gfaCsdw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_0qHxs57jwEKR-jcTGZ-T6A", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00105 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)", "role": "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical", "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "As_Of_6_30_2021_CfT2mBQ7Mky8Oq4gfaCsdw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_0qHxs57jwEKR-jcTGZ-T6A", "xsiNil": "false" } }, "R30": { "firstAnchor": { "ancestors": [ "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "31303 - Disclosure - Commitments and Contingencies (Tables)", "role": "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesTables", "shortName": "Commitments and Contingencies (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R31": { "firstAnchor": { "ancestors": [ "p", "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "As_Of_8_18_2017_us-gaap_BusinessAcquisitionAxis_dvh_DoubleverifyInc.Member_25_HYyrV6E-VZ-QFRXObMQ", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_khTWgfqnmEC7rraDyKatXg", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40101 - Disclosure - Description of Business (Details)", "role": "http://www.doubleverify.com/role/DisclosureDescriptionOfBusinessDetails", "shortName": "Description of Business (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "As_Of_8_18_2017_us-gaap_BusinessAcquisitionAxis_dvh_DoubleverifyInc.Member_25_HYyrV6E-VZ-QFRXObMQ", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_khTWgfqnmEC7rraDyKatXg", "xsiNil": "false" } }, "R32": { "firstAnchor": { "ancestors": [ "p", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "As_Of_3_29_2021_bvf-BYXbHkmYDZO1UCmkNw", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:CommonStockParOrStatedValuePerShare", "reportCount": 1, "unitRef": "Unit_Divide_USD_shares_EPS_ZcU0TU2ebZNGupiM3A", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40201 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies (Details)", "role": "http://www.doubleverify.com/role/DisclosureBasisOfPresentationAndSummaryOfSignificantAccountingPoliciesDetails", "shortName": "Basis of Presentation and Summary of Significant Accounting Policies (Details)", "subGroupType": "details", "uniqueAnchor": null }, "R33": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_4_1_2021_To_6_30_2021_z3sSWh3tCECESA3q5GWk2w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "Unit_Standard_USD_0qHxs57jwEKR-jcTGZ-T6A", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40301 - Disclosure - Revenue (Details)", "role": "http://www.doubleverify.com/role/DisclosureRevenueDetails", "shortName": "Revenue (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "As_Of_12_31_2020_ZzIjWxhA9EO_rvHqHOcnXw", "decimals": "-5", "lang": null, "name": "us-gaap:UnbilledReceivablesCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_0qHxs57jwEKR-jcTGZ-T6A", "xsiNil": "false" } }, "R34": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "As_Of_6_30_2021_CfT2mBQ7Mky8Oq4gfaCsdw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent", "reportCount": 1, "unitRef": "Unit_Standard_USD_0qHxs57jwEKR-jcTGZ-T6A", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40401 - Disclosure - Business Combinations (Details)", "role": "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails", "shortName": "Business Combinations (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:BusinessCombinationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_2_15_2019_To_2_15_2019_us-gaap_BusinessAcquisitionAxis_dvh_ZentrickNVMember_Y4kcv1yPK0-7DDO4JR485g", "decimals": "-5", "lang": null, "name": "us-gaap:PaymentsToAcquireBusinessesGross", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_0qHxs57jwEKR-jcTGZ-T6A", "xsiNil": "false" } }, "R35": { "firstAnchor": { "ancestors": [ "p", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:GoodwillPeriodIncreaseDecrease", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_0qHxs57jwEKR-jcTGZ-T6A", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40501 - Disclosure - Goodwill and Intangible Assets - Goodwill (Details)", "role": "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails", "shortName": "Goodwill and Intangible Assets - Goodwill (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:GoodwillPeriodIncreaseDecrease", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_0qHxs57jwEKR-jcTGZ-T6A", "xsiNil": "false" } }, "R36": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "As_Of_6_30_2021_CfT2mBQ7Mky8Oq4gfaCsdw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unitRef": "Unit_Standard_USD_0qHxs57jwEKR-jcTGZ-T6A", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40502 - Disclosure - Goodwill and Intangible Assets - Summary of Company's intangible assets (Details)", "role": "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails", "shortName": "Goodwill and Intangible Assets - Summary of Company's intangible assets (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "As_Of_12_31_2020_ZzIjWxhA9EO_rvHqHOcnXw", "decimals": "-3", "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_0qHxs57jwEKR-jcTGZ-T6A", "xsiNil": "false" } }, "R37": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "As_Of_6_30_2021_CfT2mBQ7Mky8Oq4gfaCsdw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_0qHxs57jwEKR-jcTGZ-T6A", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40503 - Disclosure - Goodwill and Intangible Assets - Estimated future expected amortization expense (Details)", "role": "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails", "shortName": "Goodwill and Intangible Assets - Estimated future expected amortization expense (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "As_Of_6_30_2021_CfT2mBQ7Mky8Oq4gfaCsdw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_0qHxs57jwEKR-jcTGZ-T6A", "xsiNil": "false" } }, "R38": { "firstAnchor": { "ancestors": [ "us-gaap:ImpairmentOfIntangibleAssetsFinitelived", "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ImpairmentOfIntangibleAssetsFinitelived", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_0qHxs57jwEKR-jcTGZ-T6A", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40504 - Disclosure - Goodwill and Intangible Assets - Weighted-average remaining useful life (Details)", "role": "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsWeightedAverageRemainingUsefulLifeDetails", "shortName": "Goodwill and Intangible Assets - Weighted-average remaining useful life (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "us-gaap:ImpairmentOfIntangibleAssetsFinitelived", "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ImpairmentOfIntangibleAssetsFinitelived", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_0qHxs57jwEKR-jcTGZ-T6A", "xsiNil": "false" } }, "R39": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "As_Of_6_30_2021_CfT2mBQ7Mky8Oq4gfaCsdw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "reportCount": 1, "unitRef": "Unit_Standard_USD_0qHxs57jwEKR-jcTGZ-T6A", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40601 - Disclosure - Property, Plant and Equipment (Details)", "role": "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails", "shortName": "Property, Plant and Equipment (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "As_Of_12_31_2020_ZzIjWxhA9EO_rvHqHOcnXw", "decimals": "-3", "lang": null, "name": "us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_0qHxs57jwEKR-jcTGZ-T6A", "xsiNil": "false" } }, "R4": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_4_1_2021_To_6_30_2021_z3sSWh3tCECESA3q5GWk2w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "Unit_Standard_USD_0qHxs57jwEKR-jcTGZ-T6A", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE (LOSS) INCOME", "role": "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE (LOSS) INCOME", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_4_1_2021_To_6_30_2021_z3sSWh3tCECESA3q5GWk2w", "decimals": "-3", "lang": null, "name": "us-gaap:CostOfGoodsAndServicesSold", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_0qHxs57jwEKR-jcTGZ-T6A", "xsiNil": "false" } }, "R40": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "As_Of_6_30_2021_CfT2mBQ7Mky8Oq4gfaCsdw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent", "reportCount": 1, "unitRef": "Unit_Standard_USD_0qHxs57jwEKR-jcTGZ-T6A", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40701 - Disclosure - Fair Value Measurement - Fair value on a recurring basis (Details)", "role": "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails", "shortName": "Fair Value Measurement - Fair value on a recurring basis (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "As_Of_6_30_2021_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_6Vn0AmW3Wk2IY90f7JgYhw", "decimals": "-3", "lang": null, "name": "us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_0qHxs57jwEKR-jcTGZ-T6A", "xsiNil": "false" } }, "R41": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock", "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "As_Of_12_31_2020_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByLiabilityClassAxis_dvh_BusinessCombinationContingentConsiderationLiabilityMember_73EZYlpDtUyfNH-4NB4qLw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_0qHxs57jwEKR-jcTGZ-T6A", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40702 - Disclosure - Fair Value Measurement - Rollforward of the fair value measurements (Details)", "role": "http://www.doubleverify.com/role/DisclosureFairValueMeasurementRollforwardOfFairValueMeasurementsDetails", "shortName": "Fair Value Measurement - Rollforward of the fair value measurements (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock", "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "As_Of_12_31_2020_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByLiabilityClassAxis_dvh_BusinessCombinationContingentConsiderationLiabilityMember_73EZYlpDtUyfNH-4NB4qLw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_0qHxs57jwEKR-jcTGZ-T6A", "xsiNil": "false" } }, "R42": { "firstAnchor": { "ancestors": [ "p", "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": "INF", "first": true, "lang": null, "name": "dvh:BusinessCombinationContingentConsiderationNumberOfTechnicalMilestone", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_Milestone_4XoZESlNYEevb7srQVbVjg", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40703 - Disclosure - Fair Value Measurement - Additional Information (Details)", "role": "http://www.doubleverify.com/role/DisclosureFairValueMeasurementAdditionalInformationDetails", "shortName": "Fair Value Measurement - Additional Information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": "INF", "first": true, "lang": null, "name": "dvh:BusinessCombinationContingentConsiderationNumberOfTechnicalMilestone", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_Milestone_4XoZESlNYEevb7srQVbVjg", "xsiNil": "false" } }, "R43": { "firstAnchor": { "ancestors": [ "p", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "As_Of_6_30_2021_CfT2mBQ7Mky8Oq4gfaCsdw", "decimals": "1", "first": true, "lang": null, "name": "dvh:LineOfCreditFacilityMaximumTotalLeverageRatio", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_khTWgfqnmEC7rraDyKatXg", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40801 - Disclosure - Long-term Debt (Details)", "role": "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails", "shortName": "Long-term Debt (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "As_Of_6_30_2021_CfT2mBQ7Mky8Oq4gfaCsdw", "decimals": "1", "first": true, "lang": null, "name": "dvh:LineOfCreditFacilityMaximumTotalLeverageRatio", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_khTWgfqnmEC7rraDyKatXg", "xsiNil": "false" } }, "R44": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_4_1_2021_To_6_30_2021_z3sSWh3tCECESA3q5GWk2w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:IncomeTaxExpenseBenefit", "reportCount": 1, "unitRef": "Unit_Standard_USD_0qHxs57jwEKR-jcTGZ-T6A", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40901 - Disclosure - Income Tax (Details)", "role": "http://www.doubleverify.com/role/DisclosureIncomeTaxDetails", "shortName": "Income Tax (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_4_1_2021_To_6_30_2021_z3sSWh3tCECESA3q5GWk2w", "decimals": "3", "lang": null, "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_khTWgfqnmEC7rraDyKatXg", "xsiNil": "false" } }, "R45": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_4_1_2021_To_6_30_2021_z3sSWh3tCECESA3q5GWk2w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "Unit_Standard_USD_0qHxs57jwEKR-jcTGZ-T6A", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41001 - Disclosure - (Loss) Earnings Per Share (Details)", "role": "http://www.doubleverify.com/role/DisclosureLossEarningsPerShareDetails", "shortName": "(Loss) Earnings Per Share (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_4_1_2020_To_6_30_2020_N4xfgnEkJkKsiSWHqtNtSg", "decimals": "-3", "lang": null, "name": "us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_k3bZZyy470ehimNYIClDKA", "xsiNil": "false" } }, "R46": { "firstAnchor": { "ancestors": [ "p", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "As_Of_4_19_2021_us-gaap_PlanNameAxis_dvh_OmnibusEquityIncentivePlan2021Member_nvu3RvgxSEe_39scBqCX2Q", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_k3bZZyy470ehimNYIClDKA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41101 - Disclosure - Stock-Based Compensation (Details)", "role": "http://www.doubleverify.com/role/DisclosureStockBasedCompensationDetails", "shortName": "Stock-Based Compensation (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "As_Of_4_19_2021_us-gaap_PlanNameAxis_dvh_OmnibusEquityIncentivePlan2021Member_nvu3RvgxSEe_39scBqCX2Q", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_k3bZZyy470ehimNYIClDKA", "xsiNil": "false" } }, "R47": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "As_Of_12_31_2020_ZzIjWxhA9EO_rvHqHOcnXw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "reportCount": 1, "unitRef": "Unit_Standard_shares_k3bZZyy470ehimNYIClDKA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41102 - Disclosure - Stock-Based Compensation - Stock option activity (Details)", "role": "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails", "shortName": "Stock-Based Compensation - Stock option activity (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": "-3", "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_k3bZZyy470ehimNYIClDKA", "xsiNil": "false" } }, "R48": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "As_Of_6_30_2021_CfT2mBQ7Mky8Oq4gfaCsdw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "reportCount": 1, "unitRef": "Unit_Standard_shares_k3bZZyy470ehimNYIClDKA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41103 - Disclosure - Stock-Based Compensation - Additional information (Details)", "role": "http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "shortName": "Stock-Based Compensation - Additional information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": "2", "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "reportCount": 1, "unique": true, "unitRef": "Unit_Divide_USD_shares_EPS_ZcU0TU2ebZNGupiM3A", "xsiNil": "false" } }, "R49": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": "3", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_khTWgfqnmEC7rraDyKatXg", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41104 - Disclosure - Stock-Based Compensation - Black-Scholes-Merton option-pricing model (Details)", "role": "http://www.doubleverify.com/role/DisclosureStockBasedCompensationBlackScholesMertonOptionPricingModelDetails", "shortName": "Stock-Based Compensation - Black-Scholes-Merton option-pricing model (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": "3", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_khTWgfqnmEC7rraDyKatXg", "xsiNil": "false" } }, "R5": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_UQYUPl2mE0e_MPPDqe6NPg", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:StockholdersEquity", "reportCount": 1, "unitRef": "Unit_Standard_USD_0qHxs57jwEKR-jcTGZ-T6A", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY", "role": "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2020_To_3_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AociIncludingPortionAttributableToNoncontrollingInterestMember_x5D2bAa81UendfGJv06T5w", "decimals": "-3", "lang": null, "name": "us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_0qHxs57jwEKR-jcTGZ-T6A", "xsiNil": "false" } }, "R50": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "As_Of_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_1RC0au9jhUywqi6JhQy7fg", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_k3bZZyy470ehimNYIClDKA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41105 - Disclosure - Stock-Based Compensation - Restricted stock award activity (Details)", "role": "http://www.doubleverify.com/role/DisclosureStockBasedCompensationRestrictedStockAwardActivityDetails", "shortName": "Stock-Based Compensation - Restricted stock award activity (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "As_Of_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_1RC0au9jhUywqi6JhQy7fg", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_k3bZZyy470ehimNYIClDKA", "xsiNil": "false" } }, "R51": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_4_1_2021_To_6_30_2021_z3sSWh3tCECESA3q5GWk2w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_0qHxs57jwEKR-jcTGZ-T6A", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41106 - Disclosure - Stock-Based Compensation - Stock-based compensation expense (Details)", "role": "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails", "shortName": "Stock-Based Compensation - Stock-based compensation expense (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_4_1_2021_To_6_30_2021_z3sSWh3tCECESA3q5GWk2w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_0qHxs57jwEKR-jcTGZ-T6A", "xsiNil": "false" } }, "R52": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "reportCount": 1, "unitRef": "Unit_Standard_shares_k3bZZyy470ehimNYIClDKA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41201 - Disclosure - Stockholders' Equity (Details)", "role": "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "shortName": "Stockholders' Equity (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_4_23_2021_To_4_23_2021_30NRdeQwo0qJ6FLoGPoD4A", "decimals": "-3", "lang": null, "name": "us-gaap:StockIssuedDuringPeriodValueTreasuryStockReissued", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_0qHxs57jwEKR-jcTGZ-T6A", "xsiNil": "false" } }, "R53": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "As_Of_6_30_2021_CfT2mBQ7Mky8Oq4gfaCsdw", "decimals": "-3", "first": true, "lang": null, "name": "dvh:AccruedVendorPaymentsCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_0qHxs57jwEKR-jcTGZ-T6A", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41301 - Disclosure - Commitments and Contingencies (Details)", "role": "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesDetails", "shortName": "Commitments and Contingencies (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "As_Of_6_30_2021_CfT2mBQ7Mky8Oq4gfaCsdw", "decimals": "-3", "first": true, "lang": null, "name": "dvh:AccruedVendorPaymentsCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_0qHxs57jwEKR-jcTGZ-T6A", "xsiNil": "false" } }, "R54": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "As_Of_6_30_2021_CfT2mBQ7Mky8Oq4gfaCsdw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:OperatingLeasesFutureMinimumPaymentsRemainderOfFiscalYear", "reportCount": 1, "unitRef": "Unit_Standard_USD_0qHxs57jwEKR-jcTGZ-T6A", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41302 - Disclosure - Commitments and Contingencies - Operating Leases (Details)", "role": "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesOperatingLeasesDetails", "shortName": "Commitments and Contingencies - Operating Leases (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_4_1_2021_To_6_30_2021_us-gaap_GeographicDistributionAxis_dvh_OperatingLeaseOfficeSpaceInDomesticAndForeignMember_iLrmtltCoUi9wZuX8kqCjw", "decimals": "-5", "lang": null, "name": "us-gaap:LeaseAndRentalExpense", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_0qHxs57jwEKR-jcTGZ-T6A", "xsiNil": "false" } }, "R55": { "firstAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": "INF", "first": true, "lang": null, "name": "dvh:CapitalLeasesNumberOfEquipmentLeaseAgreements", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_agreement_UIAiROq_ckCASOU9LANy4Q", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41303 - Disclosure - Commitments and Contingencies - Capital Leases (Details)", "role": "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetails", "shortName": "Commitments and Contingencies - Capital Leases (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": "INF", "first": true, "lang": null, "name": "dvh:CapitalLeasesNumberOfEquipmentLeaseAgreements", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_agreement_UIAiROq_ckCASOU9LANy4Q", "xsiNil": "false" } }, "R56": { "firstAnchor": { "ancestors": [ "p", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:NumberOfOperatingSegments", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_segment_f-n0-DGyAUGLbo74BOLDLA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41401 - Disclosure - Segment Information (Details)", "role": "http://www.doubleverify.com/role/DisclosureSegmentInformationDetails", "shortName": "Segment Information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:NumberOfOperatingSegments", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_segment_f-n0-DGyAUGLbo74BOLDLA", "xsiNil": "false" } }, "R57": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "reportCount": 1, "unitRef": "Unit_Standard_shares_k3bZZyy470ehimNYIClDKA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41501 - Disclosure - Subsequent Events (Details)", "role": "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails", "shortName": "Subsequent Events (Details)", "subGroupType": "details", "uniqueAnchor": null }, "R6": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "Unit_Standard_USD_0qHxs57jwEKR-jcTGZ-T6A", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS", "role": "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": "-3", "lang": null, "name": "us-gaap:ProvisionForDoubtfulAccounts", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_0qHxs57jwEKR-jcTGZ-T6A", "xsiNil": "false" } }, "R7": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "As_Of_6_30_2021_CfT2mBQ7Mky8Oq4gfaCsdw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unitRef": "Unit_Standard_USD_0qHxs57jwEKR-jcTGZ-T6A", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00405 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS - Reconciliation of Cashflows", "role": "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsReconciliationOfCashflows", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS - Reconciliation of Cashflows", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "As_Of_6_30_2020_dRoY6QOBYEeZGWBnXfxgLQ", "decimals": "-3", "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_0qHxs57jwEKR-jcTGZ-T6A", "xsiNil": "false" } }, "R8": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "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 - Description of Business", "role": "http://www.doubleverify.com/role/DisclosureDescriptionOfBusiness", "shortName": "Description of Business", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "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": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10201 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies", "role": "http://www.doubleverify.com/role/DisclosureBasisOfPresentationAndSummaryOfSignificantAccountingPolicies", "shortName": "Basis of Presentation and Summary of Significant Accounting Policies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "dvh-20210630x10q.htm", "contextRef": "Duration_1_1_2021_To_6_30_2021_9nhYq2lpT06aFIRepwtLXw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } } }, "segmentCount": 52, "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/2020-01-31", "presentation": [ "http://www.doubleverify.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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_CoverAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Cover page.", "label": "Document and Entity Information [Abstract]" } } }, "localname": "CoverAbstract", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "xbrltype": "stringItemType" }, "dei_CurrentFiscalYearEndDate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "End date of current fiscal year in the format --MM-DD.", "label": "Current Fiscal Year End Date" } } }, "localname": "CurrentFiscalYearEndDate", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "fiscalPeriodItemType" }, "dei_DocumentFiscalYearFocus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.", "label": "Document Fiscal Year Focus" } } }, "localname": "DocumentFiscalYearFocus", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.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 YYYY-MM-DD.", "label": "Document Period End Date" } } }, "localname": "DocumentPeriodEndDate", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "dateItemType" }, "dei_DocumentQuarterlyReport": { "auth_ref": [ "r419" ], "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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_DocumentTransitionReport": { "auth_ref": [ "r420" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as a transition report.", "label": "Document Transition Report" } } }, "localname": "DocumentTransitionReport", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_DocumentType": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.", "label": "Document Type" } } }, "localname": "DocumentType", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "submissionTypeItemType" }, "dei_EntityAddressAddressLine1": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Address Line 1 such as Attn, Building Name, Street Name", "label": "Entity Address, Address Line One" } } }, "localname": "EntityAddressAddressLine1", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressCityOrTown": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the City or Town", "label": "Entity Address, City or Town" } } }, "localname": "EntityAddressCityOrTown", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressStateOrProvince": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the state or province.", "label": "Entity Address State Or Province" } } }, "localname": "EntityAddressStateOrProvince", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "stateOrProvinceItemType" }, "dei_EntityCentralIndexKey": { "auth_ref": [ "r421" ], "lang": { "en-us": { "role": { "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.", "label": "Entity Central Index Key" } } }, "localname": "EntityCentralIndexKey", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "centralIndexKeyItemType" }, "dei_EntityCommonStockSharesOutstanding": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.", "label": "Entity Common Stock, Shares Outstanding" } } }, "localname": "EntityCommonStockSharesOutstanding", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "sharesItemType" }, "dei_EntityCurrentReportingStatus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.", "label": "Entity Current Reporting Status" } } }, "localname": "EntityCurrentReportingStatus", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "yesNoItemType" }, "dei_EntityEmergingGrowthCompany": { "auth_ref": [ "r421" ], "lang": { "en-us": { "role": { "documentation": "Indicate if registrant meets the emerging growth company criteria.", "label": "Entity Emerging Growth Company" } } }, "localname": "EntityEmergingGrowthCompany", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_EntityExTransitionPeriod": { "auth_ref": [ "r423" ], "lang": { "en-us": { "role": { "documentation": "Indicate if an emerging growth company has elected not to use the extended transition period for complying with any new or revised financial accounting standards.", "label": "Entity Ex Transition Period" } } }, "localname": "EntityExTransitionPeriod", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_EntityFileNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.", "label": "Entity File Number" } } }, "localname": "EntityFileNumber", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "fileNumberItemType" }, "dei_EntityFilerCategory": { "auth_ref": [ "r421" ], "lang": { "en-us": { "role": { "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.", "label": "Entity Filer Category" } } }, "localname": "EntityFilerCategory", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "filerCategoryItemType" }, "dei_EntityIncorporationStateCountryCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Two-character EDGAR code representing the state or country of incorporation.", "label": "Entity Incorporation, State or Country Code" } } }, "localname": "EntityIncorporationStateCountryCode", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "edgarStateCountryItemType" }, "dei_EntityInteractiveDataCurrent": { "auth_ref": [ "r422" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).", "label": "Entity Interactive Data Current" } } }, "localname": "EntityInteractiveDataCurrent", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "yesNoItemType" }, "dei_EntityRegistrantName": { "auth_ref": [ "r421" ], "lang": { "en-us": { "role": { "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.", "label": "Entity Registrant Name" } } }, "localname": "EntityRegistrantName", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityShellCompany": { "auth_ref": [ "r421" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.", "label": "Entity Shell Company" } } }, "localname": "EntityShellCompany", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_EntitySmallBusiness": { "auth_ref": [ "r421" ], "lang": { "en-us": { "role": { "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).", "label": "Entity Small Business" } } }, "localname": "EntitySmallBusiness", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_EntityTaxIdentificationNumber": { "auth_ref": [ "r421" ], "lang": { "en-us": { "role": { "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.", "label": "Entity Tax Identification Number" } } }, "localname": "EntityTaxIdentificationNumber", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_Security12bTitle": { "auth_ref": [ "r417" ], "lang": { "en-us": { "role": { "documentation": "Title of a 12(b) registered security.", "label": "Title of 12(b) Security" } } }, "localname": "Security12bTitle", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "securityTitleItemType" }, "dei_SecurityExchangeName": { "auth_ref": [ "r418" ], "lang": { "en-us": { "role": { "documentation": "Name of the Exchange on which a security is registered.", "label": "Security Exchange Name" } } }, "localname": "SecurityExchangeName", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "edgarExchangeCodeItemType" }, "dei_TradingSymbol": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Trading symbol of an instrument as listed on an exchange.", "label": "Trading Symbol" } } }, "localname": "TradingSymbol", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "tradingSymbolItemType" }, "dvh_AccruedVendorPaymentsCurrent": { "auth_ref": [], "calculation": { "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesDetails": { "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 through that date and payable for vendor invoices received but not paid. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued Vendor Payments, Current", "terseLabel": "Vendor payments" } } }, "localname": "AccruedVendorPaymentsCurrent", "nsuri": "http://www.doubleverify.com/20210630", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "xbrltype": "monetaryItemType" }, "dvh_AdvertisersDirectMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "It represents the information pertaining to advertises, direct.", "label": "Advertisers Direct [Member]", "terseLabel": "Advertiser - direct" } } }, "localname": "AdvertisersDirectMember", "nsuri": "http://www.doubleverify.com/20210630", "presentation": [ "http://www.doubleverify.com/role/DisclosureRevenueDetails" ], "xbrltype": "domainItemType" }, "dvh_AdvertisersProgrammaticMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "It represents the information pertaining to advertisers programmatic.", "label": "Advertisers Programmatic [Member]", "terseLabel": "Advertiser - programmatic" } } }, "localname": "AdvertisersProgrammaticMember", "nsuri": "http://www.doubleverify.com/20210630", "presentation": [ "http://www.doubleverify.com/role/DisclosureRevenueDetails" ], "xbrltype": "domainItemType" }, "dvh_AmortizationOfDebtIssuanceCosts": { "auth_ref": [], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 15.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of debt issuance cost incurred during the reporting period.", "label": "Amortization of Debt Issuance Costs", "terseLabel": "Amortization of debt issuance costs" } } }, "localname": "AmortizationOfDebtIssuanceCosts", "nsuri": "http://www.doubleverify.com/20210630", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "dvh_AnnualizedEffectiveIncomeTaxExpenseBenefit": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Annualized income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.", "label": "Annualized Effective Income Tax Expense (Benefit)", "negatedLabel": "Annualized effective tax benefit" } } }, "localname": "AnnualizedEffectiveIncomeTaxExpenseBenefit", "nsuri": "http://www.doubleverify.com/20210630", "presentation": [ "http://www.doubleverify.com/role/DisclosureIncomeTaxDetails" ], "xbrltype": "monetaryItemType" }, "dvh_AnnualizedEffectiveIncomeTaxRateContinuingOperations": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Annualized percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.", "label": "Annualized Effective Income Tax Rate, Continuing Operations", "terseLabel": "Annualized effective tax rate" } } }, "localname": "AnnualizedEffectiveIncomeTaxRateContinuingOperations", "nsuri": "http://www.doubleverify.com/20210630", "presentation": [ "http://www.doubleverify.com/role/DisclosureIncomeTaxDetails" ], "xbrltype": "percentItemType" }, "dvh_BasisOfPreparationAndPrinciplesOfConsolidationPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for basis of presentation and principles of consolidation.", "label": "Basis Of Preparation And Principles Of Consolidation Policy [Text Block]", "terseLabel": "Basis of Preparation and Principles of Consolidation" } } }, "localname": "BasisOfPreparationAndPrinciplesOfConsolidationPolicyTextBlock", "nsuri": "http://www.doubleverify.com/20210630", "presentation": [ "http://www.doubleverify.com/role/DisclosureBasisOfPresentationAndSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "dvh_BusinessCombinationAmountOfTechnicalMilestonePerTranche": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount of technical milestone payment to be paid per tranche as the first component of performance based deferred payments payable under the business combination.", "label": "Business Combination, Amount Of Technical Milestone Per Tranche", "terseLabel": "Amout per milestone" } } }, "localname": "BusinessCombinationAmountOfTechnicalMilestonePerTranche", "nsuri": "http://www.doubleverify.com/20210630", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails" ], "xbrltype": "monetaryItemType" }, "dvh_BusinessCombinationContingentConsiderationLiabilityMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to contingent consideration liability under business combination.", "label": "Business Combination Contingent Consideration Liability [Member]", "terseLabel": "Business Combination, Contingent Consideration Liability [Member]" } } }, "localname": "BusinessCombinationContingentConsiderationLiabilityMember", "nsuri": "http://www.doubleverify.com/20210630", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementRollforwardOfFairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "dvh_BusinessCombinationContingentConsiderationNumberOfTechnicalMilestone": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of technical milestone relating to the contingent consideration whose fair value is estimated using situation-based modeling.", "label": "Business Combination, Contingent Consideration, Number Of Technical Milestone" } } }, "localname": "BusinessCombinationContingentConsiderationNumberOfTechnicalMilestone", "nsuri": "http://www.doubleverify.com/20210630", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementAdditionalInformationDetails" ], "xbrltype": "integerItemType" }, "dvh_BusinessCombinationFirstTrancheOfHoldbackPaymentsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the information pertaining first trancke of holdback payments.", "label": "Business Combination First Tranche Of Holdback Payments [Member]", "terseLabel": "Tranche one" } } }, "localname": "BusinessCombinationFirstTrancheOfHoldbackPaymentsMember", "nsuri": "http://www.doubleverify.com/20210630", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails" ], "xbrltype": "domainItemType" }, "dvh_BusinessCombinationHoldbackPayments": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The portion of consideration heldback under the business combination arrangement.", "label": "Business Combination, Holdback Payments", "terseLabel": "Consideration held back" } } }, "localname": "BusinessCombinationHoldbackPayments", "nsuri": "http://www.doubleverify.com/20210630", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails" ], "xbrltype": "monetaryItemType" }, "dvh_BusinessCombinationNumberOfComponentForPerformanceBasedDeferredPayments": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of component for performance based deferred payments.", "label": "Business Combination, Number Of Component For Performance Based Deferred Payments", "terseLabel": "Number of component" } } }, "localname": "BusinessCombinationNumberOfComponentForPerformanceBasedDeferredPayments", "nsuri": "http://www.doubleverify.com/20210630", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails" ], "xbrltype": "integerItemType" }, "dvh_BusinessCombinationNumberOfTechnicalMilestoneTranches": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of technical milestone tranches to be paid as the first component of performance based deferred payments payable under the business combination.", "label": "Business Combination, Number Of Technical Milestone Tranches", "terseLabel": "Number of milestone" } } }, "localname": "BusinessCombinationNumberOfTechnicalMilestoneTranches", "nsuri": "http://www.doubleverify.com/20210630", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails" ], "xbrltype": "integerItemType" }, "dvh_BusinessCombinationPercentageOfHoldBackPayments": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the percentage of holdback payments payable under the business combination.", "label": "Business Combination, Percentage Of Hold Back Payments", "terseLabel": "Percentage of holdback payments" } } }, "localname": "BusinessCombinationPercentageOfHoldBackPayments", "nsuri": "http://www.doubleverify.com/20210630", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails" ], "xbrltype": "percentItemType" }, "dvh_BusinessCombinationPerformanceBasedDeferredPaymentsAccruedCompensationCost": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount of compensation cost under the performace based deferred payments as per the business combination arrangements.", "label": "Business Combination, Performance Based Deferred Payments, Accrued Compensation Cost", "terseLabel": "Technical milestone and revenue target" } } }, "localname": "BusinessCombinationPerformanceBasedDeferredPaymentsAccruedCompensationCost", "nsuri": "http://www.doubleverify.com/20210630", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails" ], "xbrltype": "monetaryItemType" }, "dvh_BusinessCombinationPerformanceBasedDeferredPaymentsCompensationCostChargedToNetIncomeLoss": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of compensation cost under the performance based deferred payments charged to net income (loss) as per the business combination arrangements.", "label": "Business Combination, Performance Based Deferred Payments, Compensation Cost Charged To Net Income (Loss)", "terseLabel": "Business combination performance based deferred payment" } } }, "localname": "BusinessCombinationPerformanceBasedDeferredPaymentsCompensationCostChargedToNetIncomeLoss", "nsuri": "http://www.doubleverify.com/20210630", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails" ], "xbrltype": "monetaryItemType" }, "dvh_BusinessCombinationPerformanceBasedDeferredPaymentsThresholdRevenueTargetPayments": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Threshold amount of revenue target payments considered as the second component of performance based deferred payments payable under the business combination.", "label": "Business Combination, Performance Based Deferred Payments, Threshold Revenue Target Payments", "terseLabel": "Performance based deferred payment, Second component" } } }, "localname": "BusinessCombinationPerformanceBasedDeferredPaymentsThresholdRevenueTargetPayments", "nsuri": "http://www.doubleverify.com/20210630", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails" ], "xbrltype": "monetaryItemType" }, "dvh_BusinessCombinationPeriodAfterClosingDateInHoldbackPaymentsArePayable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the period after the closing date in which the of holdback payments payable under the business combination.", "label": "Business Combination, Period After Closing Date In Holdback Payments Are Payable", "terseLabel": "Holdback payments payable period" } } }, "localname": "BusinessCombinationPeriodAfterClosingDateInHoldbackPaymentsArePayable", "nsuri": "http://www.doubleverify.com/20210630", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails" ], "xbrltype": "durationItemType" }, "dvh_BusinessCombinationSecondTrancheOfHoldbackPaymentsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the information pertaining second trancke of holdback payments.", "label": "Business Combination Second Tranche Of Holdback Payments [Member]", "terseLabel": "Tranche two" } } }, "localname": "BusinessCombinationSecondTrancheOfHoldbackPaymentsMember", "nsuri": "http://www.doubleverify.com/20210630", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails" ], "xbrltype": "domainItemType" }, "dvh_BusinessCombinationThresholdPerformanceBasedDeferredPayments": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Threshold performance based deferred payments payable under the business combination.", "label": "Business Combination, Threshold Performance Based Deferred Payments", "terseLabel": "Performance based deferred payment" } } }, "localname": "BusinessCombinationThresholdPerformanceBasedDeferredPayments", "nsuri": "http://www.doubleverify.com/20210630", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails" ], "xbrltype": "monetaryItemType" }, "dvh_BusinessCombinationThresholdTechnicalMilestonePayments": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Threshold technical milestone payments considered as the first component of performance based deferred payments payable under the business combination.", "label": "Business Combination, Threshold Technical Milestone Payments", "terseLabel": "Performance based deferred payment, First component" } } }, "localname": "BusinessCombinationThresholdTechnicalMilestonePayments", "nsuri": "http://www.doubleverify.com/20210630", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails" ], "xbrltype": "monetaryItemType" }, "dvh_CapitalLeasesNumberOfEquipmentLeaseAgreements": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of equipment lease agreements entered in to as capital leases.", "label": "Capital Leases, Number Of Equipment Lease Agreements", "verboseLabel": "Number of lease agreement" } } }, "localname": "CapitalLeasesNumberOfEquipmentLeaseAgreements", "nsuri": "http://www.doubleverify.com/20210630", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetails" ], "xbrltype": "integerItemType" }, "dvh_ConvertiblePreferredStockConversionRatio": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Ratio applied to the conversion of preferred stock into common stock.", "label": "Convertible Preferred Stock, Conversion Ratio", "terseLabel": "Convertible preferred stock, conversion ratio" } } }, "localname": "ConvertiblePreferredStockConversionRatio", "nsuri": "http://www.doubleverify.com/20210630", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "pureItemType" }, "dvh_DoubleverifyInc.Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information relating to Double verify Inc.", "label": "Doubleverify Inc. [Member]", "terseLabel": "DoubleVerify Inc." } } }, "localname": "DoubleverifyInc.Member", "nsuri": "http://www.doubleverify.com/20210630", "presentation": [ "http://www.doubleverify.com/role/DisclosureDescriptionOfBusinessDetails" ], "xbrltype": "domainItemType" }, "dvh_EquityIncentiveProgramMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to Equity Incentive Program.", "label": "Equity Incentive Program [Member]", "terseLabel": "2017 Equity Plan" } } }, "localname": "EquityIncentiveProgramMember", "nsuri": "http://www.doubleverify.com/20210630", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationDetails", "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "domainItemType" }, "dvh_IncreaseDecreaseInTradePayableAndOtherLiabilities": { "auth_ref": [], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in trade payables and obligations or expenses incurred but not yet paid.", "label": "Increase (Decrease) in Trade Payable And Other Liabilities", "terseLabel": "Trade payables and other liabilities" } } }, "localname": "IncreaseDecreaseInTradePayableAndOtherLiabilities", "nsuri": "http://www.doubleverify.com/20210630", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "dvh_LeikiMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the Leiki Member.", "label": "Leiki [Member]", "terseLabel": "Leiki" } } }, "localname": "LeikiMember", "nsuri": "http://www.doubleverify.com/20210630", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "domainItemType" }, "dvh_LineOfCreditFacilityMaximumTotalLeverageRatio": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the ratio of maximum total leverage under the line of credit facility.", "label": "Line Of Credit Facility, Maximum Total Leverage Ratio", "terseLabel": "Maximum total net leverage ratio" } } }, "localname": "LineOfCreditFacilityMaximumTotalLeverageRatio", "nsuri": "http://www.doubleverify.com/20210630", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "pureItemType" }, "dvh_LineOfCreditFacilityMinimumFixedChargeCoverageRatio": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the ratio of minimum fixed charge coverage under the line of credit facility.", "label": "Line Of Credit Facility Minimum Fixed Charge Coverage Ratio", "terseLabel": "Minimum fixed charge coverage ratio" } } }, "localname": "LineOfCreditFacilityMinimumFixedChargeCoverageRatio", "nsuri": "http://www.doubleverify.com/20210630", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "pureItemType" }, "dvh_MeasurementInputRevenueVolatilityMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Measurement input using the changes in revenue that occur in response to changes in the level of economic output.", "label": "Measurement Input Revenue Volatility [Member]", "terseLabel": "Revenue Volatility" } } }, "localname": "MeasurementInputRevenueVolatilityMember", "nsuri": "http://www.doubleverify.com/20210630", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementAdditionalInformationDetails" ], "xbrltype": "domainItemType" }, "dvh_MoneyMarketFundsAndTimeDepositsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to money market funds and time deposits.", "label": "Money Market Funds And Time Deposits [Member]", "terseLabel": "Money market funds and time deposits" } } }, "localname": "MoneyMarketFundsAndTimeDepositsMember", "nsuri": "http://www.doubleverify.com/20210630", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementAdditionalInformationDetails" ], "xbrltype": "domainItemType" }, "dvh_OfferingCostIncurredButNotYetPaid": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Future cash outflow to pay for offering cost incurred.", "label": "Offering Cost Incurred But Not Yet Paid", "terseLabel": "Offering costs included in accounts payable and accrued expense" } } }, "localname": "OfferingCostIncurredButNotYetPaid", "nsuri": "http://www.doubleverify.com/20210630", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "dvh_OmnibusEquityIncentivePlan2021Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information relating to Omnibus equity incentive plan.", "label": "Omnibus Equity Incentive Plan2021 [Member]", "terseLabel": "2021 Omnibus Equity Incentive Plan" } } }, "localname": "OmnibusEquityIncentivePlan2021Member", "nsuri": "http://www.doubleverify.com/20210630", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationDetails", "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "domainItemType" }, "dvh_OperatingLeaseDataCenterInDomesticAndForeignMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the data center lease in United States, Netherlands, Germany, and Singapore.", "label": "Operating Lease Data Center In Domestic And Foreign [Member]", "terseLabel": "Data center" } } }, "localname": "OperatingLeaseDataCenterInDomesticAndForeignMember", "nsuri": "http://www.doubleverify.com/20210630", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesOperatingLeasesDetails" ], "xbrltype": "domainItemType" }, "dvh_OperatingLeaseOfficeSpaceInDomesticAndForeignMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the office space lease in United States, Israel, Belgium, Finland, Germany, UK, Spain, France, Brazil, Singapore and Australia.", "label": "Operating Lease Office Space In Domestic And Foreign [Member]", "terseLabel": "Office" } } }, "localname": "OperatingLeaseOfficeSpaceInDomesticAndForeignMember", "nsuri": "http://www.doubleverify.com/20210630", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesOperatingLeasesDetails" ], "xbrltype": "domainItemType" }, "dvh_PaymentsOfClosingAdjustmentsRelatedToBusinessAcquisitions": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow associated with the payments of closing adjustments on acquisition of a business.", "label": "Payments Of Closing Adjustments Related To Business Acquisitions", "terseLabel": "Closing adjustments" } } }, "localname": "PaymentsOfClosingAdjustmentsRelatedToBusinessAcquisitions", "nsuri": "http://www.doubleverify.com/20210630", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails" ], "xbrltype": "monetaryItemType" }, "dvh_PerformanceAndMarketBasedSharesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-based payment arrangement awarded for meeting market and performance based targets.", "label": "Performance And Market Based Shares [Member]", "terseLabel": "Performance and Market Based Options" } } }, "localname": "PerformanceAndMarketBasedSharesMember", "nsuri": "http://www.doubleverify.com/20210630", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "domainItemType" }, "dvh_ProceedsFromIssuanceOfCommonStockBeforeImpactOfUnderwritingFees": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Proceeds from issuance of common stock, before impact of underwriting fees.", "label": "Proceeds from Issuance of Common Stock, Before Impact of Underwriting Fees", "terseLabel": "Gross proceeds" } } }, "localname": "ProceedsFromIssuanceOfCommonStockBeforeImpactOfUnderwritingFees", "nsuri": "http://www.doubleverify.com/20210630", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "monetaryItemType" }, "dvh_ProvidenceViiU.s.HoldingsL.p.Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information relating to Providence VII U.S. Holdings L.P.", "label": "Providence Vii U.s. Holdings L.p. [Member]", "terseLabel": "Providence" } } }, "localname": "ProvidenceViiU.s.HoldingsL.p.Member", "nsuri": "http://www.doubleverify.com/20210630", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "domainItemType" }, "dvh_ShareBasedCompensationArrangementByShareBasedPaymentAwardAnnualIncreaseInSharesAuthorizedAsPercentageOfOutstandingCommonShares": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Annual increase in shares authorized as a percentage of outstanding shares of common stock on the last day of the immediately preceding fiscal year under the share based compensation plan.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Annual Increase In Shares Authorized As A Percentage Of Outstanding Common Shares", "terseLabel": "Share-based compensation arrangement by share-based payment award, annual increase in shares authorized as a percentage of outstanding common shares" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAnnualIncreaseInSharesAuthorizedAsPercentageOfOutstandingCommonShares", "nsuri": "http://www.doubleverify.com/20210630", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationDetails" ], "xbrltype": "percentItemType" }, "dvh_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherOptionsVestedInPeriodTotalGrantDateFairValue": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Represents the total fair value of equity instruments other than options vested during the reporting period.", "label": "Share Based Compensation Arrangement By Share Based Payment Award, Equity Instruments Other Options, Vested In Period, Total Grant Date Fair Value", "terseLabel": "Share based compensation arrangement by share based payment award, equity instruments other options, vested in period, total grant date fair value" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherOptionsVestedInPeriodTotalGrantDateFairValue", "nsuri": "http://www.doubleverify.com/20210630", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "dvh_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpectedToVestOutstandingNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of outstanding equity instruments other than options expected to vest.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other Than Options, Expected to Vest, Outstanding, Number", "verboseLabel": "Expected to vest" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpectedToVestOutstandingNumber", "nsuri": "http://www.doubleverify.com/20210630", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationRestrictedStockAwardActivityDetails" ], "xbrltype": "sharesItemType" }, "dvh_StockOfferingCost": { "auth_ref": [], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 18.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of stock offering cost incurred during the period.", "label": "Stock Offering Cost", "terseLabel": "Stock offering cost", "verboseLabel": "Offering costs" } } }, "localname": "StockOfferingCost", "nsuri": "http://www.doubleverify.com/20210630", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "dvh_SupplySideCustomerMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "It represents the information pertaining to supply side customer.", "label": "Supply Side Customer [Member]", "terseLabel": "Supply - side customer" } } }, "localname": "SupplySideCustomerMember", "nsuri": "http://www.doubleverify.com/20210630", "presentation": [ "http://www.doubleverify.com/role/DisclosureRevenueDetails" ], "xbrltype": "domainItemType" }, "dvh_TigerGlobalManagementLlcMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information relating to Tiger Global Management LLC.", "label": "Tiger Global Management Llc [Member]", "terseLabel": "Tiger Global Management, LLC" } } }, "localname": "TigerGlobalManagementLlcMember", "nsuri": "http://www.doubleverify.com/20210630", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "domainItemType" }, "dvh_TreasuryStockReissuedUponConversionOfPreferredStockToCommonStock": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of treasury stock reissued upon the conversion of preferred stock to common stock.", "label": "Treasury Stock Reissued Upon Conversion Of Preferred Stock To Common Stock", "terseLabel": "Treasury stock reissued upon the conversion of Series A preferred stock to common stock" } } }, "localname": "TreasuryStockReissuedUponConversionOfPreferredStockToCommonStock", "nsuri": "http://www.doubleverify.com/20210630", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "dvh_ZentrickMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the Zentrick Member.", "label": "Zentrick [Member]", "terseLabel": "Zentrick" } } }, "localname": "ZentrickMember", "nsuri": "http://www.doubleverify.com/20210630", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "domainItemType" }, "dvh_ZentrickNVMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to Zentrick NV.", "label": "Zentrick N V [Member]", "terseLabel": "Zentrick N V" } } }, "localname": "ZentrickNVMember", "nsuri": "http://www.doubleverify.com/20210630", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails" ], "xbrltype": "domainItemType" }, "srt_CounterpartyNameAxis": { "auth_ref": [ "r45", "r89" ], "lang": { "en-us": { "role": { "label": "Counterparty Name [Axis]" } } }, "localname": "CounterpartyNameAxis", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "stringItemType" }, "srt_MajorCustomersAxis": { "auth_ref": [ "r156", "r218", "r222", "r405" ], "lang": { "en-us": { "role": { "label": "Customer [Axis]" } } }, "localname": "MajorCustomersAxis", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureRevenueDetails" ], "xbrltype": "stringItemType" }, "srt_MaximumMember": { "auth_ref": [ "r241", "r244", "r368", "r369", "r370", "r371", "r372", "r373", "r374", "r404", "r406" ], "lang": { "en-us": { "role": { "label": "Maximum [Member]", "terseLabel": "Maximum" } } }, "localname": "MaximumMember", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails", "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "domainItemType" }, "srt_MinimumMember": { "auth_ref": [ "r241", "r244", "r368", "r369", "r370", "r371", "r372", "r373", "r374", "r404", "r406" ], "lang": { "en-us": { "role": { "label": "Minimum [Member]", "terseLabel": "Minimum" } } }, "localname": "MinimumMember", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "domainItemType" }, "srt_NameOfMajorCustomerDomain": { "auth_ref": [ "r156", "r218", "r222", "r405" ], "lang": { "en-us": { "role": { "label": "Name Of Major Customer [Domain]", "terseLabel": "Customer [Domain]" } } }, "localname": "NameOfMajorCustomerDomain", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureRevenueDetails" ], "xbrltype": "domainItemType" }, "srt_RangeAxis": { "auth_ref": [ "r231", "r241", "r244", "r368", "r369", "r370", "r371", "r372", "r373", "r374", "r404", "r406" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Axis]" } } }, "localname": "RangeAxis", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails", "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "stringItemType" }, "srt_RangeMember": { "auth_ref": [ "r231", "r241", "r244", "r368", "r369", "r370", "r371", "r372", "r373", "r374", "r404", "r406" ], "lang": { "en-us": { "role": { "label": "Range [Member]", "terseLabel": "Statistical Measurement [Domain]" } } }, "localname": "RangeMember", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails", "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "domainItemType" }, "srt_RepurchaseAgreementCounterpartyNameDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Repurchase Agreement Counterparty Name [Domain]", "terseLabel": "Counterparty Name [Domain]" } } }, "localname": "RepurchaseAgreementCounterpartyNameDomain", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "domainItemType" }, "srt_ScenarioUnspecifiedDomain": { "auth_ref": [ "r242" ], "lang": { "en-us": { "role": { "label": "Scenario Unspecified [Domain]", "terseLabel": "Scenario [Domain]" } } }, "localname": "ScenarioUnspecifiedDomain", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails" ], "xbrltype": "domainItemType" }, "srt_StatementScenarioAxis": { "auth_ref": [ "r194", "r242", "r363" ], "lang": { "en-us": { "role": { "label": "Scenario [Axis]" } } }, "localname": "StatementScenarioAxis", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AccountingPoliciesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Basis of Presentation and Summary of Significant Accounting Policies" } } }, "localname": "AccountingPoliciesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_AccountsPayableCurrent": { "auth_ref": [ "r32" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 6.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": "Trade payables" } } }, "localname": "AccountsPayableCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableNetCurrent": { "auth_ref": [ "r3", "r18", "r158", "r159" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 2.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, after Allowance for Credit Loss, Current", "verboseLabel": "Trade receivables, net of allowances for doubtful accounts of $6,889 and $7,049 as of June 30, 2021 and December 31, 2020 respectively" } } }, "localname": "AccountsReceivableNetCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccretionExpense": { "auth_ref": [ "r188", "r189" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 14.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount recognized for the passage of time, typically for liabilities, that have been discounted to their net present values. Excludes accretion associated with asset retirement obligations.", "label": "Accretion Expense", "terseLabel": "Accretion of acquisition liabilities" } } }, "localname": "AccretionExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccrualForTaxesOtherThanIncomeTaxesCurrent": { "auth_ref": [ "r8", "r36", "r285" ], "calculation": { "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesDetails": { "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 real and property taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrual for Taxes Other than Income Taxes, Current", "terseLabel": "Other taxes" } } }, "localname": "AccrualForTaxesOtherThanIncomeTaxesCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedBonusesCurrent": { "auth_ref": [ "r7", "r8", "r36" ], "calculation": { "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesDetails": { "order": 3.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 incentive compensation awarded to employees and directors or earned by them based on the terms of one or more relevant arrangements. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued Bonuses, Current", "terseLabel": "Employee commissions and bonuses" } } }, "localname": "AccruedBonusesCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedLiabilitiesCurrent": { "auth_ref": [ "r36" ], "calculation": { "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 5.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 expense", "totalLabel": "Total accrued expense" } } }, "localname": "AccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedLiabilitiesCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Accrued Liabilities, Current [Abstract]" } } }, "localname": "AccruedLiabilitiesCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AccruedSalariesCurrent": { "auth_ref": [ "r7", "r8", "r36" ], "calculation": { "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesDetails": { "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": "Payroll and other employee related expense" } } }, "localname": "AccruedSalariesCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": { "auth_ref": [ "r30", "r184" ], "calculation": { "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails": { "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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "auth_ref": [ "r21", "r48", "r49", "r50", "r395", "r411", "r412" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.", "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax", "terseLabel": "Accumulated other comprehensive income, net of income taxes" } } }, "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdditionalPaidInCapital": { "auth_ref": [ "r19", "r279" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders. Includes adjustments to additional paid in capital. Some examples of such adjustments include recording the issuance of debt with a beneficial conversion feature and certain tax consequences of equity instruments awarded to employees. Use this element for the aggregate amount of additional paid-in capital associated with common and preferred stock. For additional paid-in capital associated with only common stock, use the element additional paid in capital, common stock. For additional paid-in capital associated with only preferred stock, use the element additional paid in capital, preferred stock.", "label": "Additional Paid in Capital", "verboseLabel": "Additional paid-in capital" } } }, "localname": "AdditionalPaidInCapital", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdditionalPaidInCapitalMember": { "auth_ref": [ "r93", "r94", "r95", "r276", "r277", "r278" ], "lang": { "en-us": { "role": { "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders.", "label": "Additional Paid In Capital [Member]", "terseLabel": "Additional Paid-in Capital" } } }, "localname": "AdditionalPaidInCapitalMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "auth_ref": [ "r245", "r247", "r282", "r283" ], "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": "APIC, Share-based Payment Arrangement, Increase for Cost Recognition", "terseLabel": "Stock-based compensation expense" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "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) income to net cash provided by operating activities" } } }, "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_AllocatedShareBasedCompensationExpense": { "auth_ref": [ "r247", "r272", "r281" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.", "label": "Share-based Payment Arrangement, Expense", "terseLabel": "Total stock-based compensation expense" } } }, "localname": "AllocatedShareBasedCompensationExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": { "auth_ref": [ "r25", "r160", "r164" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current.", "label": "Accounts Receivable, Allowance for Credit Loss, Current", "terseLabel": "Trade Receivables, net of allowances" } } }, "localname": "AllowanceForDoubtfulAccountsReceivableCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_AmortizationOfIntangibleAssets": { "auth_ref": [ "r77", "r171", "r177" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.", "label": "Amortization of Intangible Assets", "terseLabel": "Amortization expense" } } }, "localname": "AmortizationOfIntangibleAssets", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "auth_ref": [ "r116" ], "lang": { "en-us": { "role": { "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.", "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount", "terseLabel": "Weighted average shares issuable under stock-based awards, excluded from diluted EPS calculation" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureLossEarningsPerShareDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_AociIncludingPortionAttributableToNoncontrollingInterestMember": { "auth_ref": [ "r47", "r50", "r51", "r323" ], "lang": { "en-us": { "role": { "documentation": "Accumulated change in equity from transactions and other events and circumstances from non-owner sources, including the portion attributable to the noncontrolling interest. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners.", "label": "Aoci Including Portion Attributable To Noncontrolling Interest [Member]", "terseLabel": "Accumulated Other Comprehensive (Income) Loss Net of Income Taxes" } } }, "localname": "AociIncludingPortionAttributableToNoncontrollingInterestMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_Assets": { "auth_ref": [ "r87", "r139", "r143", "r149", "r162", "r321", "r324", "r340", "r380", "r392" ], "calculation": { "http://www.doubleverify.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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets [Abstract]", "terseLabel": "Assets:" } } }, "localname": "AssetsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsCurrent": { "auth_ref": [ "r4", "r5", "r44", "r87", "r162", "r321", "r324", "r340" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 6.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "Assets, Current", "totalLabel": "Total current assets" } } }, "localname": "AssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets, Current [Abstract]", "terseLabel": "Current assets" } } }, "localname": "AssetsCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AwardTypeAxis": { "auth_ref": [ "r248", "r274" ], "lang": { "en-us": { "role": { "documentation": "Information by type of award under share-based payment arrangement.", "label": "Award Type [Axis]" } } }, "localname": "AwardTypeAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationRestrictedStockAwardActivityDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails", "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BalanceSheetLocationAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by location on balance sheet (statement of financial position).", "label": "Balance Sheet Location [Axis]" } } }, "localname": "BalanceSheetLocationAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BalanceSheetLocationDomain": { "auth_ref": [ "r327", "r328" ], "lang": { "en-us": { "role": { "documentation": "Location in the balance sheet (statement of financial position).", "label": "Balance Sheet Location [Domain]", "terseLabel": "Balance Sheet Location [Domain]" } } }, "localname": "BalanceSheetLocationDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock": { "auth_ref": [ "r92" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for the basis of presentation and significant accounting policies concepts. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS). Accounting policies describe all significant accounting policies of the reporting entity.", "label": "Basis of Presentation and Significant Accounting Policies [Text Block]", "terseLabel": "Basis of Presentation and Summary of Significant Accounting Policies" } } }, "localname": "BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBasisOfPresentationAndSummaryOfSignificantAccountingPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_BusinessAcquisitionAcquireeDomain": { "auth_ref": [ "r240", "r243" ], "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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails", "http://www.doubleverify.com/role/DisclosureDescriptionOfBusinessDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "domainItemType" }, "us-gaap_BusinessAcquisitionAxis": { "auth_ref": [ "r240", "r243", "r309", "r310" ], "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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails", "http://www.doubleverify.com/role/DisclosureDescriptionOfBusinessDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "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]", "terseLabel": "Description of Business" } } }, "localname": "BusinessAcquisitionLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails", "http://www.doubleverify.com/role/DisclosureDescriptionOfBusinessDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired": { "auth_ref": [ "r308" ], "lang": { "en-us": { "role": { "documentation": "Percentage of voting equity interests acquired at the acquisition date in the business combination.", "label": "Business Acquisition, Percentage of Voting Interests Acquired", "terseLabel": "Ownership percentage acquired" } } }, "localname": "BusinessAcquisitionPercentageOfVotingInterestsAcquired", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureDescriptionOfBusinessDetails" ], "xbrltype": "percentItemType" }, "us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1": { "auth_ref": [ "r76", "r319" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 10.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in the value of a contingent consideration liability, including, but not limited to, differences arising upon settlement.", "label": "Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability", "terseLabel": "Change in fair value of contingent consideration", "verboseLabel": "Change in fair value of contingent consideration" } } }, "localname": "BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationContingentConsiderationLiability": { "auth_ref": [ "r314", "r315", "r318" ], "calculation": { "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "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", "totalLabel": "Total contingent consideration" } } }, "localname": "BusinessCombinationContingentConsiderationLiability", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails", "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent": { "auth_ref": [ "r314", "r316" ], "calculation": { "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails": { "order": 1.0, "parentTag": "us-gaap_BusinessCombinationContingentConsiderationLiability", "weight": 1.0 }, "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesCurrent", "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": "Contingent considerations current", "verboseLabel": "Contingent consideration current" } } }, "localname": "BusinessCombinationContingentConsiderationLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails", "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationContingentConsiderationLiabilityMeasurementInput": { "auth_ref": [ "r334" ], "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": "Fair value inputs" } } }, "localname": "BusinessCombinationContingentConsiderationLiabilityMeasurementInput", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementAdditionalInformationDetails" ], "xbrltype": "decimalItemType" }, "us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent": { "auth_ref": [ "r314", "r316" ], "calculation": { "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails": { "order": 2.0, "parentTag": "us-gaap_BusinessCombinationContingentConsiderationLiability", "weight": 1.0 }, "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_Liabilities", "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 beyond one year or the normal operating cycle, if longer.", "label": "Business Combination, Contingent Consideration, Liability, Noncurrent", "terseLabel": "Contingent considerations non-current", "verboseLabel": "Contingent consideration non-current" } } }, "localname": "BusinessCombinationContingentConsiderationLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails", "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationDisclosureTextBlock": { "auth_ref": [ "r320" ], "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": "Business Combinations" } } }, "localname": "BusinessCombinationDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinations" ], "xbrltype": "textBlockItemType" }, "us-gaap_BusinessCombinationsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Business Combinations" } } }, "localname": "BusinessCombinationsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_CapitalExpendituresIncurredButNotYetPaid": { "auth_ref": [ "r81", "r82", "r83" ], "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", "verboseLabel": "Capital assets financed by accounts payable" } } }, "localname": "CapitalExpendituresIncurredButNotYetPaid", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalLeaseObligations": { "auth_ref": [ "r14", "r360", "r393" ], "calculation": { "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "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.", "label": "Capital Lease Obligations", "totalLabel": "Total" } } }, "localname": "CapitalLeaseObligations", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalLeaseObligationsCurrent": { "auth_ref": [ "r12", "r359", "r360" ], "calculation": { "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetails": { "order": 1.0, "parentTag": "us-gaap_CapitalLeaseObligations", "weight": 1.0 }, "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "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": "Capital leases short term", "verboseLabel": "Current portion of capital lease obligations" } } }, "localname": "CapitalLeaseObligationsCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalLeaseObligationsIncurred": { "auth_ref": [ "r81", "r82" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in lease obligation from new lease.", "label": "Lease Obligation Incurred", "terseLabel": "Acquisition of equipment under capital lease" } } }, "localname": "CapitalLeaseObligationsIncurred", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalLeaseObligationsNoncurrent": { "auth_ref": [ "r38", "r359", "r360" ], "calculation": { "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetails": { "order": 2.0, "parentTag": "us-gaap_CapitalLeaseObligations", "weight": 1.0 }, "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "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": "Capital leases long term", "verboseLabel": "Capital lease obligations" } } }, "localname": "CapitalLeaseObligationsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalLeasedAssetsGross": { "auth_ref": [ "r358" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before accumulated depreciation of leased physical assets used in the normal conduct of business to produce goods and services.", "label": "Capital Leased Assets, Gross", "terseLabel": "Capital lease assets" } } }, "localname": "CapitalLeasedAssetsGross", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalLeasesFutureMinimumPaymentsDue": { "auth_ref": [ "r360" ], "calculation": { "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetailsCalc2": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of minimum lease payments for capital leases.", "label": "Capital Leases, Future Minimum Payments Due", "totalLabel": "Total" } } }, "localname": "CapitalLeasesFutureMinimumPaymentsDue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalLeasesFutureMinimumPaymentsDueAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Capital Leases, Future Minimum Payments Due, Fiscal Year Maturity [Abstract]", "terseLabel": "Future minimum capital lease payments" } } }, "localname": "CapitalLeasesFutureMinimumPaymentsDueAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CapitalLeasesFutureMinimumPaymentsDueInFiveYears": { "auth_ref": [ "r360" ], "calculation": { "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetails": { "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 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": "2025" } } }, "localname": "CapitalLeasesFutureMinimumPaymentsDueInFiveYears", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalLeasesFutureMinimumPaymentsDueInFourYears": { "auth_ref": [ "r360" ], "calculation": { "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetails": { "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 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": "2024" } } }, "localname": "CapitalLeasesFutureMinimumPaymentsDueInFourYears", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalLeasesFutureMinimumPaymentsDueInThreeYears": { "auth_ref": [ "r360" ], "calculation": { "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetails": { "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": "2023" } } }, "localname": "CapitalLeasesFutureMinimumPaymentsDueInThreeYears", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalLeasesFutureMinimumPaymentsDueInTwoYears": { "auth_ref": [ "r360" ], "calculation": { "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetails": { "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 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": "2022" } } }, "localname": "CapitalLeasesFutureMinimumPaymentsDueInTwoYears", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalLeasesFutureMinimumPaymentsInterestIncludedInPayments": { "auth_ref": [ "r360" ], "calculation": { "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetailsCalc2": { "order": 2.0, "parentTag": "us-gaap_CapitalLeasesFutureMinimumPaymentsDue", "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: Amount representing interest" } } }, "localname": "CapitalLeasesFutureMinimumPaymentsInterestIncludedInPayments", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalLeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments": { "auth_ref": [ "r360" ], "calculation": { "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetailsCalc2": { "order": 1.0, "parentTag": "us-gaap_CapitalLeasesFutureMinimumPaymentsDue", "weight": 1.0 } }, "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", "terseLabel": "Present Value of net minimum capital lease payments" } } }, "localname": "CapitalLeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalLeasesFutureMinimumPaymentsRemainderOfFiscalYear": { "auth_ref": [], "calculation": { "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetails": { "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 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": "Capital Leases, Future Minimum Payments, Remainder of Fiscal Year", "terseLabel": "2021" } } }, "localname": "CapitalLeasesFutureMinimumPaymentsRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesCapitalLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalLeasesLesseeBalanceSheetAssetsByMajorClassAccumulatedDeprecation": { "auth_ref": [ "r354", "r358" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The total charge for the use of long-lived depreciable assets subject to a lease meeting the criteria for capitalization.", "label": "Capital Leases, Lessee Balance Sheet, Assets by Major Class, Accumulated Depreciation", "terseLabel": "Capital lease assets, accumulated depreciation" } } }, "localname": "CapitalLeasesLesseeBalanceSheetAssetsByMajorClassAccumulatedDeprecation", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "auth_ref": [ "r2", "r28", "r79" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 }, "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsReconciliationOfCashflows": { "order": 1.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.", "label": "Cash and Cash Equivalents, at Carrying Value", "verboseLabel": "Cash and cash equivalents" } } }, "localname": "CashAndCashEquivalentsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsReconciliationOfCashflows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by type of cash and cash equivalent balance.", "label": "Cash and Cash Equivalents [Axis]" } } }, "localname": "CashAndCashEquivalentsAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementAdditionalInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CashAndCashEquivalentsFairValueDisclosure": { "auth_ref": [], "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", "terseLabel": "Cash equivalents:", "verboseLabel": "Cash equivalents" } } }, "localname": "CashAndCashEquivalentsFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementAdditionalInformationDetails", "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "auth_ref": [ "r73", "r79", "r84" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsReconciliationOfCashflows": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents", "periodEndLabel": "Cash, cash equivalents, and restricted cash - End of period", "periodStartLabel": "Cash, cash equivalents, and restricted cash - Beginning of period", "totalLabel": "Total cash and cash equivalents and restricted cash" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsReconciliationOfCashflows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "auth_ref": [ "r73", "r341" ], "calculation": { "http://www.doubleverify.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 increase in cash, cash equivalents, and restricted cash" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CommitmentsAndContingencies": { "auth_ref": [ "r40", "r193", "r383", "r399" ], "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 13)" } } }, "localname": "CommitmentsAndContingencies", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Commitments and Contingencies" } } }, "localname": "CommitmentsAndContingenciesDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "auth_ref": [ "r190", "r191", "r192", "r195" ], "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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingencies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CommonStockMember": { "auth_ref": [ "r93", "r94" ], "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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_CommonStockParOrStatedValuePerShare": { "auth_ref": [ "r17" ], "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" } } }, "localname": "CommonStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBasisOfPresentationAndSummaryOfSignificantAccountingPoliciesDetails", "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockSharesAuthorized": { "auth_ref": [ "r17" ], "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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesIssued": { "auth_ref": [ "r17" ], "lang": { "en-us": { "role": { "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.", "label": "Common Stock, Shares, Issued", "terseLabel": "Common stock, shares issued" } } }, "localname": "CommonStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesOutstanding": { "auth_ref": [ "r17", "r198" ], "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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockValue": { "auth_ref": [ "r17" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.", "label": "Common Stock, Value, Issued", "verboseLabel": "Common stock, $0.001 par value, 1,000,000 shares authorized, 157,768 shares issued and outstanding as of June 30, 2021; 700,000 shares authorized, 140,222 shares issued and 125,074 shares outstanding as of December 31, 2020" } } }, "localname": "CommonStockValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComprehensiveIncomeNetOfTax": { "auth_ref": [ "r53", "r55", "r56", "r59", "r385", "r401" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome": { "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": "Total comprehensive (loss) income" } } }, "localname": "ComprehensiveIncomeNetOfTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComprehensiveIncomeNetOfTaxAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent [Abstract]", "terseLabel": "Comprehensive (loss) income:" } } }, "localname": "ComprehensiveIncomeNetOfTaxAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome" ], "xbrltype": "stringItemType" }, "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": "Computers and Peripheral Equipment" } } }, "localname": "ComputerEquipmentMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ConvertiblePreferredStockSharesIssuedUponConversion": { "auth_ref": [ "r15", "r16", "r199", "r200" ], "lang": { "en-us": { "role": { "documentation": "Number of shares issued for each share of convertible preferred stock that is converted.", "label": "Convertible Preferred Stock, Shares Issued upon Conversion", "terseLabel": "Number of shares converted" } } }, "localname": "ConvertiblePreferredStockSharesIssuedUponConversion", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_CostOfGoodsAndServicesSold": { "auth_ref": [ "r63", "r375" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome": { "order": 5.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.", "label": "Cost of Goods and Services Sold", "terseLabel": "Cost of revenue (exclusive of depreciation and amortization shown separately below)" } } }, "localname": "CostOfGoodsAndServicesSold", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_CreditFacilityAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.", "label": "Credit Facility [Axis]" } } }, "localname": "CreditFacilityAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CreditFacilityDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.", "label": "Credit Facility [Domain]", "terseLabel": "Credit Facility [Domain]" } } }, "localname": "CreditFacilityDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CustomerRelationshipsMember": { "auth_ref": [ "r312" ], "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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails", "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsWeightedAverageRemainingUsefulLifeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DebtDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Long-term Debt." } } }, "localname": "DebtDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_DebtDisclosureTextBlock": { "auth_ref": [ "r197" ], "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": "Long-term Debt" } } }, "localname": "DebtDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebt" ], "xbrltype": "textBlockItemType" }, "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument.", "label": "Debt Instrument, Basis Spread on Variable Rate", "verboseLabel": "Line of credit facility bears interest (as a percent)" } } }, "localname": "DebtInstrumentBasisSpreadOnVariableRate1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "percentItemType" }, "us-gaap_DebtInstrumentFaceAmount": { "auth_ref": [ "r351", "r353" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Face (par) amount of debt instrument at time of issuance.", "label": "Debt Instrument, Face Amount", "terseLabel": "Aggregate principal amount" } } }, "localname": "DebtInstrumentFaceAmount", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "monetaryItemType" }, "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]" } } }, "localname": "DebtInstrumentLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DebtInstrumentTable": { "auth_ref": [ "r38", "r90", "r199", "r201", "r202", "r203", "r350", "r351", "r353", "r391" ], "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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DeferredIncomeTaxAssetsNet": { "auth_ref": [ "r287", "r288" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.", "label": "Deferred Income Tax Assets, Net", "terseLabel": "Deferred tax assets" } } }, "localname": "DeferredIncomeTaxAssetsNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxExpenseBenefit": { "auth_ref": [ "r77", "r88", "r294", "r299", "r300", "r301" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 13.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.", "label": "Deferred Income Tax Expense (Benefit)", "terseLabel": "Deferred taxes" } } }, "localname": "DeferredIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxLiabilitiesNet": { "auth_ref": [ "r287", "r288" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 3.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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_Depreciation": { "auth_ref": [ "r77", "r182" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.", "label": "Depreciation", "terseLabel": "Depreciation expense" } } }, "localname": "Depreciation", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DepreciationAndAmortization": { "auth_ref": [ "r77", "r182" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome": { "order": 1.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production.", "label": "Depreciation, Depletion and Amortization, Nonproduction", "terseLabel": "Depreciation and amortization" } } }, "localname": "DepreciationAndAmortization", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_DepreciationDepletionAndAmortization": { "auth_ref": [ "r77", "r137" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 16.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.", "label": "Depreciation, Depletion and Amortization", "terseLabel": "Depreciation and amortization expense" } } }, "localname": "DepreciationDepletionAndAmortization", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_DevelopedTechnologyRightsMember": { "auth_ref": [ "r313" ], "lang": { "en-us": { "role": { "documentation": "Rights to developed technology, which can include the right to develop, use, market, sell, or offer for sale products, compounds, or intellectual property.", "label": "Developed Technology Rights [Member]", "terseLabel": "Developed Technology" } } }, "localname": "DevelopedTechnologyRightsMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails", "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsWeightedAverageRemainingUsefulLifeDetails" ], "xbrltype": "domainItemType" }, "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": "Disaggregation of revenue" } } }, "localname": "DisaggregationOfRevenueLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureRevenueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTable": { "auth_ref": [ "r218", "r220", "r221", "r222", "r223", "r224", "r225", "r226" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.", "label": "Disaggregation of Revenue [Table]" } } }, "localname": "DisaggregationOfRevenueTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureRevenueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "auth_ref": [ "r218" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.", "label": "Disaggregation of Revenue [Table Text Block]", "terseLabel": "Schedule of disaggregated revenue" } } }, "localname": "DisaggregationOfRevenueTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureRevenueTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": { "auth_ref": [ "r284" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for share-based payment arrangement.", "label": "Share-based Payment Arrangement [Text Block]", "terseLabel": "Stock-Based Compensation" } } }, "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensation" ], "xbrltype": "textBlockItemType" }, "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Stock-Based Compensation" } } }, "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "(Loss) Earnings Per Share", "terseLabel": "(Loss) earnings per share:" } } }, "localname": "EarningsPerShareAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome" ], "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareBasic": { "auth_ref": [ "r60", "r98", "r99", "r100", "r101", "r102", "r106", "r108", "r113", "r114", "r115", "r119", "r120", "r386", "r402" ], "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", "verboseLabel": "Basic (loss) earnings per share" } } }, "localname": "EarningsPerShareBasic", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureLossEarningsPerShareDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareDiluted": { "auth_ref": [ "r60", "r98", "r99", "r100", "r101", "r102", "r108", "r113", "r114", "r115", "r119", "r120", "r386", "r402" ], "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", "verboseLabel": "Diluted (loss) earnings per share" } } }, "localname": "EarningsPerShareDiluted", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureLossEarningsPerShareDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareTextBlock": { "auth_ref": [ "r116", "r117", "r118", "r121" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for earnings per share.", "label": "Earnings Per Share [Text Block]", "terseLabel": "(Loss) Earnings Per Share" } } }, "localname": "EarningsPerShareTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureLossEarningsPerShare" ], "xbrltype": "textBlockItemType" }, "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "auth_ref": [ "r341" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 1.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. Excludes amounts for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents", "terseLabel": "Effect of exchange rate changes on cash and cash equivalents and restricted cash" } } }, "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "auth_ref": [ "r290" ], "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" } } }, "localname": "EffectiveIncomeTaxRateContinuingOperations", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureIncomeTaxDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes": { "auth_ref": [ "r290", "r302" ], "lang": { "en-us": { "role": { "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit).", "label": "Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent", "terseLabel": "Effective income tax reconciliation, state taxes (as a percent)" } } }, "localname": "EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureIncomeTaxDetails" ], "xbrltype": "percentItemType" }, "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": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]", "terseLabel": "Share-based payment arrangements information" } } }, "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails" ], "xbrltype": "stringItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": { "auth_ref": [ "r273" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement.", "label": "Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount", "terseLabel": "Unrecognized stock-based compensation expense" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": { "auth_ref": [ "r273" ], "lang": { "en-us": { "role": { "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition", "terseLabel": "Weighted-average period over which unrecognized stock-based compensation expense are expected to be recognized" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails" ], "xbrltype": "durationItemType" }, "us-gaap_EmployeeStockOptionMember": { "auth_ref": [ "r270" ], "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": "Stock options" } } }, "localname": "EmployeeStockOptionMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationDetails", "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_EquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Stockholders' Equity" } } }, "localname": "EquityAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_EquityComponentDomain": { "auth_ref": [ "r93", "r94", "r95", "r97", "r103", "r105", "r122", "r163", "r198", "r204", "r276", "r277", "r278", "r295", "r296", "r342", "r343", "r344", "r345", "r346", "r347", "r407", "r408", "r409" ], "lang": { "en-us": { "role": { "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc.", "label": "Equity Component [Domain]", "terseLabel": "Equity Component [Domain]" } } }, "localname": "EquityComponentDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "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]" } } }, "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementAdditionalInformationDetails", "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": { "auth_ref": [ "r329", "r330", "r331", "r338" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis.", "label": "Fair Value, Recurring and Nonrecurring [Table]" } } }, "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementAdditionalInformationDetails", "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "auth_ref": [ "r232", "r233", "r234", "r235", "r236", "r237", "r238", "r239", "r330", "r365", "r366", "r367" ], "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 and NAV [Axis]" } } }, "localname": "FairValueByFairValueHierarchyLevelAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementAdditionalInformationDetails", "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails", "http://www.doubleverify.com/role/DisclosureFairValueMeasurementRollforwardOfFairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByLiabilityClassAxis": { "auth_ref": [ "r337", "r338" ], "lang": { "en-us": { "role": { "documentation": "Information by class of liability.", "label": "Liability Class [Axis]" } } }, "localname": "FairValueByLiabilityClassAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementRollforwardOfFairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByMeasurementFrequencyAxis": { "auth_ref": [ "r329", "r330", "r333", "r334", "r339" ], "lang": { "en-us": { "role": { "documentation": "Information by measurement frequency.", "label": "Measurement Frequency [Axis]" } } }, "localname": "FairValueByMeasurementFrequencyAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementAdditionalInformationDetails", "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Fair Value Measurement" } } }, "localname": "FairValueDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresTextBlock": { "auth_ref": [ "r337" ], "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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurement" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueInputsLevel1Member": { "auth_ref": [ "r232", "r233", "r238", "r239", "r330", "r365" ], "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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementAdditionalInformationDetails", "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel3Member": { "auth_ref": [ "r232", "r233", "r234", "r235", "r236", "r237", "r238", "r239", "r330", "r367" ], "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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails", "http://www.doubleverify.com/role/DisclosureFairValueMeasurementRollforwardOfFairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain": { "auth_ref": [ "r335" ], "lang": { "en-us": { "role": { "documentation": "Represents classes of liabilities measured and disclosed at fair value.", "label": "Fair Value Liabilities Measured On Recurring Basis Unobservable Input Reconciliation By Liability Class [Domain]", "terseLabel": "Fair Value by Liability Class [Domain]" } } }, "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementRollforwardOfFairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems": { "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, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]" } } }, "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementRollforwardOfFairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable": { "auth_ref": [ "r335", "r338" ], "lang": { "en-us": { "role": { "documentation": "Schedule of information required and determined to be provided for purposes of reconciling beginning and ending balances of fair value measurements of liabilities using significant unobservable inputs (level 3). Separately presenting changes during the period, attributable to: (1) total gains or losses for the period (realized and unrealized) and location reported in the statement of income (or activities); (2) purchases, sales, issuances, and settlements (net); (3) transfers in and/or out of Level 3.", "label": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table]" } } }, "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementRollforwardOfFairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock": { "auth_ref": [ "r335", "r338" ], "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 rollforward of fair value measurements of contingent consideration" } } }, "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueMeasurementFrequencyDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Measurement frequency.", "label": "Fair Value Measurement Frequency [Domain]", "terseLabel": "Measurement Frequency [Domain]" } } }, "localname": "FairValueMeasurementFrequencyDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementAdditionalInformationDetails", "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings": { "auth_ref": [ "r336" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of gain (loss) recognized in income from liability measured at fair value on recurring basis using unobservable input (level 3).", "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Gain (Loss) Included in Earnings", "terseLabel": "Fair value adjustments" } } }, "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementRollforwardOfFairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue": { "auth_ref": [ "r335" ], "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 Reconciliation, Recurring Basis, Liability Value", "periodEndLabel": "Balance at June 30, 2021", "periodStartLabel": "Balance at January 1, 2021" } } }, "localname": "FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementRollforwardOfFairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "auth_ref": [ "r232", "r233", "r234", "r235", "r236", "r237", "r238", "r239", "r365", "r366", "r367" ], "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 and NAV [Domain]" } } }, "localname": "FairValueMeasurementsFairValueHierarchyDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementAdditionalInformationDetails", "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails", "http://www.doubleverify.com/role/DisclosureFairValueMeasurementRollforwardOfFairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementsRecurringMember": { "auth_ref": [ "r337", "r339" ], "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" } } }, "localname": "FairValueMeasurementsRecurringMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementAdditionalInformationDetails", "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "auth_ref": [ "r176" ], "calculation": { "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails": { "order": 1.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Accumulated Amortization", "negatedLabel": "Accumulated Amortization" } } }, "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive": { "auth_ref": [], "calculation": { "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails": { "order": 1.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Asset, Expected Amortization, after Year Five", "terseLabel": "Thereafter" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": { "auth_ref": [ "r178" ], "calculation": { "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails": { "order": 6.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year One", "verboseLabel": "2022" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear": { "auth_ref": [], "calculation": { "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails": { "order": 7.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in remainder of current fiscal year.", "label": "Finite-Lived Intangible Asset, Expected Amortization, Remainder of Fiscal Year", "terseLabel": "2021" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": { "auth_ref": [ "r178" ], "calculation": { "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails": { "order": 2.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Five", "terseLabel": "2026" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": { "auth_ref": [ "r178" ], "calculation": { "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails": { "order": 3.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Four", "terseLabel": "2025" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": { "auth_ref": [ "r178" ], "calculation": { "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails": { "order": 4.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Three", "terseLabel": "2024" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": { "auth_ref": [ "r178" ], "calculation": { "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails": { "order": 5.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Two", "terseLabel": "2023" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "auth_ref": [ "r172", "r173", "r176", "r179", "r376", "r377" ], "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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails", "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsWeightedAverageRemainingUsefulLifeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]" } } }, "localname": "FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "auth_ref": [ "r176", "r377" ], "calculation": { "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails": { "order": 2.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Gross", "terseLabel": "Gross Carrying Amount" } } }, "localname": "FiniteLivedIntangibleAssetsGross", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Finite-Lived Intangible Assets [Line Items]" } } }, "localname": "FiniteLivedIntangibleAssetsLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails", "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsWeightedAverageRemainingUsefulLifeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "auth_ref": [ "r172", "r175" ], "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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails", "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsWeightedAverageRemainingUsefulLifeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "auth_ref": [ "r176", "r376" ], "calculation": { "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "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", "totalLabel": "Total" } } }, "localname": "FiniteLivedIntangibleAssetsNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails", "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1": { "auth_ref": [ "r376" ], "lang": { "en-us": { "role": { "documentation": "Remaining amortization period of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Finite-Lived Intangible Assets, Remaining Amortization Period", "terseLabel": "Remaining useful life" } } }, "localname": "FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsWeightedAverageRemainingUsefulLifeDetails" ], "xbrltype": "durationItemType" }, "us-gaap_FurnitureAndFixturesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, and bookcases.", "label": "Furniture And Fixtures [Member]", "terseLabel": "Office Furniture and Equipment" } } }, "localname": "FurnitureAndFixturesMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_GeneralAndAdministrativeExpense": { "auth_ref": [ "r64" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome": { "order": 2.0, "parentTag": "us-gaap_OperatingIncomeLoss", "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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_GeneralAndAdministrativeExpenseMember": { "auth_ref": [ "r61" ], "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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails", "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "domainItemType" }, "us-gaap_GeographicDistributionAxis": { "auth_ref": [ "r166", "r389", "r390" ], "lang": { "en-us": { "role": { "documentation": "Information by geographic distribution of business activity identified as either domestic or foreign. Excludes names of countries, states and provinces, and cities.", "label": "Geographic Distribution [Axis]" } } }, "localname": "GeographicDistributionAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesOperatingLeasesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_GeographicDistributionDomain": { "auth_ref": [ "r389", "r390" ], "lang": { "en-us": { "role": { "documentation": "Allocation of business activity identified as domestic or foreign. Excludes names of countries, states and provinces, and cities.", "label": "Geographic Distribution [Domain]", "terseLabel": "Geographic Distribution [Domain]" } } }, "localname": "GeographicDistributionDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesOperatingLeasesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_Goodwill": { "auth_ref": [ "r167", "r168", "r379" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 5.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", "verboseLabel": "Goodwill" } } }, "localname": "Goodwill", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Goodwill and Intangible Assets" } } }, "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": { "auth_ref": [ "r181" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for goodwill and intangible assets.", "label": "Goodwill and Intangible Assets Disclosure [Text Block]", "terseLabel": "Goodwill and Intangible Assets" } } }, "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssets" ], "xbrltype": "textBlockItemType" }, "us-gaap_GoodwillPeriodIncreaseDecrease": { "auth_ref": [ "r169" ], "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) 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, Period Increase (Decrease)", "terseLabel": "Change in goodwill" } } }, "localname": "GoodwillPeriodIncreaseDecrease", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IPOMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "First sale of stock by a private company to the public.", "label": "I P O [Member]", "terseLabel": "IPO" } } }, "localname": "IPOMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_ImpairmentOfIntangibleAssetsFinitelived": { "auth_ref": [ "r77", "r180" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of impairment loss recognized in the period resulting from the write-down of the carrying amount of a finite-lived intangible asset to fair value.", "label": "Impairment of Intangible Assets, Finite-lived", "terseLabel": "Impairment of intangible assets" } } }, "localname": "ImpairmentOfIntangibleAssetsFinitelived", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsWeightedAverageRemainingUsefulLifeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments": { "auth_ref": [ "r91", "r139", "r142", "r145", "r148", "r151" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome": { "order": 2.0, "parentTag": "us-gaap_NetIncomeLoss", "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, Noncontrolling Interest", "totalLabel": "(Loss) income before income taxes" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeStatementAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE (LOSS) INCOME" } } }, "localname": "IncomeStatementAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationAxis": { "auth_ref": [ "r186" ], "lang": { "en-us": { "role": { "documentation": "Information by location in the income statement.", "label": "Income Statement Location [Axis]" } } }, "localname": "IncomeStatementLocationAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails", "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Location in the income statement.", "label": "Income Statement Location [Domain]", "terseLabel": "Income Statement Location [Domain]" } } }, "localname": "IncomeStatementLocationDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails", "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeTaxDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Income Tax" } } }, "localname": "IncomeTaxDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxDisclosureTextBlock": { "auth_ref": [ "r291", "r292", "r293", "r297", "r303", "r305", "r306", "r307" ], "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 Tax" } } }, "localname": "IncomeTaxDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureIncomeTax" ], "xbrltype": "textBlockItemType" }, "us-gaap_IncomeTaxExpenseBenefit": { "auth_ref": [ "r88", "r104", "r105", "r138", "r289", "r298", "r304", "r403" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome": { "order": 1.0, "parentTag": "us-gaap_NetIncomeLoss", "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)", "terseLabel": "Income tax expense", "verboseLabel": "Income tax provision" } } }, "localname": "IncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureIncomeTaxDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes": { "auth_ref": [ "r290" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to state and local income tax expense (benefit).", "label": "Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Amount", "terseLabel": "Effective income tax reconciliation, state taxes" } } }, "localname": "IncomeTaxReconciliationStateAndLocalIncomeTaxes", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureIncomeTaxDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxesPaidNet": { "auth_ref": [ "r80" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes.", "label": "Income Taxes Paid, Net", "terseLabel": "Cash paid for taxes" } } }, "localname": "IncomeTaxesPaidNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "auth_ref": [ "r76" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 8.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": "Trade receivables" } } }, "localname": "IncreaseDecreaseInAccountsReceivable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccruedLiabilities": { "auth_ref": [ "r76" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 5.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 expenses incurred but not yet paid.", "label": "Increase (Decrease) in Accrued Liabilities", "terseLabel": "Accrued expenses" } } }, "localname": "IncreaseDecreaseInAccruedLiabilities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Operating Capital [Abstract]", "verboseLabel": "Changes in operating assets and liabilities net of effect of business combinations" } } }, "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_IncreaseDecreaseInOtherCurrentLiabilities": { "auth_ref": [ "r76" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in current liabilities classified as other.", "label": "Increase (Decrease) in Other Current Liabilities", "terseLabel": "Other current liabilities" } } }, "localname": "IncreaseDecreaseInOtherCurrentLiabilities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOtherNoncurrentAssets": { "auth_ref": [ "r76" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 6.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in noncurrent assets classified as other.", "label": "Increase (Decrease) in Other Noncurrent Assets", "negatedTerseLabel": "Other non-current assets" } } }, "localname": "IncreaseDecreaseInOtherNoncurrentAssets", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities": { "auth_ref": [], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in noncurrent operating liabilities classified as other.", "label": "Increase (Decrease) in Other Noncurrent Liabilities", "verboseLabel": "Other non-current liabilities" } } }, "localname": "IncreaseDecreaseInOtherNoncurrentLiabilities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "auth_ref": [ "r76" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 7.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other.", "label": "Increase (Decrease) in Prepaid Expense and Other Assets", "negatedLabel": "Prepaid expenses and other current assets" } } }, "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": { "auth_ref": [ "r109", "r110", "r111", "r115" ], "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", "verboseLabel": "Dilutive effect of share-based awards" } } }, "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureLossEarningsPerShareDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_IntangibleAssetsNetExcludingGoodwill": { "auth_ref": [ "r170", "r174" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.", "label": "Intangible Assets, Net (Excluding Goodwill)", "verboseLabel": "Intangible assets, net" } } }, "localname": "IntangibleAssetsNetExcludingGoodwill", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_InterestExpense": { "auth_ref": [ "r57", "r136", "r349", "r352", "r388" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome": { "order": 2.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of the cost of borrowed funds accounted for as interest expense.", "label": "Interest Expense", "terseLabel": "Interest expense" } } }, "localname": "InterestExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_InterestIncomeExpenseNet": { "auth_ref": [ "r387" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 11.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The net amount of operating interest income (expense).", "label": "Interest Income (Expense), Net", "negatedLabel": "Interest expense (income)" } } }, "localname": "InterestIncomeExpenseNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_InterestPaidNet": { "auth_ref": [ "r72", "r74", "r80" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.", "label": "Interest Paid, Excluding Capitalized Interest, Operating Activities", "terseLabel": "Cash paid for interest" } } }, "localname": "InterestPaidNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_LeaseAndRentalExpense": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of rent expense incurred for leased assets, including but not limited to, furniture and equipment, that is not directly or indirectly associated with the manufacture, sale or creation of a product or product line.", "label": "Operating Leases, Rent Expense", "verboseLabel": "Rent expense" } } }, "localname": "LeaseAndRentalExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LeaseholdImprovementsMember": { "auth_ref": [ "r183" ], "lang": { "en-us": { "role": { "documentation": "Additions or improvements to assets held under a lease arrangement.", "label": "Leasehold Improvements [Member]", "terseLabel": "Leasehold Improvements" } } }, "localname": "LeaseholdImprovementsMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails" ], "xbrltype": "domainItemType" }, "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": "Letter of Credit" } } }, "localname": "LetterOfCreditMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "domainItemType" }, "us-gaap_Liabilities": { "auth_ref": [ "r35", "r87", "r144", "r162", "r322", "r324", "r325", "r340" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.", "label": "Liabilities", "totalLabel": "Total liabilities" } } }, "localname": "Liabilities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquity": { "auth_ref": [ "r24", "r87", "r162", "r340", "r382", "r397" ], "calculation": { "http://www.doubleverify.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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities and Equity [Abstract]", "terseLabel": "Liabilities and Stockholder's Equity:" } } }, "localname": "LiabilitiesAndStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesCurrent": { "auth_ref": [ "r37", "r87", "r162", "r322", "r324", "r325", "r340" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 6.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.", "label": "Liabilities, Current", "totalLabel": "Total current liabilities" } } }, "localname": "LiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LineOfCreditFacilityCommitmentFeePercentage": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The fee, expressed as a percentage of the line of credit facility, for the line of credit facility regardless of whether the facility has been used.", "label": "Line of Credit Facility, Commitment Fee Percentage", "terseLabel": "Percentage of commitment fee payable periodically" } } }, "localname": "LineOfCreditFacilityCommitmentFeePercentage", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "percentItemType" }, "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": { "auth_ref": [ "r33" ], "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": "Maximum borrowing capacity" } } }, "localname": "LineOfCreditFacilityMaximumBorrowingCapacity", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LondonInterbankOfferedRateLIBORMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Interest rate at which a bank borrows funds from other banks in the London interbank market.", "label": "London Interbank Offered Rate L I B O R [Member]", "terseLabel": "LIBOR" } } }, "localname": "LondonInterbankOfferedRateLIBORMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LongTermDebt": { "auth_ref": [ "r14", "r196", "r381", "r393" ], "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", "verboseLabel": "Outstanding amount" } } }, "localname": "LongTermDebt", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtNoncurrent": { "auth_ref": [ "r38" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 5.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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_MeasurementInputDiscountRateMember": { "auth_ref": [ "r332" ], "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 rate" } } }, "localname": "MeasurementInputDiscountRateMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementAdditionalInformationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_MeasurementInputTypeAxis": { "auth_ref": [ "r332" ], "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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementAdditionalInformationDetails" ], "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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementAdditionalInformationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "auth_ref": [ "r73" ], "calculation": { "http://www.doubleverify.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 financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.", "label": "Net Cash Provided by (Used in) Financing Activities", "totalLabel": "Net cash provided by (used in) financing activities" } } }, "localname": "NetCashProvidedByUsedInFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.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": "Financing activities:" } } }, "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "auth_ref": [ "r73" ], "calculation": { "http://www.doubleverify.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 investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.", "label": "Net Cash Provided by (Used in) Investing Activities", "totalLabel": "Net cash (used in) investing activities" } } }, "localname": "NetCashProvidedByUsedInInvestingActivities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.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": "Investing activities:" } } }, "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "auth_ref": [ "r73", "r75", "r78" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 4.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", "totalLabel": "Net cash provided by operating activities" } } }, "localname": "NetCashProvidedByUsedInOperatingActivities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.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": "Operating activities:" } } }, "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetIncomeLoss": { "auth_ref": [ "r0", "r52", "r54", "r58", "r78", "r87", "r96", "r98", "r99", "r100", "r101", "r104", "r105", "r112", "r139", "r142", "r145", "r148", "r151", "r162", "r340", "r384", "r400" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 }, "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome": { "order": 2.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.", "label": "Net Income (Loss) Attributable to Parent", "terseLabel": "Net (loss) income", "totalLabel": "Net (loss) income", "verboseLabel": "Net (Loss) income (basic and diluted)" } } }, "localname": "NetIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureLossEarningsPerShareDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetIncomeLossAvailableToCommonStockholdersDilutedAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Income (Loss) Available to Common Stockholders, Diluted [Abstract]", "terseLabel": "Numerator:" } } }, "localname": "NetIncomeLossAvailableToCommonStockholdersDilutedAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureLossEarningsPerShareDetails" ], "xbrltype": "stringItemType" }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.", "label": "New Accounting Pronouncements, Policy [Policy Text Block]", "terseLabel": "Recently Issued Accounting Pronouncements" } } }, "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBasisOfPresentationAndSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_NoncashInvestingAndFinancingItemsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Noncash Investing and Financing Items [Abstract]", "terseLabel": "Non-cash investing and financing activities:" } } }, "localname": "NoncashInvestingAndFinancingItemsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NumberOfOperatingSegments": { "auth_ref": [ "r131" ], "lang": { "en-us": { "role": { "documentation": "Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues.", "label": "Number of Operating Segments", "terseLabel": "Number of operating segment" } } }, "localname": "NumberOfOperatingSegments", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureSegmentInformationDetails" ], "xbrltype": "integerItemType" }, "us-gaap_NumberOfReportableSegments": { "auth_ref": [ "r131" ], "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 segments" } } }, "localname": "NumberOfReportableSegments", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureDescriptionOfBusinessDetails", "http://www.doubleverify.com/role/DisclosureSegmentInformationDetails" ], "xbrltype": "integerItemType" }, "us-gaap_OperatingIncomeLoss": { "auth_ref": [ "r139", "r142", "r145", "r148", "r151" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome": { "order": 3.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": "(Loss) income from operations" } } }, "localname": "OperatingIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasedAssetsLineItems": { "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": "Operating Leased Assets [Line Items]" } } }, "localname": "OperatingLeasedAssetsLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesOperatingLeasesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_OperatingLeasesFutureMinimumPaymentsDue": { "auth_ref": [ "r355", "r356" ], "calculation": { "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesOperatingLeasesDetails": { "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": "Total" } } }, "localname": "OperatingLeasesFutureMinimumPaymentsDue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesOperatingLeasesDetails" ], "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 future minimum lease obligations" } } }, "localname": "OperatingLeasesFutureMinimumPaymentsDueAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesOperatingLeasesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears": { "auth_ref": [ "r355", "r356" ], "calculation": { "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesOperatingLeasesDetails": { "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 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": "2024" } } }, "localname": "OperatingLeasesFutureMinimumPaymentsDueInFourYears", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears": { "auth_ref": [ "r355", "r356" ], "calculation": { "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesOperatingLeasesDetails": { "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 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": "2023" } } }, "localname": "OperatingLeasesFutureMinimumPaymentsDueInThreeYears", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears": { "auth_ref": [ "r355", "r356" ], "calculation": { "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesOperatingLeasesDetails": { "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 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": "2022" } } }, "localname": "OperatingLeasesFutureMinimumPaymentsDueInTwoYears", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasesFutureMinimumPaymentsRemainderOfFiscalYear": { "auth_ref": [], "calculation": { "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesOperatingLeasesDetails": { "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 remainder of the fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.", "label": "Operating Leases, Future Minimum Payments, Remainder of Fiscal Year", "terseLabel": "2021" } } }, "localname": "OperatingLeasesFutureMinimumPaymentsRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesOperatingLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Description of Business" } } }, "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock": { "auth_ref": [ "r1", "r326" ], "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": "Description of Business" } } }, "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureDescriptionOfBusiness" ], "xbrltype": "textBlockItemType" }, "us-gaap_OtherAssetsNoncurrent": { "auth_ref": [ "r31" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of noncurrent assets classified as other.", "label": "Other Assets, Noncurrent", "terseLabel": "Other non-current assets" } } }, "localname": "OtherAssetsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": { "auth_ref": [ "r46" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome": { "order": 1.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.", "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax", "terseLabel": "Foreign currency translation adjustment", "verboseLabel": "Foreign currency cumulative translation adjustment" } } }, "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent [Abstract]", "terseLabel": "Other comprehensive (loss) income:" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome" ], "xbrltype": "stringItemType" }, "us-gaap_OtherCurrentLiabilitiesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing other current liabilities.", "label": "Other Current Liabilities [Member]", "terseLabel": "Other Current Liabilities" } } }, "localname": "OtherCurrentLiabilitiesMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OtherLiabilitiesCurrent": { "auth_ref": [ "r6", "r7", "r36" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer.", "label": "Other Liabilities, Current", "terseLabel": "Other current liabilities" } } }, "localname": "OtherLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherLiabilitiesNoncurrent": { "auth_ref": [ "r39" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.", "label": "Other Liabilities, Noncurrent", "terseLabel": "Other non-current liabilities" } } }, "localname": "OtherLiabilitiesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherNonoperatingIncomeExpense": { "auth_ref": [ "r65" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome": { "order": 1.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of income (expense) related to nonoperating activities, classified as other.", "label": "Other Nonoperating Income (Expense)", "negatedLabel": "Other expense (income), net" } } }, "localname": "OtherNonoperatingIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherOperatingActivitiesCashFlowStatement": { "auth_ref": [], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 9.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Other cash or noncash adjustments to reconcile net income to cash provided by (used in) operating activities that are not separately disclosed in the statement of cash flows (for example, cash received or cash paid during the current period for miscellaneous operating activities, net change during the reporting period in other assets or other liabilities).", "label": "Other Operating Activities, Cash Flow Statement", "terseLabel": "Other" } } }, "localname": "OtherOperatingActivitiesCashFlowStatement", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_OverAllotmentOptionMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Right given to the underwriter to sell additional shares over the initial allotment.", "label": "Over Allotment Option [Member]", "terseLabel": "Underwriter Option" } } }, "localname": "OverAllotmentOptionMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities": { "auth_ref": [ "r70" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow, not made soon after acquisition date of business combination, to settle contingent consideration liability up to amount recognized at acquisition date, including, but not limited to, measurement period adjustment and less amount paid soon after acquisition date.", "label": "Payment for Contingent Consideration Liability, Financing Activities", "negatedLabel": "Payment of contingent consideration related to Zentrick acquisition" } } }, "localname": "PaymentForContingentConsiderationLiabilityFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsOfMergerRelatedCostsFinancingActivities": { "auth_ref": [ "r71" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 6.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow for financing costs associated with business combinations.", "label": "Payments of Merger Related Costs, Financing Activities", "negatedLabel": "Deferred payment related to acquisition" } } }, "localname": "PaymentsOfMergerRelatedCostsFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsOfStockIssuanceCosts": { "auth_ref": [ "r71" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 8.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow for cost incurred directly with the issuance of an equity security.", "label": "Payments of Stock Issuance Costs", "negatedLabel": "Payments related to offering costs", "verboseLabel": "Underwriting discount fees" } } }, "localname": "PaymentsOfStockIssuanceCosts", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireBusinessesGross": { "auth_ref": [ "r66", "r317" ], "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": "Purchase Price" } } }, "localname": "PaymentsToAcquireBusinessesGross", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "auth_ref": [ "r67" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.", "label": "Payments to Acquire Property, Plant, and Equipment", "negatedLabel": "Purchase of property, plant and equipment" } } }, "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities": { "auth_ref": [ "r13", "r228", "r229", "r230", "r239" ], "calculation": { "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesDetails": { "order": 5.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liability, recognized in statement of financial position, for defined benefit pension and other postretirement plans, classified as current.", "label": "Liability, Defined Benefit Plan, Current", "terseLabel": "401k and pension expense" } } }, "localname": "PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PlanNameAxis": { "auth_ref": [ "r248", "r274" ], "lang": { "en-us": { "role": { "documentation": "Information by plan name for share-based payment arrangement.", "label": "Plan Name [Axis]" } } }, "localname": "PlanNameAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationDetails", "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PlanNameDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Plan name for share-based payment arrangement.", "label": "Plan Name [Domain]", "terseLabel": "Plan Name [Domain]" } } }, "localname": "PlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationDetails", "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PreferredStockLiquidationPreferenceValue": { "auth_ref": [ "r85" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value of the difference between preference in liquidation and the par or stated values of the preferred shares.", "label": "Preferred Stock, Liquidation Preference, Value", "terseLabel": "Preferred stock, liquidation value" } } }, "localname": "PreferredStockLiquidationPreferenceValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_PreferredStockMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Preferred shares may provide a preferential dividend to the dividend on common stock and may take precedence over common stock in the event of a liquidation. Preferred shares typically represent an ownership interest in the company.", "label": "Preferred Stock [Member]", "terseLabel": "Preferred Stock" } } }, "localname": "PreferredStockMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_PreferredStockParOrStatedValuePerShare": { "auth_ref": [ "r16" ], "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" } } }, "localname": "PreferredStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBasisOfPresentationAndSummaryOfSignificantAccountingPoliciesDetails", "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "perShareItemType" }, "us-gaap_PreferredStockSharesAuthorized": { "auth_ref": [ "r16" ], "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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockSharesIssued": { "auth_ref": [ "r16" ], "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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockSharesOutstanding": { "auth_ref": [ "r16" ], "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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockValue": { "auth_ref": [ "r16" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 6.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", "terseLabel": "Preferred stock, $0.01 par value, 100,000 shares authorized and zero shares issued and outstanding as of June 30, 2021 and 61,006 shares authorized, issued, and outstanding as of December 31, 2020. Liquidation preference: $350,000 as of December 31, 2020" } } }, "localname": "PreferredStockValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "auth_ref": [ "r4", "r26", "r27" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 1.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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_PrivatePlacementMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A private placement is a direct offering of securities to a limited number of sophisticated investors such as insurance companies, pension funds, mezzanine funds, stock funds and trusts.", "label": "Private Placement [Member]", "terseLabel": "Private Placement" } } }, "localname": "PrivatePlacementMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_ProceedsFromIssuanceInitialPublicOffering": { "auth_ref": [ "r68" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow associated with the amount received from entity's first offering of stock to the public.", "label": "Proceeds from Issuance Initial Public Offering", "terseLabel": "Proceeds from issuance of common stock upon initial public offering" } } }, "localname": "ProceedsFromIssuanceInitialPublicOffering", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromIssuanceOfCommonStock": { "auth_ref": [ "r68" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow from the additional capital contribution to the entity.", "label": "Proceeds from Issuance of Common Stock", "terseLabel": "Aggregate net proceeds" } } }, "localname": "ProceedsFromIssuanceOfCommonStock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromIssuanceOfPrivatePlacement": { "auth_ref": [ "r68" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow associated with the amount received from entity's raising of capital via private rather than public placement.", "label": "Proceeds from Issuance of Private Placement", "terseLabel": "Proceeds from issuance of common stock in connection with concurrent private placement" } } }, "localname": "ProceedsFromIssuanceOfPrivatePlacement", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromStockOptionsExercised": { "auth_ref": [ "r68", "r275" ], "calculation": { "http://www.doubleverify.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", "verboseLabel": "Proceeds from common stock issued upon exercise of stock options" } } }, "localname": "ProceedsFromStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment" } } }, "localname": "PropertyPlantAndEquipmentAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentByTypeAxis": { "auth_ref": [ "r30", "r185" ], "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": "Long-Lived Tangible Asset [Axis]" } } }, "localname": "PropertyPlantAndEquipmentByTypeAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": { "auth_ref": [ "r187", "r413", "r414", "r415" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.", "label": "Property, Plant and Equipment Disclosure [Text Block]", "terseLabel": "Property, Plant and Equipment" } } }, "localname": "PropertyPlantAndEquipmentDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipment" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentGross": { "auth_ref": [ "r29", "r183" ], "calculation": { "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails": { "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": "Property, plant and equipment gross" } } }, "localname": "PropertyPlantAndEquipmentGross", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails" ], "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]" } } }, "localname": "PropertyPlantAndEquipmentLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentNet": { "auth_ref": [ "r10", "r11", "r185", "r398" ], "calculation": { "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.doubleverify.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, plant and equipment, net", "totalLabel": "Total property, plant and equipment, net" } } }, "localname": "PropertyPlantAndEquipmentNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "auth_ref": [ "r10", "r185" ], "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, Plant and Equipment" } } }, "localname": "PropertyPlantAndEquipmentTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentTypeDomain": { "auth_ref": [ "r10", "r183" ], "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": "Long-Lived Tangible Asset [Domain]" } } }, "localname": "PropertyPlantAndEquipmentTypeDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ProvisionForDoubtfulAccounts": { "auth_ref": [ "r62", "r165" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 17.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable.", "label": "Accounts Receivable, Credit Loss Expense (Reversal)", "terseLabel": "Bad debt expense" } } }, "localname": "ProvisionForDoubtfulAccounts", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_RepaymentsOfDebtAndCapitalLeaseObligations": { "auth_ref": [], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow for short-term and long-term debt and lease obligation.", "label": "Repayments of Debt and Lease Obligation", "negatedLabel": "Capital lease payments" } } }, "localname": "RepaymentsOfDebtAndCapitalLeaseObligations", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_RepaymentsOfLongTermDebt": { "auth_ref": [ "r69" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 7.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer.", "label": "Repayments of Long-term Debt", "negatedLabel": "Payments of long-term debt" } } }, "localname": "RepaymentsOfLongTermDebt", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ResearchAndDevelopmentExpense": { "auth_ref": [ "r286", "r416" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome": { "order": 4.0, "parentTag": "us-gaap_OperatingIncomeLoss", "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": "Product development" } } }, "localname": "ResearchAndDevelopmentExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome" ], "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": "Product development" } } }, "localname": "ResearchAndDevelopmentExpenseMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RestrictedCashAndCashEquivalents": { "auth_ref": [ "r9", "r79", "r84", "r378", "r394" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsReconciliationOfCashflows": { "order": 2.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash and cash equivalents restricted as to withdrawal or usage. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Restricted Cash and Cash Equivalents", "verboseLabel": "Restricted cash (included in prepaid expenses and other current assets on the Condensed Consolidated Balance Sheets)" } } }, "localname": "RestrictedCashAndCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsReconciliationOfCashflows" ], "xbrltype": "monetaryItemType" }, "us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Type of cash and cash equivalent. Cash is 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": "Restricted Cash And Cash Equivalents Cash And Cash Equivalents [Member]", "terseLabel": "Cash and Cash Equivalents [Domain]" } } }, "localname": "RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementAdditionalInformationDetails" ], "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": "Restricted Stock Units (RSUs)" } } }, "localname": "RestrictedStockUnitsRSUMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationRestrictedStockAwardActivityDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails", "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "auth_ref": [ "r20", "r204", "r279", "r396", "r410", "r412" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 2.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)", "verboseLabel": "Retained earnings" } } }, "localname": "RetainedEarningsAccumulatedDeficit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsMember": { "auth_ref": [ "r93", "r94", "r95", "r97", "r103", "r105", "r163", "r276", "r277", "r278", "r295", "r296", "r407", "r409" ], "lang": { "en-us": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Retained Earnings [Member]", "terseLabel": "Retained Earnings" } } }, "localname": "RetainedEarningsMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueFromContractWithCustomerAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Revenue" } } }, "localname": "RevenueFromContractWithCustomerAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "auth_ref": [ "r134", "r135", "r141", "r146", "r147", "r153", "r154", "r156", "r217", "r218", "r375" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome": { "order": 6.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", "verboseLabel": "Total revenue" } } }, "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureRevenueDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "auth_ref": [ "r209", "r210", "r211", "r212", "r213", "r214", "r215", "r216", "r219", "r227" ], "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": "Revenue" } } }, "localname": "RevenueFromContractWithCustomerTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureRevenue" ], "xbrltype": "textBlockItemType" }, "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": "New Revolving Credit Facility" } } }, "localname": "RevolvingCreditFacilityMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SaleOfStockNameOfTransactionDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Sale of the entity's stock, including, but not limited to, initial public offering (IPO) and private placement.", "label": "Sale Of Stock Name Of Transaction [Domain]", "terseLabel": "Sale of Stock [Domain]" } } }, "localname": "SaleOfStockNameOfTransactionDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "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" } } }, "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable": { "auth_ref": [ "r309", "r310" ], "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/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsDetails", "http://www.doubleverify.com/role/DisclosureDescriptionOfBusinessDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "auth_ref": [ "r115" ], "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 computations of the basic and diluted EPS" } } }, "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureLossEarningsPerShareTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable": { "auth_ref": [ "r247", "r271", "r281" ], "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": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table]" } } }, "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": { "auth_ref": [ "r247", "r271", "r281" ], "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": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]", "terseLabel": "Schedule of stock-based compensation expense" } } }, "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock": { "auth_ref": [ "r329", "r330" ], "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 instruments measured at fair value on recurring basis" } } }, "localname": "ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": { "auth_ref": [ "r172", "r175", "r376" ], "lang": { "en-us": { "role": { "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Schedule of Finite-Lived Intangible Assets [Table]" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails", "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsWeightedAverageRemainingUsefulLifeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": { "auth_ref": [ "r172", "r175" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.", "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]", "terseLabel": "Schedule of intangible assets and related accumulated amortization" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFutureMinimumLeasePaymentsForCapitalLeasesTableTextBlock": { "auth_ref": [ "r360" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of future minimum lease payments as of the date of the latest balance sheet presented, in aggregate and for each of the five years succeeding fiscal years, with separate deductions from the total for the amount representing executor costs, including any profit thereon, included in the minimum lease payments and for the amount of the imputed interest necessary to reduce the net minimum lease payments to present value.", "label": "Schedule of Future Minimum Lease Payments for Capital Leases [Table Text Block]", "terseLabel": "Schedule of future minimum lease payments under agreement (including interest)" } } }, "localname": "ScheduleOfFutureMinimumLeasePaymentsForCapitalLeasesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock": { "auth_ref": [ "r357" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of future minimum payments required in the aggregate and for each of the five succeeding fiscal years for operating leases having initial or remaining noncancelable lease terms in excess of one year and the total minimum rentals to be received in the future under noncancelable subleases as of the balance sheet date.", "label": "Schedule of Future Minimum Rental Payments for Operating Leases [Table Text Block]", "terseLabel": "Schedule of future minimum lease obligations" } } }, "localname": "ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfOperatingLeasedAssetsTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Schedule of long-lived, depreciable assets that are subject to a operating lease agreements 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 Operating Leased Assets [Table]" } } }, "localname": "ScheduleOfOperatingLeasedAssetsTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingenciesOperatingLeasesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": { "auth_ref": [ "r30", "r185" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.", "label": "Property, Plant and Equipment [Table]" } } }, "localname": "ScheduleOfPropertyPlantAndEquipmentTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": { "auth_ref": [ "r248", "r274" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about share-based payment arrangement.", "label": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]" } } }, "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationRestrictedStockAwardActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock": { "auth_ref": [ "r253" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the number and weighted-average grant date fair value for restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock units that were granted, vested, or forfeited during the year.", "label": "Share-based Payment Arrangement, Restricted Stock Unit, Activity [Table Text Block]", "terseLabel": "Schedule of restricted stock activity" } } }, "localname": "ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": { "auth_ref": [ "r253", "r262", "r265" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.", "label": "Share-based Payment Arrangement, Option, Activity [Table Text Block]", "terseLabel": "Schedule of stock option activity" } } }, "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock": { "auth_ref": [ "r268" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.", "label": "Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]", "terseLabel": "Schedule of Black-Scholes-Merton option-pricing model" } } }, "localname": "ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": { "auth_ref": [ "r175" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets.", "label": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]", "terseLabel": "Schedule of Estimated future expected amortization expense of intangible assets" } } }, "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_SegmentReportingAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Segment Information" } } }, "localname": "SegmentReportingAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_SegmentReportingDisclosureTextBlock": { "auth_ref": [ "r130", "r132", "r133", "r139", "r140", "r145", "r149", "r150", "r151", "r152", "r153", "r155", "r156", "r157" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.", "label": "Segment Reporting Disclosure [Text Block]", "terseLabel": "Segment Information" } } }, "localname": "SegmentReportingDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureSegmentInformation" ], "xbrltype": "textBlockItemType" }, "us-gaap_SellingAndMarketingExpense": { "auth_ref": [], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome": { "order": 3.0, "parentTag": "us-gaap_OperatingIncomeLoss", "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": "Sales, marketing and customer support" } } }, "localname": "SellingAndMarketingExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_SellingAndMarketingExpenseMember": { "auth_ref": [ "r61" ], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing selling and marketing expense.", "label": "Selling And Marketing Expense [Member]", "terseLabel": "Sales, marketing and customer support" } } }, "localname": "SellingAndMarketingExpenseMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensation": { "auth_ref": [ "r76" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 12.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 Payment Arrangement, Noncash Expense", "verboseLabel": "Stock-based compensation expense" } } }, "localname": "ShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": { "auth_ref": [ "r249" ], "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", "verboseLabel": "Number of days option to purchase" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationDetails", "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "durationItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": { "auth_ref": [ "r260" ], "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", "verboseLabel": "Other than stock options granted" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationRestrictedStockAwardActivityDetails", "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r260" ], "lang": { "en-us": { "role": { "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Granted (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationRestrictedStockAwardActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": { "auth_ref": [ "r259" ], "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": "Outstanding ending balance", "periodStartLabel": "Outstanding beginning balance" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationRestrictedStockAwardActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]", "verboseLabel": "Number of Shares" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationRestrictedStockAwardActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": { "auth_ref": [ "r259" ], "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": "Outstanding ending balance (in dollars per share)", "periodStartLabel": "Outstanding beginning balance (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationRestrictedStockAwardActivityDetails" ], "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]", "verboseLabel": "Weighted Average Grant Date Fair Value" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationRestrictedStockAwardActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": { "auth_ref": [ "r261" ], "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" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationRestrictedStockAwardActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r261" ], "lang": { "en-us": { "role": { "documentation": "The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Vested (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationRestrictedStockAwardActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions and Methodology [Abstract]" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationBlackScholesMertonOptionPricingModelDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The estimated measure of the maximum percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Volatility Rate, Maximum", "terseLabel": "Expected volatility (percentage), maximum" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationBlackScholesMertonOptionPricingModelDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The estimated measure of the minimum percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Volatility Rate, Minimum", "terseLabel": "Expected volatility (percentage), minimum" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationBlackScholesMertonOptionPricingModelDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The maximum risk-free interest rate assumption that is used in valuing an option on its own shares.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Risk Free Interest Rate, Maximum", "terseLabel": "Risk - free interest rate (percentage), maximum" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationBlackScholesMertonOptionPricingModelDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The minimum risk-free interest rate assumption that is used in valuing an option on its own shares.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Risk Free Interest Rate, Minimum", "terseLabel": "Risk - free interest rate (percentage), minimum" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationBlackScholesMertonOptionPricingModelDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationRestrictedStockAwardActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": { "auth_ref": [ "r251" ], "lang": { "en-us": { "role": { "documentation": "Number of shares authorized for issuance under share-based payment arrangement.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized", "terseLabel": "Number of shares authorized" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationDetails" ], "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": "Additional disclosures" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": { "auth_ref": [ "r256" ], "lang": { "en-us": { "role": { "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Number", "periodEndLabel": "Options exercisable" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": { "auth_ref": [ "r256" ], "lang": { "en-us": { "role": { "documentation": "The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Exercise Price", "terseLabel": "Options exercisable (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": { "auth_ref": [ "r264" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value", "terseLabel": "Intrinsic value" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod": { "auth_ref": [ "r258" ], "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": "Options forfeited" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Gross number of share options (or share units) granted during the period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross", "terseLabel": "Options granted", "verboseLabel": "Granted" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails", "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r263" ], "lang": { "en-us": { "role": { "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Weighted average grant date fair value (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": { "auth_ref": [ "r274" ], "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", "periodEndLabel": "Aggregate Intrinsic Value, outstanding (ending balance)", "periodStartLabel": "Aggregate Intrinsic Value, outstanding (Beginning balance)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": { "auth_ref": [ "r255", "r274" ], "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 Ending balance", "periodStartLabel": "Outstanding beginning balance" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]", "terseLabel": "Number of Options" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": { "auth_ref": [ "r254" ], "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 ending balance (in dollars per share)", "periodStartLabel": "Outstanding beginning balance (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]", "terseLabel": "Weighted Average Exercise Price" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue": { "auth_ref": [ "r267" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest exercisable or convertible options. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Exercisable, Aggregate Intrinsic Value", "terseLabel": "Aggregate Intrinsic Value, exercisable" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber": { "auth_ref": [ "r266" ], "lang": { "en-us": { "role": { "documentation": "Number of fully vested and expected to vest options outstanding that can be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number", "terseLabel": "Options expected to vest" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice": { "auth_ref": [ "r266" ], "lang": { "en-us": { "role": { "documentation": "Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Exercise Price", "periodEndLabel": "Options expected to vest (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "auth_ref": [ "r246", "r252" ], "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": "Award Type [Domain]" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationRestrictedStockAwardActivityDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails", "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails" ], "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": "Options exercised (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "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": "Options forfeited (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.", "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Grants in Period, Weighted Average Exercise Price", "terseLabel": "Options granted (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod": { "auth_ref": [ "r250" ], "lang": { "en-us": { "role": { "documentation": "Period from grant date that an equity-based award expires, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period", "terseLabel": "Term of award" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationDetails" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": { "auth_ref": [ "r269", "r280" ], "lang": { "en-us": { "role": { "documentation": "Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Term", "terseLabel": "Expected term (years)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationBlackScholesMertonOptionPricingModelDetails" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1": { "auth_ref": [ "r274" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of difference between fair value of the underlying shares reserved for issuance and exercise price of vested portions of options outstanding and currently exercisable.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Intrinsic Value", "terseLabel": "Aggregate Intrinsic Value, expected to vest" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": { "auth_ref": [ "r266" ], "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": "Weighted Average Remaining Contractual Life (Years)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "xbrltype": "durationItemType" }, "us-gaap_SharesIssued": { "auth_ref": [ "r198" ], "lang": { "en-us": { "role": { "documentation": "Number of shares of stock issued as of the balance sheet date, including shares that had been issued and were previously outstanding but which are now held in the treasury.", "label": "Shares, Issued", "periodEndLabel": "Balance (in shares)", "periodStartLabel": "Balance (in shares)" } } }, "localname": "SharesIssued", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_SharesIssuedPricePerShare": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Per share or per unit amount of equity securities issued.", "label": "Shares Issued, Price Per Share", "terseLabel": "Purchase price per share" } } }, "localname": "SharesIssuedPricePerShare", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "perShareItemType" }, "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": "Capitalized software development costs" } } }, "localname": "SoftwareAndSoftwareDevelopmentCostsMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_StatementEquityComponentsAxis": { "auth_ref": [ "r42", "r93", "r94", "r95", "r97", "r103", "r105", "r122", "r163", "r198", "r204", "r276", "r277", "r278", "r295", "r296", "r342", "r343", "r344", "r345", "r346", "r347", "r407", "r408", "r409" ], "lang": { "en-us": { "role": { "documentation": "Information by component of equity.", "label": "Equity Components [Axis]" } } }, "localname": "StatementEquityComponentsAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "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]" } } }, "localname": "StatementLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "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/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementOfFinancialPositionAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED BALANCE SHEETS" } } }, "localname": "StatementOfFinancialPositionAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementOfStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY" } } }, "localname": "StatementOfStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementTable": { "auth_ref": [ "r93", "r94", "r95", "r122", "r375" ], "lang": { "en-us": { "role": { "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed.", "label": "Statement [Table]" } } }, "localname": "StatementTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StockIssued1": { "auth_ref": [ "r81", "r82", "r83" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The fair value of stock issued in noncash financing activities.", "label": "Stock Issued", "terseLabel": "Conversion of Series A preferred stock to common stock in connection with the initial public offering" } } }, "localname": "StockIssued1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities": { "auth_ref": [ "r41", "r198", "r199", "r204" ], "lang": { "en-us": { "role": { "documentation": "Number of shares issued during the period as a result of the conversion of convertible securities.", "label": "Stock Issued During Period, Shares, Conversion of Convertible Securities", "terseLabel": "Conversion of Series A preferred stock to common stock (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesNewIssues": { "auth_ref": [ "r16", "r17", "r198", "r204" ], "lang": { "en-us": { "role": { "documentation": "Number of new stock issued during the period.", "label": "Stock Issued During Period, Shares, New Issues", "terseLabel": "Issuance of stock (in shares)", "verboseLabel": "Number of shares issued" } } }, "localname": "StockIssuedDuringPeriodSharesNewIssues", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures": { "auth_ref": [ "r16", "r17", "r198", "r204" ], "lang": { "en-us": { "role": { "documentation": "Number of shares issued during the period related to Restricted Stock Awards, net of any shares forfeited.", "label": "Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures", "terseLabel": "RSU vested (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "auth_ref": [ "r16", "r17", "r198", "r204", "r257" ], "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": "Options exercised", "terseLabel": "Common stock issued upon exercise of stock options (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities": { "auth_ref": [ "r42", "r198", "r204" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The gross value of stock issued during the period upon the conversion of convertible securities.", "label": "Stock Issued During Period, Value, Conversion of Convertible Securities", "terseLabel": "Conversion of Series A preferred stock to common stock in connection with initial public offering" } } }, "localname": "StockIssuedDuringPeriodValueConversionOfConvertibleSecurities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockIssuedDuringPeriodValueNewIssues": { "auth_ref": [ "r16", "r17", "r198", "r204" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Equity impact of the value of new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering.", "label": "Stock Issued During Period, Value, New Issues", "terseLabel": "Issuance of stock", "verboseLabel": "Purchase price" } } }, "localname": "StockIssuedDuringPeriodValueNewIssues", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": { "auth_ref": [ "r42", "r198", "r204" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value of stock issued as a result of the exercise of stock options.", "label": "Stock Issued During Period, Value, Stock Options Exercised", "terseLabel": "Common stock issued upon exercise of stock options" } } }, "localname": "StockIssuedDuringPeriodValueStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockIssuedDuringPeriodValueTreasuryStockReissued": { "auth_ref": [ "r16", "r17", "r198", "r204", "r206" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value of treasury shares or units reissued. Excludes reissuance of shares or units in treasury for award under share-based payment arrangement.", "label": "Stock Issued During Period, Value, Treasury Stock Reissued", "terseLabel": "Treasury stock, shares reissued" } } }, "localname": "StockIssuedDuringPeriodValueTreasuryStockReissued", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquity": { "auth_ref": [ "r17", "r22", "r23", "r87", "r161", "r162", "r340" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.", "label": "Stockholders' Equity Attributable to Parent", "periodEndLabel": "Balance", "periodStartLabel": "Balance", "totalLabel": "Total stockholders' equity" } } }, "localname": "StockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Stockholders' Equity Attributable to Parent [Abstract]", "terseLabel": "Stockholders' equity" } } }, "localname": "StockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_StockholdersEquityNoteDisclosureTextBlock": { "auth_ref": [ "r86", "r204", "r208" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for shareholders' equity comprised of portions attributable to the parent entity and noncontrolling interest, including other comprehensive income. Includes, but is not limited to, balances of common stock, preferred stock, additional paid-in capital, other capital and retained earnings, accumulated balance for each classification of other comprehensive income and amount of comprehensive income.", "label": "Stockholders' Equity Note Disclosure [Text Block]", "terseLabel": "Stockholders' Equity" } } }, "localname": "StockholdersEquityNoteDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquity" ], "xbrltype": "textBlockItemType" }, "us-gaap_StockholdersEquityNoteStockSplitConversionRatio1": { "auth_ref": [ "r205" ], "lang": { "en-us": { "role": { "documentation": "Ratio applied to the conversion of stock split, for example but not limited to, one share converted to two or two shares converted to one.", "label": "Stockholders' Equity Note, Stock Split, Conversion Ratio", "terseLabel": "Stock split, conversion ratio" } } }, "localname": "StockholdersEquityNoteStockSplitConversionRatio1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBasisOfPresentationAndSummaryOfSignificantAccountingPoliciesDetails" ], "xbrltype": "pureItemType" }, "us-gaap_SubsequentEventLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent event.", "label": "Subsequent Event [Line Items]" } } }, "localname": "SubsequentEventLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventMember": { "auth_ref": [ "r348", "r362" ], "lang": { "en-us": { "role": { "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued.", "label": "Subsequent Event [Member]", "terseLabel": "Subsequent Event" } } }, "localname": "SubsequentEventMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SubsequentEventTable": { "auth_ref": [ "r348", "r362" ], "lang": { "en-us": { "role": { "documentation": "Discloses pertinent information about one or more significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued.", "label": "Subsequent Event [Table]" } } }, "localname": "SubsequentEventTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventTypeAxis": { "auth_ref": [ "r348", "r362" ], "lang": { "en-us": { "role": { "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued.", "label": "Subsequent Event Type [Axis]" } } }, "localname": "SubsequentEventTypeAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventTypeDomain": { "auth_ref": [ "r348", "r362" ], "lang": { "en-us": { "role": { "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued.", "label": "Subsequent Event Type [Domain]", "terseLabel": "Subsequent Event Type [Domain]" } } }, "localname": "SubsequentEventTypeDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SubsequentEventsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Subsequent Events" } } }, "localname": "SubsequentEventsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventsTextBlock": { "auth_ref": [ "r361", "r364" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.", "label": "Subsequent Events [Text Block]", "terseLabel": "Subsequent Events" } } }, "localname": "SubsequentEventsTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureSubsequentEvents" ], "xbrltype": "textBlockItemType" }, "us-gaap_SubsidiarySaleOfStockAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by type of sale of the entity's stock.", "label": "Sale of Stock [Axis]" } } }, "localname": "SubsidiarySaleOfStockAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_SupplementalCashFlowInformationAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Supplemental Cash Flow Information [Abstract]", "terseLabel": "Supplemental cash flow information:" } } }, "localname": "SupplementalCashFlowInformationAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_TaxesPayableCurrent": { "auth_ref": [ "r34" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 4.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 for statutory income, sales, use, payroll, excise, real, property and other taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Taxes Payable, Current", "terseLabel": "Income tax liabilities" } } }, "localname": "TaxesPayableCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_TrademarksAndTradeNamesMember": { "auth_ref": [ "r311" ], "lang": { "en-us": { "role": { "documentation": "Rights acquired through registration of a trademark to gain or protect exclusive use of a business name, symbol or other device or style, or rights either acquired through registration of a business name to gain or protect exclusive use thereof.", "label": "Trademarks And Trade Names [Member]", "terseLabel": "Trademarks and brands" } } }, "localname": "TrademarksAndTradeNamesMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails", "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsWeightedAverageRemainingUsefulLifeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TreasuryStockCommonMember": { "auth_ref": [ "r206" ], "lang": { "en-us": { "role": { "documentation": "Previously issued common shares repurchased by the issuing entity and held in treasury.", "label": "Treasury Stock Common [Member]", "terseLabel": "Treasury Stock" } } }, "localname": "TreasuryStockCommonMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_TreasuryStockCommonShares": { "auth_ref": [ "r206" ], "lang": { "en-us": { "role": { "documentation": "Number of previously issued common shares repurchased by the issuing entity and held in treasury.", "label": "Treasury Stock, Common, Shares", "terseLabel": "Treasury stock, shares" } } }, "localname": "TreasuryStockCommonShares", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_TreasuryStockCommonValue": { "auth_ref": [ "r43", "r206", "r207" ], "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_StockholdersEquity", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount allocated to previously issued common shares repurchased by the issuing entity and held in treasury.", "label": "Treasury Stock, Common, Value", "negatedLabel": "Treasury stock, at cost, zero shares and 15,146 shares as of June 30, 2021 and December 31, 2020, respectively" } } }, "localname": "TreasuryStockCommonValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_UnbilledReceivablesCurrent": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount received for services rendered and products shipped, but not yet billed, for non-contractual agreements due within one year or the normal operating cycle, if longer.", "label": "Unbilled Receivables, Current", "terseLabel": "Unbilled receivable" } } }, "localname": "UnbilledReceivablesCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureRevenueDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_UseOfEstimates": { "auth_ref": [ "r123", "r124", "r125", "r126", "r127", "r128", "r129" ], "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 and Judgments in the Preparation of the Condensed Consolidated Financial Statements" } } }, "localname": "UseOfEstimates", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureBasisOfPresentationAndSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_VariableRateAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by type of variable rate.", "label": "Variable Rate [Axis]" } } }, "localname": "VariableRateAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "stringItemType" }, "us-gaap_VariableRateDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index.", "label": "Variable Rate [Domain]", "terseLabel": "Variable Rate [Domain]" } } }, "localname": "VariableRateDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "xbrltype": "domainItemType" }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "auth_ref": [ "r107", "r115" ], "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", "verboseLabel": "Weighted-average dilutive shares outstanding" } } }, "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureLossEarningsPerShareDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Diluted [Abstract]", "terseLabel": "Weighted-average common stock outstanding:", "verboseLabel": "Denominator:" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureLossEarningsPerShareDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome" ], "xbrltype": "stringItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "auth_ref": [ "r106", "r115" ], "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", "verboseLabel": "Weighted-average common shares outstanding" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.doubleverify.com/role/DisclosureLossEarningsPerShareDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveLossIncome" ], "xbrltype": "sharesItemType" } }, "unitCount": 8 } }, "std_ref": { "r0": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "205", "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721683-107760" }, "r1": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "205", "URI": "http://asc.fasb.org/topic&trid=2122149" }, "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=120391452&loc=d3e13212-122682" }, "r100": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22583-107794" }, "r101": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22595-107794" }, "r102": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22644-107794" }, "r103": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22644-107794" }, "r104": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22658-107794" }, "r105": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22663-107794" }, "r106": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1448-109256" }, "r107": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1505-109256" }, "r108": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1252-109256" }, "r109": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1707-109256" }, "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=120391452&loc=d3e13212-122682" }, "r110": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1757-109256" }, "r111": { "Name": "Accounting Standards Codification", "Paragraph": "28A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1500-109256" }, "r112": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=SL5780133-109256" }, "r113": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=SL5780133-109256" }, "r114": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1337-109256" }, "r115": { "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" }, "r116": { "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" }, "r117": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3630-109257" }, "r118": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=109243012&loc=SL65017193-207537" }, "r119": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=120380238&loc=d3e3842-109258" }, "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=120391452&loc=d3e13212-122682" }, "r120": { "Name": "Accounting Standards Codification", "Paragraph": "52", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=120380238&loc=d3e4984-109258" }, "r121": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "260", "URI": "http://asc.fasb.org/topic&trid=2144383" }, "r122": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "272", "URI": "http://asc.fasb.org/extlink&oid=6828210&loc=d3e70191-108054" }, "r123": { "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" }, "r124": { "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" }, "r125": { "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" }, "r126": { "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" }, "r127": { "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" }, "r128": { "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" }, "r129": { "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" }, "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=120391452&loc=d3e13212-122682" }, "r130": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8657-108599" }, "r131": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8672-108599" }, "r132": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8721-108599" }, "r133": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8721-108599" }, "r134": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r135": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r136": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r137": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r138": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r139": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "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=120391452&loc=d3e13212-122682" }, "r140": { "Name": "Accounting Standards Codification", "Paragraph": "26", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8844-108599" }, "r141": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599" }, "r142": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599" }, "r143": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599" }, "r144": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599" }, "r145": { "Name": "Accounting Standards Codification", "Paragraph": "31", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8924-108599" }, "r146": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599" }, "r147": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599" }, "r148": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599" }, "r149": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599" }, "r15": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(27))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r150": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599" }, "r151": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599" }, "r152": { "Name": "Accounting Standards Codification", "Paragraph": "34", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8981-108599" }, "r153": { "Name": "Accounting Standards Codification", "Paragraph": "40", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9031-108599" }, "r154": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9038-108599" }, "r155": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9038-108599" }, "r156": { "Name": "Accounting Standards Codification", "Paragraph": "42", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9054-108599" }, "r157": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "280", "URI": "http://asc.fasb.org/topic&trid=2134510" }, "r158": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=121593590&loc=d3e4428-111522" }, "r159": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=121593590&loc=d3e4531-111522" }, "r16": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(28))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r160": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=d3e5074-111524" }, "r161": { "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" }, "r162": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "323", "URI": "http://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571" }, "r163": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437" }, "r164": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121599878&loc=SL82895884-210446" }, "r165": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919249-210447" }, "r166": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121647567&loc=SL82921835-210448" }, "r167": { "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" }, "r168": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=120320667&loc=SL49117168-202975" }, "r169": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267" }, "r17": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(29))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r170": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=6388964&loc=d3e16212-109274" }, "r171": { "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" }, "r172": { "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" }, "r173": { "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" }, "r174": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "((a)(1),(b))", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r175": { "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" }, "r176": { "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" }, "r177": { "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" }, "r178": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(3)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r179": { "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" }, "r18": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(3))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r180": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16373-109275" }, "r181": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "350", "URI": "http://asc.fasb.org/topic&trid=2144416" }, "r182": { "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" }, "r183": { "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" }, "r184": { "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" }, "r185": { "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" }, "r186": { "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" }, "r187": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "360", "URI": "http://asc.fasb.org/topic&trid=2155823" }, "r188": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "410", "URI": "http://asc.fasb.org/extlink&oid=6392676&loc=d3e7480-110848" }, "r189": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=6394232&loc=d3e17558-110866" }, "r19": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(1))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r190": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "440", "URI": "http://asc.fasb.org/extlink&oid=121559207&loc=d3e25336-109308" }, "r191": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "440", "URI": "http://asc.fasb.org/extlink&oid=121559207&loc=d3e25336-109308" }, "r192": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "440", "URI": "http://asc.fasb.org/topic&trid=2144648" }, "r193": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14326-108349" }, "r194": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14615-108349" }, "r195": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "450", "URI": "http://asc.fasb.org/topic&trid=2127136" }, "r196": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=120520924&loc=SL6031897-161870" }, "r197": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "470", "URI": "http://asc.fasb.org/topic&trid=2208564" }, "r198": { "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" }, "r199": { "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" }, "r2": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765" }, "r20": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(3))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r200": { "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" }, "r201": { "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" }, "r202": { "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" }, "r203": { "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" }, "r204": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.3-04)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770" }, "r205": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 4.C)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=120397183&loc=d3e187143-122770" }, "r206": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=6405813&loc=d3e23239-112655" }, "r207": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=6405834&loc=d3e23315-112656" }, "r208": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "505", "URI": "http://asc.fasb.org/topic&trid=2208762" }, "r209": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130551-203045" }, "r21": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(4))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r210": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130554-203045" }, "r211": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130554-203045" }, "r212": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130554-203045" }, "r213": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130554-203045" }, "r214": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130554-203045" }, "r215": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130556-203045" }, "r216": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130558-203045" }, "r217": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130543-203045" }, "r218": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130545-203045" }, "r219": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130550-203045" }, "r22": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r220": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046" }, "r221": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046" }, "r222": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046" }, "r223": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046" }, "r224": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046" }, "r225": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046" }, "r226": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046" }, "r227": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "606", "URI": "http://asc.fasb.org/topic&trid=49130388" }, "r228": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=109237824&loc=d3e1703-114919" }, "r229": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=109237824&loc=d3e1731-114919" }, "r23": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(31))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r230": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r231": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(i)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r232": { "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" }, "r233": { "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" }, "r234": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r235": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(A)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r236": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(B)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r237": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(C)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r238": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(03)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r239": { "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" }, "r24": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(32))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r240": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(a)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947" }, "r241": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(d)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947" }, "r242": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(f)(3)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947" }, "r243": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(a)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450673-114947" }, "r244": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "55", "SubTopic": "80", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=35742348&loc=SL14450788-114948" }, "r245": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121326096&loc=d3e4534-113899" }, "r246": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901" }, "r247": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901" }, "r248": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901" }, "r249": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r25": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(4)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r250": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r251": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(3)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r252": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a),(g)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r253": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r254": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r255": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)-(ii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r256": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r257": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r258": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(3)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r259": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(i)-(ii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r26": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(7))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r260": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r261": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r262": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r263": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r264": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r265": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r266": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r267": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r268": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r269": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(i)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r27": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(8))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r270": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r271": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r272": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(1)(i)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r273": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(i)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r274": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r275": { "Name": "Accounting Standards Codification", "Paragraph": "2A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=SL79508275-113901" }, "r276": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r277": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r278": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r279": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(g)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r28": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.1)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r280": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 14.D.2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=115993241&loc=d3e301413-122809" }, "r281": { "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" }, "r282": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120383193&loc=d3e11149-113907" }, "r283": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120383193&loc=d3e11178-113907" }, "r284": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "718", "URI": "http://asc.fasb.org/topic&trid=2228938" }, "r285": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "720", "URI": "http://asc.fasb.org/extlink&oid=6419918&loc=d3e35281-107843" }, "r286": { "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" }, "r287": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=120406818&loc=d3e31917-109318" }, "r288": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=120406818&loc=d3e31931-109318" }, "r289": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32672-109319" }, "r29": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.13)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r290": { "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" }, "r291": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32705-109319" }, "r292": { "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" }, "r293": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32857-109319" }, "r294": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32639-109319" }, "r295": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "740" }, "r296": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(3)", "Topic": "740" }, "r297": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 6.I.5.Q1)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817" }, "r298": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 6.I.7)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817" }, "r299": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.7)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817" }, "r3": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765" }, "r30": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.14)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r300": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.1)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817" }, "r301": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.2)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817" }, "r302": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.4)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817" }, "r303": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.C)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330215-122817" }, "r304": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=120385591&loc=d3e38679-109324" }, "r305": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "270", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=6424409&loc=d3e44925-109338" }, "r306": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=6424122&loc=d3e41874-109331" }, "r307": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "740", "URI": "http://asc.fasb.org/topic&trid=2144680" }, "r308": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463" }, "r309": { "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" }, "r31": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.17)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r310": { "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" }, "r311": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=121598580&loc=d3e5263-128473" }, "r312": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=121598580&loc=d3e5333-128473" }, "r313": { "Name": "Accounting Standards Codification", "Paragraph": "38", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=121598580&loc=d3e5504-128473" }, "r314": { "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" }, "r315": { "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" }, "r316": { "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" }, "r317": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)(1)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=120321790&loc=d3e6927-128479" }, "r318": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(c)(1)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=120321790&loc=d3e6927-128479" }, "r319": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=120321790&loc=d3e7008-128479" }, "r32": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(a))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r320": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "805", "URI": "http://asc.fasb.org/topic&trid=2303972" }, "r321": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988" }, "r322": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988" }, "r323": { "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" }, "r324": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bb)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=121559654&loc=d3e5710-111685" }, "r325": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=121559654&loc=d3e5710-111685" }, "r326": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "810", "URI": "http://asc.fasb.org/topic&trid=2197479" }, "r327": { "Name": "Accounting Standards Codification", "Paragraph": "4A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5618551-113959" }, "r328": { "Name": "Accounting Standards Codification", "Paragraph": "4B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5624163-113959" }, "r329": { "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" }, "r33": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(b),22(b))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r330": { "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" }, "r331": { "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" }, "r332": { "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" }, "r333": { "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" }, "r334": { "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" }, "r335": { "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" }, "r336": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r337": { "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" }, "r338": { "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" }, "r339": { "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" }, "r34": { "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=120391452&loc=d3e13212-122682" }, "r340": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=75031198&loc=d3e14064-108612" }, "r341": { "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" }, "r342": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32136-110900" }, "r343": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r344": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r345": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(c)", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r346": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r347": { "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" }, "r348": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=6450520&loc=d3e32618-110901" }, "r349": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "835", "URI": "http://asc.fasb.org/extlink&oid=6450988&loc=d3e26243-108391" }, "r35": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19-26)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r350": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "835", "URI": "http://asc.fasb.org/extlink&oid=119993939&loc=d3e28541-108399" }, "r351": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "835", "URI": "http://asc.fasb.org/extlink&oid=119993939&loc=d3e28551-108399" }, "r352": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "835", "URI": "http://asc.fasb.org/extlink&oid=119993939&loc=d3e28555-108399" }, "r353": { "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" }, "r354": { "Name": "Accounting Standards Codification", "Paragraph": "40", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(Note 2)", "Topic": "840", "URI": "http://asc.fasb.org/extlink&oid=121580752&loc=d3e38371-112697" }, "r355": { "Name": "Accounting Standards Codification", "Paragraph": "40", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(Note 3)", "Topic": "840", "URI": "http://asc.fasb.org/extlink&oid=121580752&loc=d3e38371-112697" }, "r356": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "840", "URI": "http://asc.fasb.org/extlink&oid=121573735&loc=d3e41502-112717" }, "r357": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "840", "URI": "http://asc.fasb.org/extlink&oid=121573735&loc=d3e41502-112717" }, "r358": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "840", "URI": "http://asc.fasb.org/extlink&oid=121569800&loc=d3e45014-112735" }, "r359": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "840", "URI": "http://asc.fasb.org/extlink&oid=121569800&loc=d3e45023-112735" }, "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=120391452&loc=d3e13212-122682" }, "r360": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "840", "URI": "http://asc.fasb.org/extlink&oid=121616839&loc=d3e45280-112737" }, "r361": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "855", "URI": "http://asc.fasb.org/extlink&oid=6842918&loc=SL6314017-165662" }, "r362": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "855", "URI": "http://asc.fasb.org/extlink&oid=6842918&loc=SL6314017-165662" }, "r363": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "855", "URI": "http://asc.fasb.org/extlink&oid=6842918&loc=SL6314020-165662" }, "r364": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "855", "URI": "http://asc.fasb.org/topic&trid=2122774" }, "r365": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r366": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r367": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r368": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r369": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "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=120391452&loc=d3e13212-122682" }, "r370": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r371": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719" }, "r372": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719" }, "r373": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719" }, "r374": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "910", "URI": "http://asc.fasb.org/extlink&oid=119991564&loc=SL119991595-234733" }, "r375": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.L)", "Topic": "924", "URI": "http://asc.fasb.org/extlink&oid=6472922&loc=d3e499488-122856" }, "r376": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "926", "URI": "http://asc.fasb.org/extlink&oid=120154696&loc=d3e54445-107959" }, "r377": { "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" }, "r378": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(1)(a))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r379": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(10)(1))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r38": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.22)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r380": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(11))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r381": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(16))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r382": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(23))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r383": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03.17)", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r384": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(22))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r385": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(26))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r386": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(27))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r387": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04.10)", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r388": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04.9)", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r389": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.9-05(b)(1))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884" }, "r39": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.24)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r390": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.9-05(b)(2))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884" }, "r391": { "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" }, "r392": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(12))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r393": { "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=120400017&loc=d3e572229-122910" }, "r394": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(2))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r395": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r396": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r397": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(25))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r398": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(8))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r399": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03.(a),19)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r4": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765" }, "r40": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.25)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r400": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(18))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r401": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(22))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r402": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(23))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r403": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(9))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r404": { "Name": "Accounting Standards Codification", "Paragraph": "7A", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(d)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121643868&loc=SL117782755-158439" }, "r405": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(c)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121639165&loc=SL117783719-158441" }, "r406": { "Name": "Accounting Standards Codification", "Paragraph": "29F", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121639165&loc=SL117819544-158441" }, "r407": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r408": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(1)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r409": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(2)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r41": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.29-30)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r410": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(i)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r411": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(ii)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r412": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(h)(2)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r413": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Subparagraph": "(d)", "Topic": "958", "URI": "http://asc.fasb.org/extlink&oid=120429125&loc=d3e99779-112916" }, "r414": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Topic": "958", "URI": "http://asc.fasb.org/extlink&oid=120429125&loc=d3e99893-112916" }, "r415": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Topic": "958", "URI": "http://asc.fasb.org/extlink&oid=120429125&loc=SL120174063-112916" }, "r416": { "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" }, "r417": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b" }, "r418": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "d1-1" }, "r419": { "Name": "Form 10-Q", "Number": "240", "Publisher": "SEC", "Section": "308", "Subsection": "a" }, "r42": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.29-31)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r420": { "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Publisher": "SEC", "Section": "13", "Subsection": "a-1" }, "r421": { "Name": "Regulation 12B", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b-2" }, "r422": { "Name": "Regulation S-T", "Number": "232", "Publisher": "SEC", "Section": "405" }, "r423": { "Name": "Securities Act", "Number": "7A", "Publisher": "SEC", "Section": "B", "Subsection": "2" }, "r43": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.30)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r44": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.9)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r45": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=99393222&loc=SL20226024-175313" }, "r46": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669646-108580" }, "r47": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669646-108580" }, "r48": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=d3e637-108580" }, "r49": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=d3e681-108580" }, "r5": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6801-107765" }, "r50": { "Name": "Accounting Standards Codification", "Paragraph": "14A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669686-108580" }, "r51": { "Name": "Accounting Standards Codification", "Paragraph": "17B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL34724394-108580" }, "r52": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669619-108580" }, "r53": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669619-108580" }, "r54": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669625-108580" }, "r55": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669625-108580" }, "r56": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=d3e557-108580" }, "r57": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(210.5-03(11))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r58": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(20))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r59": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(24))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r6": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6904-107765" }, "r60": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(25))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r61": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(4))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r62": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(5))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r63": { "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=120395209&loc=SL114868664-224227" }, "r64": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.4)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r65": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.9)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r66": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3213-108585" }, "r67": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3213-108585" }, "r68": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3255-108585" }, "r69": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3291-108585" }, "r7": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6911-107765" }, "r70": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3291-108585" }, "r71": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3291-108585" }, "r72": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3367-108585" }, "r73": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3521-108585" }, "r74": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3536-108585" }, "r75": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3536-108585" }, "r76": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3602-108585" }, "r77": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3602-108585" }, "r78": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3602-108585" }, "r79": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3044-108585" }, "r8": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6935-107765" }, "r80": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121583591&loc=d3e4297-108586" }, "r81": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121583591&loc=d3e4304-108586" }, "r82": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121583591&loc=d3e4313-108586" }, "r83": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121583591&loc=d3e4332-108586" }, "r84": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121583591&loc=SL98516268-108586" }, "r85": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(d))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r86": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(e)(1))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r87": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r88": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r89": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(m)(1)(iii))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "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=120391452&loc=d3e13212-122682" }, "r90": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08.(e),(f))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r91": { "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=120395691&loc=d3e23780-122690" }, "r92": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "235", "URI": "http://asc.fasb.org/topic&trid=2122369" }, "r93": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=115929471&loc=d3e21914-107793" }, "r94": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=115929471&loc=d3e21930-107793" }, "r95": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=115929471&loc=d3e21711-107793" }, "r96": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794" }, "r97": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(3)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794" }, "r98": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22694-107794" }, "r99": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22694-107794" } }, "version": "2.1" } ZIP 76 0001558370-21-009628-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001558370-21-009628-xbrl.zip M4$L#!!0 ( )J(_5*_-EE',A #FQ 0 9'9H+3(P,C$P-C,P+GAS M9.U=7W/;-A)_OYG[#CB_-)VI_MF)4WN2=F1;3C0G6SI+2=M[Z4 D).%"@BH MVE8__2U 4J)$$B0E^1KF^)+(Q&)WL;\%N%@ Q+N?GUT'/1(NJ,?>GW2:[1-$ MF.79E,W?G_BB@85%ZO4P0+9G^2YA$EF<8$EL]$3E DV\ MY1(S=$CNS7A'6@YH[F4S\*^%-:"N!A)S.=$ MWF.7B"6VR/N3A93+RU;KZ>FI:7O^U"%@"3I;-2W/UNOTML;E:94 M),_6(KV2*DFI4 #J;9B?$ZT.NT[GXN*BI4O7#:96NBY0D*8*F:O!QF![A5@K M)%N;RO.9Y%F6"@K3^VA&-XI*4BH)N>09+8(2Y8$_;EKI<4C;SPD?P4.%^J?"9 M@.V0^O'IH6\6IM$< V\]7%][S"8,7D3P0W@.M17(5]A1^H\7A$AQ@B@X1YD* M:_4B!6TRHXSJQH!EVVW40&M^\/MZ>'_3NQ_W;M2O\7#0O^E.X(^K[J![?]U# MXX^]WF3\KK7+:E>*#TH-V4_Z]Y(3 Q8OK-'Q8UFV?7" MIQ%@+XWCNE0,9\,EX;I5HLN R 4++: "?20#3X@^!#PN*0)U:9YF;S@MZ@WC M"?QWU[N?C-'P%@U'O8?NI \$J'NO*.]&#[V/4*W_N8=>#8;C\?>H?P^/>[7? M'.8WUU@L;AWOJ= XD%[1[ &O]_. Z^[X([H=#'^I1X9C(?Q +(]9U*&ZC4'! M["#HLSGF^<2;PWP":FS+1MX,K:77'I/F,3=46(XG?$X^>)[]!%-8&-7[T' V MIT#>%0)>[F/?=3%? 90PW&.V&N\2W!")J1.ZS'%9FGP&/*9]"JAO),(?D5"$ MF8TV7%' 5GE8(%H[1R#\.X'HAA 'A*]"#;ZO'6=OQ^D)25TU4-SZ$BA[STMB MP5]=U^.2_JF;JI[!L%+>@\KSSG.EL]*NM-8!S;02B(1:(!Q30S\%/6J7*NI2 M(^Y!E"E7(YAA2,"^]X=/E^JED.$FN?1FZ,_;G5WH(XX_(,U3>\"::PUD42!O M,>6?L>.3.X+5WSI9&#T;,GA=^YQ3-K_"@F:]1?;B80;\;1)PQ1%IEB@F)RIX MU 70E3'BD3PT50)K7RCJ"_"R=:G4T:*>.3()1B00K9$LY O4,.+<.4OB'..I M._46UQK,(X 9)@C8? #]:!]L,QCD09V(!,U0-]!:#@H$U>@? ?UKO*02._MB MGUH]#_E$X):'?"BEQOUE<;^&9IX>"'[ XW_F >B5$HA.:U$Y M-N%"!*?+B//-2XZ]+ MI\8CV0T<"$<\DHY\+1XY(+]VG4,RJ0^>X\P\_H2Y/9RE$91)J19GEI=;321B M,G.K,9GJ;2T7!,TVZ58W)KMVE$,Z MPT8,BLFIH2\*_K-F%QP_B#&OT#D.OS-"Z!X<\G!.#:R;.6\,KK8?7 M8SG E8.M+V-KH4XXW!$N/3;4V:D1IQ9$NW>>39Q2_E"&89Y[).)V@WMHN8U0 M<".0C#PMNK$,9"-7":\]YC"/>2!"@CUUNAO*NRK\[5J2/E*Y*N4I11CE>$HD)81^XX%%G[Q6%^D?[4O$'N $YYGG%>PC."HJDNLN)%]=:W?5QC M:]7+A'PJH1G8E%1ZG-5W*&!6(U88,7\JR!\^-+KW:,BY9)&9T7J3@M::$0HX MU5#E0!4>W([^5QM$F00?C\7;(5I%*,V+T.T+M0@=,8C_U%M(-;=X=J.&[,"C MBB/,@6Y!)(4FECZWN%W;#&VGZ &5[4.,Z-66D+J3[K.WH-"F B-^G1*["6J( M7FX/P3$W#^0 _D*[!FKO*+17(&.30 YFV;L#:K.7WQ-09#- #B!%=P'4\.R] M]E]B23\'K)3I@GFEOD9MSY-HA8^@Y2!6]NQ9#5CYY>\B2]PY,!4^,5;C4WR- MVK0XG8-'[JITC8,9A^!#+1/\O O"IL",P$42@: J@KJU]?-Z@1 ]S-5V.#$B M?+S /!$OI](8,>FTDYB\4FR^1Q$C!)R09E5#M,\:3;'UEQR82FS/J%$JNUR2 MOTZ2@T[!!9(:F;W/"I8X$IB#5=D#WC5H.=V)S)7ED@LC)@HS1"GY@Y!'O0RR M_R)CWNIB#BA%EA5K2%XN"?X2R?!"27'UH=7$_OSC'*6+?M4+7,7RXQ,,5%E' MZ<)"$Y1G[91S[^N3= &#&HO]L[+I^.17,&-6_C-C-90'IFK3@JH3LTO9*.7WX%,XBE/[)4(WEP"!H5E3_ZOUO3A.WK\ML&X@3U[N.R M2VX9<";*S: 9%^!J5 Z)73(/3V>3&K$JM3!70W>$8U3!DB4.P-5VEII'<-%,J-6&!N);@D+D<# M)CHE ]%H*]+]!+6.U2HP:-E6;6/P%;;)P=.R;8(JQ/E*FP.=I6QS=OK7\1H5 M*DZEJGZ]D8*4&/$#PHZS:?F[UN[5;^&3[2OB] 5Q8 2/2\12[_+W6I;3Q6/WQU(GY;+#(KHXG&_5.HHB M\5L$BRBAJZB_UK<5*C7.E!IGG>)JI-]06E"!J(*2_*:DS*RK7=-$BZQ*ZD=C M4WM+A4SQQFMB,UJNI:=6;!%'BNA)0A=]'V21"W +*[U[D6DAA:-*@;+J4M9# M%0TO_]7Q%HRZO^O92_+S-IQC-M>45ZL-R0BO] E;]06)8$-5'WR8^\''G^6" M\,D"AU\^$='E/A/O,Q%RZ$OE[>JN9A@&IH2?:&.]/_DK%:".H])=[T^ !73? MX/VD+PV]%$JFZ$OBJI@*X/*G EX#ON+\@7O^,B*D0 (PZ-_P_J">/=%L;)^' M>W$.A6A Z!=Z1^)&VWZ4VHS@FN)+VU-?<"S<#@RE'"8V$:^7;->_X0]X'7S9 M;EKB:45;M]D5LL0\VA0RXI19%,(?=??>^G@SE.E]&*L)>997#DPQ(V,L02/NS3EVU=S4RFQU*E%%VS[V METMG-:8VN?:%]" HW&ZVH;RB+;Z))4;ZS&INMS>SM**MW;X+:#B;48N,5534 M9S> )JAIP3!VZW%"YVS;%/M5_2;L=(,EOH9BPLN:J6#-BEIIZX*9('0;SM9[ M=/3C[IR3X)/#D8'*5C)$@A0,.P?3?@UOR3N/D=4=YE^(O/69K1:%)]0E-V3I M"2K%MI,4):ZH7Z0>'GG#^PN4O/6TM60E@RV6:NU]?T,$N3=YN!VB+(0% M#^DC":KXW1J738-OI4&!61*C^#B7< )._1/8O=F,Z(6O3>[7L+/DUX1 M1F9*5FB1,C6^7>/ ,$:"5X /;X$P9MF^"K@1$:HCY*MX/(\+U M>CO8&N+.( K5*5R=S-V)5(L25W0< 5"YGJ>1X/\^FW!LDQ%>J=9 BW7F.@HR M]0FSP"[[5*QV=X(9/U'W=*N1$UKO:$0BS(5+=W29V)?0^>8PR!1--#*K5J!<&M"(0#^X'A@[#O,<+!"-'!V\J:Y M5!4=2(8NHU-?[,:3X'=J\\1.BJ@8;44M$>SWBXT!Z]QQ2D&UAT2( O0J +1@ MQ DTC(=7!P0% D1O]?T2]"_7X8\82'#O$6;.8-'/E'YJBN9'SU&+N&+07.[D MT8N15M3CH7$6(;:XY9X;S2_4^I_K1E<'$(BA2-]=@D+#V2=F$_[$JE2\3543M = =3P"L M7?L_O@@.!#T0!^L-$U$NJVO!ZT/0K5G+(0PJ'I&EI/C4$#/%UI?(*H9L8 KI MMV>/43 'A9AK.%,-OBIFFYQJE9CRIC<+!'5GDO"PL]Q _^@G7*'+HTF=V4;E MF1D\+&KYUVJ\R0+F_NH#7K'T@,X*W(1130&_*L.CVN-Z2N.C=0:UL0X:P.0M MO,[VM^6>["JRH&%RGN1"31G7,];^9ITNV>H)!^$+4L3%C)6KZU!=5WV!*:UY MT(_"%AJL4[#Z-^=2>8/,NJ>MO\/$YRH)6"3J.(QQM4V]]];K8.$BRD[W69"F M[_IRX7&UG-$5\7@NMO,ZG&=J\H,W@!]+BTH$ET?>)A]ND5<;XXG=#T-+O0;_ M 3A*%5BN/]7S0COU2ZI0[;3#'H-/F(6(VSJ>Z#PJQVJ/8WN88M<&P8((N-\] MD<$:K#KI?X"M"POXYOSZEG(APV@DF,S')Z>Y6_ *5J]H%C>EP6-B>WV!% MZU?48A.N-R&N='+Z@5 A8 C[M-2;Z\+E#'U )K;0,?%B^>SUFN#A?"K458.# MQ\$9PY_^"U!+ P04 " ":B/U2GN#3'@T1 "3 @$ % &1V:"TR,#(Q M,#8S,%]C86PN>&UL[5UM<^(X$OY^5?N*[I\@U"3GYZ<>__^W+/TY/_[@>/!ACQ_3G MV/8,DV+DX;'Q2KR9,7(6"V0;CYA28EG&-27C*3:,J[/+L_:G>OVLV:XW6\;I M:2CI&KE0T[$-+K)Q5E_]S/1ON\<77>J#7JQM7G6O-SZ]+H/ZX*/D(O M)R2SI$7LOYZA-0.0VN[7DYGG+3Z?G[^^OIZ]/5/KS*%3J%AKGD<%3X*2G]]< MDBC]VHS*UL__>'P8FC,\1Z?$=CUDF^^UF)AM]>I75U?G_%X(G!._#96R[PUQ.7 MS!<6ZSC_;D;QY.O)^&5VRM18NVS66/7OAAY8@YG[QK''V :KP1^N8Y$QL](U MLACXX0QCSSTQ6"N_#NX38,:._VQAH!B9+,],9W[."ITKB3T_*(;5KVYOTEM@ MRNWA=FPH-%]0/(,*Y 4_.*Y[#T_&'.\/IGK+'Z>)&^3.[BSG=8]6%8@O -, MFXYM$HMPC0<_3#X ;$J[NVKAEKBFY;@^Q3\[SO@5QF#@T;T-8].40.<[K@N/ MTM"?SQ%=0L- ,&0OA^L%;K&'B*6DACTW_"%ZZ+H>F3,KW?D>E.R^+; )GSIS MAWKD?]PX[#NPZ:$4DJ,'^]-,GSHPVGC+/HRR'G2N^U^?+!A7=T*;+75_".X0 MH;\AR\>/&+'/K)G5=ST;GC,?_!!["FX&V8W4^5K:'U)X8.;$XP,)GQAL#QH# M%XW@W7#)R/T0%.'$9T\?0,&' R5JYD,PWJ %\9!U6(3;&RD,WPVRS,:'@ Q; M"I&:\,FW^ CZ +A"=*R%?;NE<5WB-P]#C?'J6^*Q!F&M4*L9I\9*+OQ]TWNZ M[3X-N[?LKV'OX?ZV,X(/UYV'SM--UQC^TNV.AH';#G LQTPT9+$%@T.35@MQ M\57!!+G/?&D J[-MN7S?JGJU;CHG[QJ7W1_!1# M$F-,AR9!(6I&[<"?&R1*+L/"$NB86\0AFH:>AYYA_S1P+.NXRM-Y20(#L:D6 D>[^ M9L'RD576,G&R2N+292KRYTSI.)AA$WO$P:J4[13#4-R;P/)4/#NI2"D?#21- MNG76VAFY&E&:Q1!EP*+B-AYW$;5A0'9CP&_QA)A$Y+ED5ZP0'7*"57-E"F) M9SPF0;_ZX)G?V^&FB6A(V%ZZ0K960:CFI11D8+9!YMA<'ZENZ5JQ!.#+6KOY MZ4)7DTI!4XO-%63+$>4'"Y8<2P KS::BXA6RK1+$S%#?:1F.]A)9JFYL;5SF\S8OP*T6)7SI61,6W+G4[96J (+%-%I,5QL M[/S'\DC6JH*Q\T#4(@@[;(-+B8D?EL9]9+JJ3>;C4:VED]'T@M MCDD\./9TA.G\%C][F<;>7K@*%E9 IL5!BY@&TK=N-PM6PIQRJ+1863ZJ@T6Y=7NEJ8#6, M6OCIT;E"J<=W>^%J&5@68$[7_1\(YE0_:.Y7 $_SUV MGT9#HW=G]/K=06=T#P6,SA,K^=@?='^!:O>_=8WO'WK#X0_&_1-\W2WB-N:6 M\TD99[M2:Q2V6A.>HID@<'K4-*B%\Q*I*YT_:Z6^$2:;,#(JRQQP M2C&3]I*43_%RMY3\1A6)L452;5J$RV\QK"3,(!TEZ"F>?E!XKDE8HWSLD;75 MMK--:C#U<+-_AH4"12P?96<\)S9Q/::>EPQ_)*-6E!ZH>\\(06R!S"L@> M$?T+,^VD6UUD+,;$[=*RQP.+B"E4RMR)*/:Z3 M#8"XMH\CEY@BT_N=>+,;W_5 .W25N8PE^(!_8_&N20Y)56+'ON!KN0,;R\$O MMM,9_F+L 'K,D#W% ]!(=S+!IOA8V<=VHH@Q*6B[-XGWIV?OA%R@S0.T M5+XQK1C>QL?&CU*S%I%7EN$,L/2I\T)@;+Q>_NJRBT]WQ$:VR28($Y:):5>! MY05\X^+6/>Q=M*?%7M$ +] RG)K9U1N>96WK*5VA+RYM4!.R^N ;$K,'3Q1[.XF ,=+UCX PN^E"BQ%F M&\3>I$]AJ/9PWT(F]^L5N+)9.:F#?= M[ANF)G&Q*)Z46>_(N"&O RTN8?2#Z?3.H5E7Q^2=XIUD'@.=]JX?/>*;_97K M]HCI%-,!YHD962S756:7K)3CX=-.&LD,=9:"07'W/Y[/0&+I%"]^!)Q0@AX: MOUUNX[_3G,_!D9/&:9XY5FQ6.0(2*,,/B?"IW$00Z"DX]+5#U&Z+@/*1I+11 M.UGMZ;%:"I^.&+/S<1CR@:X_!J>/3.)7$^VEPRRL>= M'2WW3H7]Z4-M\[)5V("SRYW72IE>'J\6(?U-%D=WG\*T?=E)JE5$' $Q=E:' M%FZK .7-CJ39K'^\C)'4A1;!_TV(F_F'I)FR6?4H22*I!BU2-V4.FLDWQ:K. M0$'MHV2)O"84 _,%O>YF$V'X MDHF_C6%\E*$T=&6%)[[7;KLEY]'N56C&+( MOS2TVGQ+KI0F(Y$B1_Q>&U'Q(^"2$O3(^+)[405-B\,9HO@:\5N"[ AL M+@4Y,O*';@O'LQ(%MYS2CKI)U*BP-?.BCPQ;[OAK/%T5_&UQOJHG]!)5K3 O M=E9#1)!ROSB+*\J%CMTY]-;QG[V);T7Q'?%]'F&5(R"$,OR(".)(Z0&F@."2 M47@SD8UB6P;]C3+)[E^U6[7+JEA/'F]D+G'[)7.!&LD^&,[$>.^%;JE>!(/@CC*+>?$9[]5:7SKP@%&ZA"?B-V3Y(O=> MJF[YAH^]6#[Y>K2\>M BF\F&AJQJ1T",7"K(>9+P$#/-+7%-RW%]BEE* MO%=B63P]LH?L*6''7OD^\)!IEBY9W'N^0/9RN%[@%GN(6')3#4PTM09,%N\M MPX>H<0/98^-=NA&(9Q-3T 4^IP2=^*=KD/>"*"CX?=B3'XJ8;^Z(#5:WB/!!CU&UNZ+H>F3,^W_D>E&0Q47.-W6&<5'62:"I/$JN^ M&!/>&0.'O3%0K#O\6^C/M\GBX)/%)@DZ$P_3?V-$[Z!"CEDC0V+%AXU<\+58 M@:B!WBN!CI<[,K0I][YU#KR.3_='&Q!VI+01(=?BMI,ZWA$TO[_AADL[3N*( MH6MQ\2D'X%=G?[QY=8Z4-0+@6ER&4H/[!$NBT2NV7O"C8WNS' MH":''QR(I M#>1\;4.9Z33 35D'ES MJHC0CC"ACEJXYK)67P_71)+_97#9/&JSDEYL\$4(6AQZ2:]2T!&>[3U*B[NF M5RK?TRMCJ;53.JKXM(B/Q#8.9$ZFJ28=VY=X_0ET4$WD?37D8:> .T0H/\#P MB!'[S%,,1]_U[ %F=\V)/;U&+E'^ ^.;2"#1NT: MSZSA8F<,^7MCJTM@.]_EBTDJ]Y7'54?#%"?[0QX*+-^PL@,?\EU'E%*)%E-9 M#LSO^2[V1ZUWF=_8):V54NY. [PY"=[9S@Y@10A-@M5FJWIS<[:*R>8+F(3T M8J>DS7Q!Z<-O2OE]W#T*I/\&FG5HE+9U>X>RBB>9UVA?-(H^-IBIZM6-(E58 M:B-VO;#%!_61=>?0$7K#+D_W,)HA>W7K48IZ4@(TM?V>@&JQYQHJY-JQH9-R M8TZR;!5L+(5)B[W0$,X068C*SB%KA:MA4!E06NQ1]K'M!I$*/O[T'==C%Y:# MA?8MGH!/. XOJ+.PA2N=Y'-WP9HSY4 *R+F+69A7O;J&QU^=J>QD;YS^3W>R M3XU5>T;08+%^]QKZX-SK([')W)]'+M^M\$:5=.U"DJ+)=>[>9L=_V#Z7:*10 M%U2^D4'1SHF$:/N!KT4X1QHK/_FS%]*\2SI.UF3@UV(5(0_VU=D/:4(Y1TJ9 M-/1:K%-DH*H<=LDM+ZG"9KO5KCB!Y+60&W.6X*,:0'(IHR(+HMA;6"Q_S*YL[LPMLG+.>OO,W3MQ_\#4$L#!!0 ( )J(_5*Q:&VTGB@ /?1 @ 4 9'9H M+3(P,C$P-C,P7V1E9BYX;6SM75F3X[B1?M^(_0_:\H/MB*VNN]3=,6V'ZNI1 MK*JD5:E[['V9H$A(@ILB-2!9AW_] J0HD1( @G=2S0A[6B7AR,PO<64F$K_\ M_6UI=EX0<;!M?3DZ^W!ZU$&6;AO8FG\Y\IQCS=$Q/OK[W_[S/W[YK^/C?]R, M!QW#UKTELMR.3I#F(J/SBMU%9V*O5IK5>42$8-/LW!!LS%&G\^G#]8?NQ[.S M#Q?=LXO+SO'QNJ4;S:$U;:OC-WG^X6SSR^VZ5=OZW.F>G'\Z.3\]/^M\^GQZ M\?GRNC-ZW!1\I%3.<&))$UL_/K/_3&F7'S3Y\^G?B_ M;HK2AK"DZ0C;F_*&NZD0+7QU$OQX1 7=Z?Q";!.-T:SC=_?9?5^A+T<.7JY, MUI;_W8*@V93L\R;FW+I9I( M-1(CYPZY&C:=HP[KYMNX'V/!L+VIB:@BX]G[!]U>GK!")^G:]=E5DOE)3GZ? M7:KBC!A*B($L.A3H!\=@"SGY]%[>8AT\CBFUEH=R M<;7;1AU\A,*D,\L46_ZBD \J:8-U:<#QE[29?_]>;= +DD4TC$PB?V&\'Q!9YL>95N;TXZ6&K;H&O3-03// M'.!9OA%13,]UR&Q$[!4B[OO(U"R7DL]6GQ6;CG/)([G5.GA]T##YKID>>D0: M^YL1M/EN:(V1[M'MLS6GNV.<;PAEZPF*3,:V:."FZA"*E MGF%@MDIH9M^BI"_]):-PP".( NGEMEZL/J"9YIEN M.0H1MAVEF'Z)+7^S-:!_QKI%;RZR#&2$'3-2BYXRL,O:/#T]_73:.>Z$5:(? M-E<#A+1K/FX/+LX/6/$;QJF?T3:]IF)M=[YR[K]OV:8 MT_/PGM/=D"P+2O$IPW33%!/%\.GN_NGY_HY]>AX.^G>]"?WC>4+_>;Q_FCQW MA@_TK^'M__PZ'-S=CY__W+G_WV_]R3]3",<7#=-N6X^1:3)OH$VXH\AO:J8Y M4[\]SSF>:]J*N2A/3Y#I.N$W; T[/3X]6[O__K3^^O<-BQ-MNAVGIC9%IN^8 MY18ZJ9/0 $>V3;8M7^G?L)-$-[_.AHVM,O9(G"$ZRX5MKR>\C/.X3:@.?CDZ M"UN;$7LI%O":!%N9%<^AA-FKX.!9#T [A-W%=@<[P C*E@3(_KY"$0V9JD7! M$;!S"*#\?GW1O;XX^_CI\OSJK'O5O;H^KP*G<+FO B@NBP"P8XOOVC+P&-N] M[N#&*5<60/$]KQPI%0>'0#T#Z(]H6(F1MKY("P"]:*0;G.3'@LP A@GQ M703O/EV!IDBQD)2O%)"+G(!(^ " RM;(/=*PT;=NM15V-5.*3$*=2M&YS(E. M B\ $!JSHYF%C'N-,">\(X5&5+A23*YR8B)B @ 8/5O'?4LW/1;O.K*)+TC7 M)7CJN6S#/[&?;$NG9VLJ'MKYO&^YB"#'E8^GG(U6"NYUW@&7DUD 2L#LX=C M&IW3-1.M;1.RPZNX? T'5\$&0^'@*F8# BA;FIZT)?TX(9KE:+KOM)4=EE0J M0CG.)BE>#"X%O@X;M_AQ\+I[>7X&Z,1;+)9<7@' VQ\-I6M?Y'<(1UUU;8S" M$V$"@,A'!+_0N7QD:KH_H2><>/F%(9QYLX$AX@@ ,ILU=D"WMWWZ,='<'2E8 M$B*^-UG1.+='-M>NO=Y [,@[\ A^9CL[].;>FW[1+T<.FK,/V]]-VT'&ER.7 M>+6Y)T2>ICV0]@N"&#:*<.U3OR+8)O23KPD0QLM"HUO_ON-X6\?>+@BQ(A , M0XKBC]$-3?!#=X$(.\P1M&#;FA=$CVSV$@ULQWFP"<)SZ]8C!%GZ>V1.[EF& M_Y>Y#I_\E^?X'ND;D!>MHA"AKQACI]CQ U@]"%]HKR^X6@GE-3=7*EP4TI?,7NF"B MO?/8#9: <)]:_[>A3YYS_X:(CAWQ2I.^'0B&N12[@73,-03G8*$M &AI0Y4B MW2T!:2EWC8*:=S_!7Q+I2CI#V/5HF2S(J[5;J2)\+$T1U)AMB%[XL]BM;:VS MEK"KP.RSRVZ\/K-[C12FM#JAVF:E^O"IK"5 @=&&Z$*@W@4K@W*CU9HX3TN; M'@Y''WSU?D*O_B]9YH!(W6K1S6FL4^*H(2 &2ID1Q;W*U<*8WXBGP!(T'.E6 M8FOA$,"U4Z9:5'+9]G8H3Q;^+R?Q2Q157JR()C"*R%)XG^(RVWV*V][SKYV' MP?"WYZ/V%D41A(;)?WIZ8)9AXT$<@B(LW:2;$T(F ,QH/-K81X*0-(I!H1Z0 MX),$A4L":H>I0X8L'HOQJ7OY"=!-BR)AY#*:"]F].]KTB]\'"/_ W"B&O5\A MQ) HZQ63]1X'Q6W5N++\/SK!$BRX!L$K ,&CG5JBNTQ V_^V@2 -" 2AVWBV M.1X1^P73G?#-^S=*4-_:I/E8)[W!R.E-'9=HNBL ,4M#$(:=\FDG-7?0QB/X M\R@?H.P:FNNX6F/0 ',W6SHV48SHB5W,0"VG*PA#N1A-*4<^T!3.)YYMJ1]L M32(EGV^BG0UG+$\GLX&SUPEN;6=O_"K5@!!4 M6C:&2H* -GKIO$)\)5MG5Q2MZGO%($2&5C4J][F'!N/=.F%!P/A$>UM3>H,L M"H]HKY98"T),9G53;X(PH&'N>RCWLJ2*C"""PA#"*ZM"6"0#:,"&U[4#]M=J M2,4A@%9<'$)$957@BJ4 #=Z;_2='-ID$F:_9H5(@P7T$0C3ZK2^\VP7[V+?H M#H.> _R0(5Z5 =:FV*3(41Q5J5\E0FUY)U_$+L\HPLAI8/M6#E[ M?4X9" &:5>SN.:Q#FUS\:U 0B[05()*@J7/ M0G(Q,&6JUQB 89(L&7XUS^.K@D\NR?_EW MG=V4^ MJ0YC4BP9V?S3:ANX8Y__Q)-QC8@&&NS 9B1 M8?@#E=F4/62(H4Y7%8*EMH0%>8]/^, &B2B"624+NL+Z$$RUI((%5I0Q#VUKF" M5*7<08.:[AG#O#U!\+OPR6I1E%J*!B 82;+K=BPB+077T"!7ET#N40W#-%(, MY&FX;@CD#]C2++V "5W:$(2S=JX)7FX:SZ,OB D#%Q0%/U@IZ M&W_Z0<0C-/!&&SH?$9DC,D8FNUKOATIRF$Y8DI5; 3Q)IX0Z->M ->#!)DG! M#ZGU(6N;$#;DA6I'5D& TQ5BZP@9S@,559IS"QD7,-H^3X# M03-'WM3$>AAQHX!O0GT(5O+B<4Y@N@EX#V>[3PZD )M7&8*QO#RD>1R#@WFS M-]EDV!)=(5*K L$B7O2VC<EC^GJ,K08 M.^S_S+[[HIG(#X\+TQJS'ZA6Q[^(E!3H1BD]0=C9J5G=2F$?FC;E8B=(P+GO MCUP_>!D57"!,@:)5302$/:>:#E8MF8-2SS*T#<;NM@+E@:<+S]YJ%230TLSP M-D??FMED&5S8DGN(E&M#V-@JYAY390D:DIN;V\AA;_'(;LSN%X3@_TFIBCO! M5GLLP<,GN**;!,Y.*0CNFES([/ ##186D$=9VGKV+6-S8O$GB20GN7I]"$<] M1=^X.E/0\(PDM!== H\7@3#UI59"00K_\N](3]AVUR/O?J=CA/UNOZW\&]^; M!SU&9'V1R"\UL6_MY=*V_#]V("FF20AS9"8(BV$?VA 4&/KZ0>2SR%&96 N$ M:SK/0$WD$"B0_G5 (WBR*R3VQG.?;/>?R%_8Y8@J5 ?A@2X 6@562YZ?H_D9 M5+!2K /!P)AYAE7@KXX75NZPPU)44UVY0XY.\"I(FQ=F4[E#KH9-M4=5+D_/ M3L\ZQYUMD^R/;:L=>]8)V^W\9=WR7X]@OZ.B+Y#AF6@KD4CR=N?F/?*7]*65 MU,U >4FBV6^Q9$2O?:VE?:U%;:6[BTRJ=%;_('R/0E00PL%/68W"M4S$#+2M M(X>Q/8M#\M 80'BS0H65V'D\]=37U/#1X1)\5/:$J2?]*6=,Z-$<3= MPB>4K7G;+M>A4.P2^ILL_>@S@N>GU]WN]67][R7F1(3+4PG/71C^V^L.)>^. M;C)T5WB.$I:L\R"EI$*;]RE$')3]I,BVWQ&QYT1;,L>YKB)I7ODZ=[Q9YKST2@RE+LQ0WI M;JFI)H$U%^RZ%KMVR]PQOV%W$>KD_=LZ3I9EG*3_,R;:FP#O3"U!, 9D489, MS$(;V-^L*39-9&Q3"#OKY'8"B&45(%@#LB IXZE>B\#-_C,-*9V,E_OF@8U7 M,=IJ4XP%K8NQ=3&V+L;6Q9CTU/W3]\3'[K=%&NE6W&<#VN;B1C/9+?'G!4+N M@'63,'\)B]U5$"7+R5Q5O1=.Z8@S &UYZ2Z', M=WZOV^_&49"M>S]&:4WRW%QV?-:1I=$#C6 N%I2K85X6933..2\+&*P+EC41 MWRQGA70\P\@0NOPE90',WU(%VPA?S$*3 8A/G)^Z5^=7,&;]?*!PV2K>M,0Q MQC]@XK@30G>]"SK0?[5-8ZKI/\)L>4(+5.:6ZEX^$K4P-$YEYK#D ,.7<_L M#5ZC$! 5FZH[&"0/BHHL@C-%MG<;#O]NP]ZC+R'#R/E*;"G?[5E M[^@0 M[^^I4X^$SPY;+HXK.'6O"U'!4:ZE:)'.:AG)Q6LL>63K;;R:2S7T<,F=9PE(>?'+U M42W^.6U$)*;KQ:+2G',)B9>7A*L$LC MU6RZU38F]A-R@X=3!OO^[)+[JE9%RK$E%B6+>F^%?[5MXQ6;9L\R^I9+YSQ, MB[,T Z[S["V7&GD/K*6:]?Z\6R#=[?&KT_/=V^-AYQW-,CK;UCM!\[3 F@26 MOWI-Q)^=#MX6U(*"C;MO_L"00P/\@O:DKG;3/+F!.K9!$JINWH,D-B:%3')O M,U4+$.^BJR(;W:&D8AK ;E="[Y9:EKE(>ILP=2M ;H!F4')%L/EL_ZR QR*Q MSRZZE^>G]0>8UZ,$7%$ T(L)T0Q$%^@?3L^/XS40HUE^]S2A#H2[IQG5/0IP M I< L MS2_EQ@"SF;X%7V37O^/L;S MA>!J@7(M"(&M!:"7R"< !"5L[IT^U1?02-7Z;A.D88U_JR!Y]]S4^P02SF3W M"9*K 9]XI< G6&%#P&?IK% +^6T0 M^.(7G9,J0;BN4 *H(!][CJK7<+9+L@# I$H0+C)D!3")-["VZ=\0V]?1"8/6 MUN9HC)BPL#7_YJ"99P[P+.7+)U>GEZF-TR$-QUI 1(>$5#!143(Z)J6C-4ZW MQNG6. T"YM8X?8C&Z=8(V1HA6R-D:X1LC9"M$;(U0F:%?7."BAX)@QO0HK#3 MS*T!GZ:SFCSD3$.SA?27*PT3IJ#[!_^ 29,Q*N3;P25V*M3*3]9I)1H2N M-L1]'YF:Y=*=WOT?'EXQJM.90*[W7W<)6_[OCM^V;PG9M-X\PX904&IFC:3J MM:2I$M%T\SZA?4N,&4HU(1HQU%",I:]2817 E"SFC/8L-5\!O[)+=0R"I .+-DQ$C&%@"8!HAN#%DF +K=)O8+ M$F?*5:H!X<"1$2@I7P"0>K9G[JOFZU'X<6WL6OKW(IT$W%+4AQ 5D1'%%%P" MP%3(9)(=4*5B?59 =;;X-L"D0T93+8!"OJ1)C1,J@5X;I8 G<0;-:!<)E;M# M*X)T'#R,A58F\L5NQ4+HA.R)0IT*:Q[T*BQ5B>)D $UYA*2*@Q?E54 OTMG& M/"IVKT2(00A*S 1/G QH0M]H*NYKI[].-Y.!]<7$(V9&S 23F"3)8 MSH ]5H"BCTIR@J)V9W[9@"NL=0A9E/.K0BX1U.L^>] P^:Z9'GJDC-"_&=^; M[X;6&+&L4]B:WV@.3IGRHKOO4F,M=_RF.Y'^PA]>_!]LJZ-U2-AO9\HZ;HJW M;2.Y]=T.RXB]Q^IS;$2D2@L\V1:)"5GFCBNP_5ILDB'Y=%Q$U(V@/SQDZ>^R MX&.5FG#\=87K0_$)CD.O/&"Y; /%VMG,47+GD5)5"*Z^% J=!.L^@Y! O'G??/P5(T*%M7@? M,%.\VC(KK5S#2BN*9*QHI96* Q+L4?W<)SKUC"UI ]X"K*#PB6-:S._/B')\ MJ>IVNRP[.L 5NDSDN3* I Q]:^6YCL_PF=HJS:L!=7%.U&\NL#P.@6)VD1JS M"TAQ.:5@=@$1LQQ;C#U38@F&G0&$T(-2A,75EOP;OJ:&,:SO8(2"V%I8>U/' M)9HN=' GUP,UH92E0@IR@.?.<1:43_8/'L ]0UO"X M1T:91VCP1A0\_;!6K0PA*J7TL:TJ#&@:DP7UP2;!$J M58[#>'JI^0_S"9:42G4!8KC&V#;-F4U>-6(,9]S3>-JXC;VG2H1Q&Y&^V3,E M[@)U9MM0CF6$AL:%<,@W)OY.Y)ME3QU$7MAQTC=>T)_I9$%K!<\RJT1R%-9- MZVRJ+JRC8-UH?4ZMSPF^SZF!)NLJW0P@3=8W[]LS3E)^3WD=@"[_:F9AGC @ M09Q?"KL\JDW8Y?4+;Y(7#R*NTI0GFE;QRNLW[N?_U+W\!.G)+7#*R!57)6^^ M)AW2N9N3G&V!VK:4/?(D[[ZJR@N:H:Q V2G[\@OM"H!+OP31E31C-=S!SSN? M_(;=Q1[73IQM9[SC*%L/2K^M% ?P OJ"X"6H7'&+%2'8*30EFP(NOU(@V1O@ M?4LW/8,E)[W7"$L@FSBOEM\_!+\&=.W-(%9XOI.>8>" @K[EOV<5+SA*P" M$(-6DH(F@0/("%4@/*#-/L5 5KRIIAP4V2)J>Y8[UEPD]3"I5(1@L4E64QF M/*Z*-[#M]CJF6RC+0]]M]OR.U)RF7!/"85 -BE1L@3V@'4QZC9HO_;;I-6K? ML_R$Z37:E MI&(0$XH%%P95XAZ,-?VO#WYH;_M;>LH=]RYY_$U R"!3D?RZT:[#89,ZR= MGW6OKP&EQZE.-;AB*,%295OH_5$C/Y#[X%F&_ZXW%F@-BX-T&@)(6T#"ILJ2SU M*412Q2E6SJ#U)X\)=3B;('UA85TS'[%)]P!TZ7J..WER2]:R M5:!:B]T'3?>G'9G!B5,03MB71/*QA9S#!(!%.DZ6U/S.+PK%M"-4)C$(@ SG M.6&(VQ0NNI=GUX!,*YFAX;(% *TQ>K'-%[I$QHE.L)Q)ZT"PI\B4,&[]DK(" M * !ID$CX@);T'.('O9QG@P3J4DY/>X9M]2TZ@TXUZ\=P-D-T M&F5T#_HWP[%\Z5"K"V%I%RMC;"518ZAXV!SB1B"C?^W"1;_Z?:Q9<]XZLO,; MG-BOA,5CA^XZIY[P@0#Z4Y@ZE M=Y/+,_Y[G7OV)'G&*06P[L7GICWKL-1F.(#@S$U@(/Y2.&<>;JJ#-U)"+EHV0MZ@01OG MTW>;/J\(THRA%3T_G2E-M;+JE8)Z5?#4*V,,&J)1Q[#X$!\I4BDRU_F'6XSX MDN,T)//VQ'8UD]UL('1@CUFT "<@(V7]2J'H9H8B V=UX!0/&;/?;; M[40;;DKHR[.^0(9G4C2?*69H3T ]0MC)W+^X=?.^+3/2WOVL5NP]#EG 3('M MU_( HM^_/+W23ADXP36%8QM[VC#.-8#]2G8FM[Q8QLC4K"=M*?CT)?#?:M!>;N*NPFONI=G@/)+U:)57(D4OVEDEPO<][[%#N?X!8V(/2<: MW_2>7!R"Q[/,@1#N(>52 # ;W"]7IOV.@IWCT"=%ZM&6E(=@+BX;4P4Q !U M>^W1I^\;!<,9/W]3O+?+K0/!@EP5N FB !PR(-DPQXO B=>KM3]>IQI0$!) MMTE M\@\)>,)&]#>-H.XX[NGZ^[E^26<_60Z"+BL%+\1'"XM//6R*6]::&G>2 M6;#AM5'_5Z?GN0N;X']O3=-%J9^XGT8<7;+I9?'"@N;"S.^V"X:<9:J5MNX<@*I:--D[J:[W-V_K7!P0S[@3:9EQ;0/(2BH1!4K M1D@E>]FS#P;+\M@+.CI!]*>^M3L%]YQMC-1P-O12N[6E&Q-_D;5T1ER0%-6G/]B4"&W BO4@X):HAN'^ M3Y$GD(?9UCK<6H>AZUOH: GCM9VANT!DLM"L8%0Z7VD3KM-7L*U4TGUK2\XO MPX.9+-?\10[O@5V]:"T5]],:FU,(Z]#T+CZN?D-XOG"1T0MNK/@_WFGN]B7O MDK0R-14';KVN4I2'IM'W;XCHV$$;&?C7Y_J62S ]7NMEJK%:UX=GY*Y6?A#- MV3L!H<'I7'?Q"\NZF-*J?97"JKWMM^.P4AV-]=S1UEVWYNW6O-V:MV$M7ZUY MNS5O'_3=C)K-W/#O9K2&U=:PV@A]2[3*/=G6"QUNR!C;IOE@$U:I]L:H.B[\H8:PI_(R/W;"K%3[,1F+"7YAVNFI='^N-Q:7;/P?YZY M? -$HE\3Q($T'96-7AGJ/K&F$W4[8LH/[2B4M)_D()QE6H,VT'ZFT55S]%3Q M]/TDQW"XX^SG#=]*>;*#-]A2T]?H#=\A#+;4B$$,/>-_RPZ-EH/2QIY=IX@] M"WZ:^C_IT9]0T'?S@L\V-[H0><$Z$BB>Z=-"/PUG8Z3;04IZ621\7$8!(#I&#J("6O0LXX[N"4Q[ MQ6A?+^M)L8#)-2$85)24=B>T+YDS -@](Y.V.=]<]J:?58!+K@;A>)X:M62V M $#V%5ETUV]2(GO&DHJ6GADTEK55!3?%NA".>ZG!4^0- (+-N"21F/.\Y#UG M>V&BO3#17IAH+TPTZL)$,7/BGHM:E":JJ%[JNTI1DL#X]RH*7;&:>L=BS=\Z MIY/('"O:EBA6AK#]KT"U5,4!S?6E))J-6\2?I!W_AGOT=R:>)]O])W*W@LLS M867K#\)9I0)-*U&"/XUR!K)^L,GZ*U9.E"6_:B(@A*4V68T%8FU63#77V>NS MGQ@T4#LU$'+%E*C M(0-X(>_6L7.?K5[[>V M9[F(K#3BO@L>F!47 ^1P$DM9M^9I M+DFW0FA2<'3(>,7#5BZZ%Q\!Q.<4CB&7R^(/G!,\1^2K:4\U\U&SM.#8,3!U MX2L%217J7'2Y(E+B#9FU\]J8.-K!&WI\U/_>6GQ55?#Z2E*]ASR"Z*Y%X.I*P M 0&4+4U,W8:S"=$LA^6*33@@J50$F^^DE/ M1J+"$(Y"Z@H8>\)>P!$ 9/JCH12,R.\0?+?9Y!]A H#(AR^(,&.SRU1!X?$O M27D(3LYLD$B8 @!1,R(Q15ED$A?Y-H2R#:$\M!#*]DE%4$\JMG&Q>?)#_#1Q ML2$/DG4V7J2&95;T $WB,ANG')"TI>LCT)6-IRD\81>R)'%->V&T!GNN'K^@ M$;'G1%L*;7KRXA#6&/$$DDQ_R6;4X=+"4\_9I8$2S(H*9:Y6#<(2()>]&A\0 M3:;H#X]=:'UA\Z+\_"0L7<,4?YW'7,IE B8<\H.1N#R0-2!!P1* 718*0R: MN'OQJGO9!>!$+1(N+H/P$)3?BN>7A; %2%1$"4B CA';V*2D]X4X!6M\+TA( M=DSL.ZM04R^890Z3YB86_$ILI_!7I&0]0=@U*BI,&>R#VVPRBT;?<3QDW'D$ M6_. 6I\QYPF]^C^)IP&URB#\*XJ3A!I'#8'1O]R0$<7=NA"N4.4"<98"FFQ4MB2#NMXSV:(;?28_G,69DZ9:JU&IUG76@[ET ;W+4LG0%P\-=&( M-HL(6?O)HUN[;RN65X 5#!P&W'&:J:5J@>Z"4BA.[B>M42UBN0Q,4CZ@ MP<3;GRQ?>7)Z%MV666R+A2P=(V>X0BQ)BC4? MT%49.>G2:%V4IG%#+XJ#CLEE"@']L0AC.9BPOYTK3 M49_1P6P/.ETA'VR"\)Q_D2]S*Q#B+E5T4 M+,V4O_,@* MA5*:'5< ,[.'G/'@N/>$]4C$OO6483G'GH=Z4I=G4=]W(F5N! M$/N:'M/4;#81[3%B,J2"&\X>Z)E?,_^)-&'VF.SM0=@H953^M"HAD$ 3E8-* MHV]-7FW&@=KBK-0.O"F^-&78X;RY2D![1<6H0:0E>.M"R8H0X;VQJO!@>Z00 M38@T!.%>196*$&&]H7J0#WP8MS.J0[QN9]'.==N4+J$KSLLJFP8[08N-\?GL MW%*6^7BX1=L<@FD]-Q*)MYD$2^T*B#.HS2389A)L,PFVF0251 $ X.8FGQ)! MJ[@$MRFHVA14;0*CAB5-%E%,5YJLV&>E#94 \G0V>F[*AJ?+1):',F M0I73#V 2V9G]]GS3\I5T "$>)HD%V9ZFV9$O;4:Z_ ?0-,KS4^2E:U.&5.<' MKD3[2D@7/D-I8O^O^+>-\!UW31"HQ9I+97*22/_W#P@7,)$!PQ6%6 M1\RT51)PEA]Q?M@/_OR_ONQ\](RCF(3!OWWSX=W[;Q .W- CP=._?9/&;YW8 M)>2;__7O_^__\^?_\?;M_SF[OT%>Z*8['"3(C;"38 ^]D&2+'L/]W@G0)QQ% MQ/?1642\)XS0#^_^^.Y/__KAP[N/?_KP\??H[=M,TID3TYIA@+C([]]]*/YR MGDD-@Q_1G[[[_H?OOG___0?TPX_O/_[X^S^BNT]%P4_4R@UI+.F3X-7GW\O%=&#W1^N\_?/=_/MT\N%N\<]Z2 M($Z-YF)[,\&2O+B[*]>4E20"__A._''HNB1Z,S]#S_\\,-W_*_?4. 0 M^G,4^O@>;Q#_W8_)ZQ[_VSU]II;_;AOA3;V5?A1]Q^I_%^ G]CV9FS\P M-S_\D;GY/[-?WSAK['^#6,G/]]=*AW^HR,HJ<7>,,/IN,G\>:2CA3D[)-5M[ M)AHYJWQ#?ZHXB+\D./"PE[O(=&I$2X22Z/>_%OW]3]O24J MS'8F;!E5'7 B-U=&?VS (ROQG1M2)M@G;_WL"_'JFRC!'F*")VN"8M1Y17Q\F^[6.*KQO*8( MX(:G>BIFV)3 M+? MT\CM:D/55@'=;LTL[]F,*TH6B*M!880R58CIFKAM/SI?KCTZA" ;(A;= M&SIR=7GP[;G!U6I+5A0&W8:;;.[9>JEX5)5O9RBP]#R*79S]YX8$^(,2DOJR MX)NJQL5J,ZTI"+J)ZNSMV3PSF8O\!\2DHU4P-:-FZL_ICZOH,7P)FL"HE)Q+ MTSQVK[9AEL7FT"QKK!VJ43+1K*MGPNTT2#[:6$5W4?A, E<];E46GTO35#A: MVSX/RLZAD:I,'J:E9H/2581R!79:ZUT8)X[_7V2OG6,I"L^EI=8Z6=M.*R7G MT$KK#1Z*385T1,5/.V=B++Z,L*-HE =_!MP,ZQPI3E)(?P/:U&I-[-JX>-?, MI$W;EM@I-_]N&P;JM?.:(H#;E,JAO%T=_AUHVU*:V;5]<8&(2YQZPOR W32B MS?O#]^M'DOAUG%53!' ;4SF4M['#OP-M8THSN[8Q+@6%&_3A^S?K;U$N?[*& M]A@Y[#CSP^MN'=8Y?/AWP$VLUI6\?57^"+1QU=O8N64):4B(FYRY+K^X6VHX M5NSZ*8H!;EXZQPY93"X#M+%I3>W:YG*A*)=J8]?O/(TB'"3B4 ^+)SHQ3F/E MO$=9''!;-'&T.AVM+PNT;1J9W'-*FDE'A7@DY$^^19U@=M2;/.,+)W$RJS2[ MG8KBX!NKWM'#W>BZLJ ;:X/)O?>?"^GLG)B3MUX+Y\6BTIZMC@M%N=2)6]WE#D=/=%CP4Q2^)-OS<+=W C7GJ4J#;X5:-ZNM ML;8HZ%:IM[AGZ\R%(R$=9>*G;J9?RGL,XC"Y&HVZHO ;J-+!@]9Y5 YVTU2; MV[==?I&OM@C94_?86^S[391Y4 A\0ZQSZJ"[EDJ ;GRUAO;MK)E,2R1(M>[8 MX=_0_?5AZU"\5FG"LE.P]4_U\H*^$OCV:.+TP1J0I@;H]FID>-_U(*X#<24+ M)-0@2<_439K.[B/'OPX\_.4_L9I%C\O!;[CUKAVTU6HAV,U386O?%BG$(BX7 M4<'3G981JTM7)'8=_V_8B=1W5#5% 3?$)@>+$S6*_LYI?FBW=NZ*_J5L14I<$W"8;W#N\/'U0#&B+;+*V]P5JN45RT9::HYAG MF37(:MG9-,D:%^L;I51P%LVRSMZA&F9VP7_:IKFD%GC]HX\9IK2>.W3XZS%XT*^TF<_^:P=66_ M_CN_;,#L6&VN2. $+J%A%(HU)T7.NI95@;;)+@"PYMJF'L"6W,G\SJ/-U>W% MY>W#Y06B/SVL;JXOEH_T'V?+F^7M^25Z^,OEY>.#O;:_C&.+TR1E',2A1$YP.IE7/]J.HFQB:11,QV5G$5,*%X]# MZZ @^ A3V=NO22Z*DWDP(FYH+W/O'"[=7OR=._%V&7CL/Y?_2,FSXU.KXF5R M[D31*PF>?G;\]'#!KVU=X/'9"@(Y7HTJ H[?=O9W;NE4/$]QS'^0%"V0DZ!< M%^+*1HGP9QRM0WV,3XR$RW[ I2*+W:_KLMQ%\3UV,;5F[>-;G-2?/C:L CS8 M31RN],F:\H!#V\CLSCUT)AR5TFDL;VA/BI:^'[ZP]R#0AN7%BK!'$G03QF5_ M;BO$1T6$7;+"*"I$4W<#G+#[?$X.2,P1\<)TG6Q2'SDYAK3,O_QQ\:__^@-G MAG_YT^+][^F/_/?_D088?7R_0/S-#O;G"ZJ!74!%'S_PW[ZG.N,]YB?"_X=XEU_V.(@Q9=)5LL519>2D^"QF-8&32@OW96XQJ :88MI8WS6N M,ATH4\)C@*M!![,$.U.#*2' 0DG,,0@Y!BZ0.81)G,\LHAMC=RY1.FQCG"3J MPL3QC2?D_;MNI@Y,*-U%X1Y'R>L=]2:AA,)F(WNVT$X'*TH2TE8!'F@F#E?[ M3'5YP&%H9';W+D((7R N7KPGE"M8(*K"5OR&^"AWIS\")Z= 1F83ROP$FG",3NS:Y7)"M>?OHCDP7&]=! M0DTG:Q^+(0QEA,LOKI^R<^4-<6-8%7A,M0% CC>3>H!CL97Y79MWJ:28&U,] MZ$VA">6JOK45RE/CX&0X6.T0+_ &T[F%Q]X.V.%'YTOANP(E;07@ =[LK!S6 MZM* @]G Z,Z'1C/12,CF"?NE6+8SB)_"WX0Z:GOF+2W=W=*&KEW,4I4%'IU: M%^7 K"T(.";U]G9MGM6%YE*PG3@',9(OJP&.J M+1!RU)G6!1R7K5WHG.ZZ5%2L)">OUH]A6O-?4O6[.$/#XH%IR3RS4]/:"O.) M>8/ST^K2\XCKH<\82Z+A'*<>T=_<1;]48?]DY9WSRDZ$F9VI/"H,/#[U3M:= MHZR6!!R7#0;W/CN9R;5\@FDD+\5YR+T0:C<(HQ1[QYRCAD-9'GXHZET]B,;Z MPK #LL'F'C'))*.Z_M):6([L:W:>N M&SK_QDK H]',Z>H%1ET-P#%J:'CWBWI8 M>#CBO\['4Z]ZGNLE$#@']@=+YL?NT@!SYP!.=0VX7#62=%-*+;2CBOI%,2%[ MM(C%>;U*6!LVR#FT='B6:USM1D<;^C M-G#6F,;U,S].!&(Z:!R1,% M7B>-YVF5A:&'GM;)2OC5EH0<@GJ#.X>T: M/L_6N*/8$0',@756#K '8GWK8Z ]#Q!C(/9F-$E8\CUV-;6(<5<=1_H:P./* MP-W*"JJZ.."X,[&Z>R]0R!8/8\C2WUE:+IW07U>6CM[I26;\AG# MEED5YIQ'H5WFA%GF2A@Q.X L^G=Y;H1EDD1DG2;L2@5*0G3G@+AJ/1D,F NW MVP&' ;=)^U[5<3'@L:IR[+!_E)D_,I+Z8QV5"$$+A:0CMGB';@@=;'ABU6S/ M/:+S"/PC^I>/?Q#&@^.9I>?QA[$=_\XAWG60G:)0?'EU:>!\T^!F)?U$?5' MO--D<>=T#(5+T/&] MS<8'#MNEBI-%I>?GH_P_+#[\ONS.31^K7 !YK?(>)PX)L'?I1 $=:\1+UTUW MJ<]PO\ ;XA+5LI]11>!48.Z\3 K-M0#30POCNX9.K@+E.M ;20O*U%A[>6-* M!'"FPVK6M]P[?FJ*>/:B #,"5T]Z9%WK6 #<92OHC$_>OR&*?U6/-U#.U6JV5H".FOP9(_;5N A M7&7QJC8I\DW9W/<_WE\QWHB!SQ9JY_3;@X!C7F/L!-N!HP3R'D[5->?P5Z!A4 TZHIHZW>;<" M,-D:FS[ :4;IG0KK!QO'15&%V&Z3C:IG^<7O\\YT@J4RXV@@ S ;=_.@QFQ!)]DO1"U28@#8AG7U%V",)8I,8 MV[F^)X5&9.8OY<;%G,K)[;!\DCH[/$,'S:N(#@+IC)"O;M_AZ(&M-RM0-*L) MG"Y:N*\X ::J!I@:VE@_S#DQJ@91"A"*Q%X.HJH0UV7O^/5$(&2;.\6Q#Q#1 MSCV,E\7!D&:8:FK,)[I5[BJB^K#X/*)9:?4P42S$HU*^]<@=R^$L8H].3P&* M7'%6SA2BHO3<(K;JIC9:1=$Y1>J!Q4-&J=W#E"-[6@U/4NNHQ=!/JM+SRR"!YI:JJ(7SIW$D=R%-9FN<[EY/MU< M:X:QVS"K;J@RLR@>] MNNYLHM_ A<%H0+[(7BH;Y6YA-T:8!(R,&GP)#,OS[IKKE8(;%:#IR@./_497 M&^X%B\* H[O9YJ%O!@OQEEYV']_;2D]N+T;%#22^$LC2"C9DZU.7!AZ?#6[* MT:DH"C@VFRSNO*^SNKVXO'VXO$#TIX?5S?7%\I'^X^&1_N?3Y>WC UI=H=7= MY?WR\9H60,M;5O+3W?WE7VBUZY\OT9N;U2;,]3&H0['!5/IRWC&-/_\]176;M) AX"IWFQO+09P4/7QIOO- M;ZX3L<^#OQN#HZ>B8OCA]!7'U?35 !.BLW.5H_"J$H#IC@#H[L?"8GY50@NG-^PRL4C M)M_6(9C1_JH5PNX$ZIK<.OZ&Y*QSE MSV=D@W84I_L][9'MQ>U/.,"1XU//E]Z.!(2MX+#D?OK@;:X%/((-W9;#N*$* MX%@VM;QK$\_D\Y9=U6 WJJ?TVZEHL/F8=CGB9XY+XWT%2OH:P./8P-WJ ]K* MXH#CU\3JKFU8EKV@(^>]CXO)HJR(OXBY%R-.^D];;VE/ \315-GB8]I[_KYD M\%1F[%. 4U\2>/QJW*N\FWU<#'"\ZJSMVCP+F=4TDW9R)8WAH/ G3PO)-R+" M??[LK,UM:LI*.&Y8A#HN!3SN%&Y5MZ,K10#'F\K2KDTQEV=W]#J:5[C>JPG[ M-)8=E@XGPBJ-Z$.LL1+PB#-SNM+I:6L CD=#PSMWA3RYL"R_Z!,S%0-WB^;O M.DSB>1:_Z(WH*[_EZ;]L'^1BO7>^-4V"E+J^*GKO,[P)HRSE]"/+]_R)!&%$ MDM>53#FE! !(&H])BM.8FYQFRA2%(LF21TS#WAR\8L&>B*5B^X&CAF)TIRYR^ M2'4JE,$.(U]^ 4_6I9WA &^4C^VH2\^"1)5N'A/>45'PY*2VN">14,'YQ F] MR62/M$[1/(4:U5,:BZK)U%2' B?PS2G.B"9\"6.1CX9WMUG_H AVK,S5DS#CW""\XP1AR$P>=F9A67%15U,\H(S"LBJO5U;Z7$8+A"7 M#",:AW%R/(<,>O\17BE]MCO)0-4Q'.H@! M3E1=@9$9K*T,P-36V96N,9,K1)E&)%2R*Y''J=L*.D2_Y ;\7SO,: VGMTZ& MDRME5)>SO!U-GZ9BUKS:/S MI6$*;U83.%FV/^=BHL!.:H=/D@O93/FQOX@FU)E=TTS9DNSC9RXE"U%I MHLS \&C5(N0YGFZ.9R+AYQ3Z;$W'YX*:F^Y27V2V,@,0Q-R]_:P&?J]AX*[A M'!TP?YM8;6E.;N>NPIB B%SGFH&HQ>2J^0L;JPU_&&8;^A[MB,3]TX8YMFE= MX/'>"H)*]E63BH YH)W]G=G Y,65A\?5^7_^975S<7G_\#MT^;\_7S_^#4!0 M/#)F:D(O+S279EYQJK8]\Q)S:+A50SOGT@7)M=B6SYP\R+<.425 M*595%GC;U;I8N3-05Q!P6]7;.U0;1;\(P9;6J2T[.>D$GKWVR,9XGS [CJ"> M QV5 QZ!2M<.INC50H C3VUKC^DX.U+'1:)?A%![N]TC.F1]ARG>/? M.<2[#LZ=/:%3?FVP-=4!'GA&+LM!J*T ."#-[.[:?DOIB(E'UP'*%%@.U4G= M?DL*MVT^$9;0;AI[^6T[;?0J"P,/6[V3U=? ZDH"#M0&@[LVU5QLF>'";F!. MY:;%WC1TR760O3E:>U"DFO\QSZ*H[V[["@4>V,. 5NFP>TD$3!0#.=:Y[Z/J M4:&__C#78ZC*<6I[6& 9.S?;)Z=$57?6XXW8N?L6L=W&?*]1SAT+8&GWAM+L M-?VQ<3U7+@BV\O-G\6.H6!/@WC/;/=89TYZ8'UV[Q_](24P2G#U* M?L>AO,=N^!1P*3\[?JK:7)] +7 JFPKXZA+=N#H!4^YDKG<>^=Y=GR_$Y=ZW MW 9TY[SRL<0RBJA(+ XIT[%NA.F?T29D8V,Z7Y LL;62"!Q:OGF0@>I*ZNT_ M9\4M$]W*11JQ&1='@+O-_[;:\PA3700YP?NP,375"TE((8 ;K M[DNON,G&E4CH1$+I G&UBVS3,=.,"M66GF*?'*%S.><5$4"E>\XL0@5;GL@R M8NTM/T>I0$<,;0<@&[V@>;*- 3@&=*.1,C^^,7&FUU0VZZCE<8(\!$+KU_I1 MTHL345[*;%H47!0C.LT2IMMZVL\"DCDC8Y",/*;G[2D9QD1<"]4]CI.(N"R_ M#"O&VSJ_O7(51AM,DI26Z?()#.7.F;S;0&?,Y29"YTKMK7P;8VB9+VB6AF3# MS(SBLUT?R1R Y#8)BO ;,87P ?AX&SQ112KBKC?@Y(6N?SOQ= M6C(A;?G+6.8\N:L=9*93WD:!\^.LEGZ-.!4NC6#L))F!2CM $=5$T%5Q>:"J MZ9A\B?:4=W 443C%8"P)JQFD*9_1\ FPR-OP0I(M_16UR/'1/EW[Q*72J "K M2>^T/<# A&6\?&'*3-CO6F J\C[8$?Q]WB%_Z7+N,U MN>X\6:H> M/Q5U%Q?IRCL'_$\115)@K XH^!@6!B^&F0?%7*5AZE:=R]HY9O MV?;UGDZ.X6V\BLZA(\4=5YXGQRE ,!YQS9CE5 Z,.8("RG-#0W%$=*.?[>M. M>D/[7B;OSU*VD]JSFE:R0IT[\?;*#U]B\V10=57 4UVSPXK43T?E0=.:@=FC M)GHZ7S[\!5W=K/[Z8*]UW^*$>7\7A<_$P][9Z^<8>]?!:H\C)V$/?KD)>>:S MO(8VWTD0\$CH#HX<'^VE (Z:'LYT[A%P@IA.E"MEQQK>,+V(!-^B0C4J=5M/ M^VT!IA('IQ!N,:EWY:0K.Z8:N,1G:23+E+./X3#4,Y(JX.0T)L#*@_ #Z0%, M<*.ZVSU%1&$46P4MS.+[^Y6DLNS/%9 '%/)*PEKV9_9+E\&^EV / M:QC9'B%S\-@:^U48783I.MFD_M)UPY1ZJ/@P#56 $Z2)PS+1Z>"&.5@\LQNM2_0>80]DHAKY9?B6@AZV:P&T/AMX2X+6X/BEJ/5"]V4C0[K*+>-]9W?4=ABUCAI_\;6 MRGGO1/)M Y?==:6#TY0?GO#$7DI"*T1XSZRB_Q*7^=^-$LIU1#8%)+)\!@K3 M@(J]%*YC6NJRX?1Q2["9OCH=O5Z8"V"N!0-;6\^P@X.W-99HHK)_F9$DMS_,E<3RQGQV,''\X. M$X"HMK%5A8$'K=[)HT1E1R4!AVB#P4/<^*[-=\.R3;(UZ#&[7).#0B.Y#S8S M39[74_!2AOXM5O6WFN+ 8[;)43EJ564!QVVCR9W/\^7Y:O.MNDRV> +25JJ% M\=W%^;A!;)19O*5QEL8DP'%,&6E- LX;YV' 5D(H<]*?8N+QO;HPD!@U/M^R M'Z^#)5]GX;=?ZJK<9&/_UP\*I*?3#IQ )OX,,A]-I!HPO4V-0.?=MLQ.)!G* M+\]E>E%%L3P$8G?LN+GL1NRR6!Q555V@PFH[$YJY?)$2U(U#(O3,[KDP8-T2 M6%=6;6OD^;7@V7G#2:01RNZ"L_7GF@7KNC) NQ6M2_DVTE$!X!M':GM[;!%D M3)CE);.P.#>]WEG Q]Y;)G'[_9RRW*A]Q:L(=Q[&5[)+%]3?^F$;- MV<+\FDAQ-+?WH7/KYT^XU!W078@3O4P=*O39 M&;%.#(?--3V1._P"B_]*AXVS--T-EQ):"0#. NW!J*X$FM8&S ,=G.B^?):E MK7^3*V,GS25F*![%'/?LS9&O+;J[ A%#8">2H[KS8I$-.8/3!\U M)_GM;3Q, ,-CY'CLP&,N$%2XWT5X[Q O/W"0[;TL X^/>I:)$PDS8HV6CDT,)%DNHM#0:SS%7,7H1<.JTR"4@Y'MMO/" *+5-P!6/36L9 M4T$B? _"X&U_0JC=U3EVA ]^[IQ7-O#)^>ZFG"#5K.9VD0$TWGM!DN\:M18 M?%>INS]]+BB1@@V\@@TTUY$84R1\W+X7=F6]Z=HG3V+.CL*H[&F+G:MUFM#X M2M KG?>SSGC:C:OIH560K)CR9'K1LAB7W:CO)HR__V6AX=6T((X#B#L:M9/? M**5C6R4_MZP*E):[ -"X]G-0;U8#,(WYPZ_],$WVB&!2$')O\WX"4JQSLCL7 MP\ N :^N/[NH;X#"8/IU7'E6\=_DPRA3L$P?1"H8"X]593$&Z"#@8.K9F1M4 M(N9)#UI 6BW0S)HD]&Z,O50S-E5TVV<>#Y?C]1H0G&&>4E0!8BL!P/FB/1C= M,O("YHH.3DR8@7><0468.+Z.)R;&!'C&1P4:UP%[!W. W-YZ0?-D$ -P#)A$ M(V5^C&+BS$C,4JB&E*[6 DPE#B!R>V?9!^+'<,E2X$288D&9+WF]H_XER\"[ MI+_=:T[(MQ( G$C:@U%).FM<&S!Q='"B\W&+3!5+NIPI0[FV!>+Z%GS)OU!I MZSS*E*#D+X6%&S8,]F!T&W, IHP.3DPXQ@ U M>QD+$SY[>9/F.)":,08XOK@B@1.X \Q=](+FR1\&X!CPB$;*_/C$Q)F1>*50 M/8.YRY@PE3B F+O2JW[AJE?CZO2K"ZO-)QP]X>@>^PP? MGBZ[AJ@:IE_F4H#']M+#5.@4 MB7,SED)1ADT2RDFRK5/*51@U)7=J33"=9?O4D)K0) M(W6*O,("D#1E&3E-WC69Q_Z+_C4B[J] ""T*78R]^(K&K$C$M.?W(RZ_X,@E M=$ZG@MR@'G1B,G7]X&T_?27(!&-L>_<[K$(#8DBC+&V:4((*+;;.?DWMOAON M=C3T1:H\]I .C?]TS_.,"X52(KV]Y40B,C;YLT+7 >4FQ[]+USYQ\Y1J!M@V MU9\1+1A!H:(';>69T(29#\/$2_' 5J8,"6U%WD5K[X%:0:-X>8L/*R0FX11" M,HCV J)0 9%= EEM[B+R3,<]=[[CZO(<&E>>(76H06CBC>.:,R,-C0,#,P:- MD4P5*G3!H8O1<5!R!0G8/"3 +I^$O)!DR_Z=GT;?9Y#M59#96*KE(S/=ZZ6& M5:!3A8'#]2NNQ^4ATX*)V4.LI8JYQIAO='99-1W3:6E)(=3F.YYL?C6FVY\# M#T'G2CP2\S1O:(-M'BV1-]/8)MHR\+)DE3?L;M&JS#9AL!O7* XH;4' M0[5OK*\-F.PZ.#',WC)_GYB=S^1Z4*D(PC;SR$CD.6Q][GJN=@[GS7J?K(%/ M"NW!Z':N## I='!BPG-DH,ZGCH7)T>VZ\JSJIN9,F3WNN.1YIE>;RR\N3U)] M3WEV%3"HV/^S8_[/CH]Y>MN8[2&QK7CZ!\JNU5]()15?8!Q-P-EH1'AEVAI! M#6!^&]/;KD%_6>1KSZU"S"P4!IP?LV_DRK865R"C37. ML8X8UFZ69I]B[N: \A]PJ9S_,BI19G^WQ[Z]<+SC>0>/TTNX?NK1[D7^8@(Q MQ2>>W C@G&WGH\AT/JT%@)G>$A#=)X:#,/T""=-139:;!2H<..AIA ]V1M M/)546;\];04*SA ;!@4I55F\0$TG%>$./SI?<'SG$(_. Q1HU18$'NEJYPZR MS1Z4 AR_&F-[9(ZE(A&7B9C0!:)BK>61'MH]3C[\42]VJRIAHFV&&X6 C@>: M8NVP%/A JW6K&F65(J!#K-[2[O$EY&6Q=?DE7ZW*3DV0WS!;V!*%%A/F7VT. MQF&!J$8BR:1;/"5"&S8UJ-R8A:U <>P*VAJ!P1,:T,..C; M^]!YJ55HDC*5L4EB>2Z$:[,^.)X4C[<<$%(!I.Y0B,5Q&8MS[3?L'D.H/96PW7VH*QRXZBI%E#N;^EV=;=>6P7P.,_4\JY!<7AI M!^62[8P#QW9W6:8]XJ=&\Y3R*&57_) KW^>Q'MB7[.E/CR0IA3I'X"Q-;L/D M;Y@O3NE!-*D^CU W!J(FYAOKP@]^)F?J;-WQG1P. M)XYQ$F=+,N+VCN/RR[]Q_C+W8-/ /),+N[%L$NRF=8!&>"N7\YE:8P7@4S%S M^SNG*4]96(C=]C!-^(8[':_2QLKW'BIW]=G!5V["M).H\4'(-?!$#"6-G64T M]K$AC;'KWY 3'1X4G.1]L,("9TGG>!;R1"6 ?8;X)G<6Z.*095IX5 MSP8\V7K(>4@G14',LX,'<>@3C^=\.7-\GN;F88MIX6_M<<8J>G("\AOO;4L+ MV1&VP+NCGS#OB5>;; O/\1_H;_B1M*8][J%D V>?02&4*6H0P8!Y;%C_NJ>L MC]V([//EC+,T)@&.+9[SZ@7+!8E=/XSI /81?TG._./-K1'5G'*@:H =+&9K M=)QJ^.I<[3QPEPQ:H(I)O)^6C6*A7IB%2KM0:1CZA9F&N&V63M* @Q@<62[% MC(Q.U^XH.&[S*X#:"L )K-E9F8K4I0&3BH'17=ONF1.36&2:E7B $<-#NMLY MT2O?L21/ =D0ESV86]J"XQ_R,@Q2S%-OLO1_&[G\ER?8\C9-PAZ.& M'MR\-G"&:@E#=?72J"I@WFGK0??E/*X';&-OZJ1;5)]W<]=VOJ9UY]O@A^L; M,D7B98%'L1JZN(8JP /=Q.'*R%I3 M'G! &YG=>8"7"4>R=%!MV'REV;CR_-JUX:JP6'%37PDP&YC;WOF5N4S# G$=O+$76@ V MKJG.#)NQMB_35IA9 M0QZ.E:66+,D'T#=-YC:( &:OH!JO=2H+ P]9O9-RK-:7!!RD#09WSOT1!D]O M::CL^!N^1[> ;;7/IJY%77I6+53;G2B*SJ:-#GEJ?PUL7C.6I]5P!) :W[C+ MT-< 'I4&[M9FS9]5#V)B=?\\^J#:;%,WTE!E?JU6VZ'HRL^KW0Y'N&7#A=7! M3.2TQ:?&G8@]H<7>>WS8.LVAJBL//$X;7:T\WJTJ##A"FVWNVE)SR>P-5,1E M XC-\=Q]90%@:HYB;R#SP[IQ7 MD\P:O84"C_AA0*M,!GM)!,P= SG6*^W]VS-'9+@IU<\@X,YD0!H73'I+/960 MT\/6*>;J19Y"T#5XUCGJF.RW/*)1)ATMHX@][,U_MM_'6T<('"^QG?3DM:%C M/RH$G#7JG:J,QRLE ,>TPM!>#7 ;^AZ-E-\A(=SR$T29-<*6VS#!Y@L];>H# M;[*MH3AZV;,-I97J X]++%[-"HYLS:L.F,L+G:C%KV*).>K)$72F!U M55-" "/.TW6,_Y%2>RZ?#?8:-<6A1W2#HY4P5I2%'+M-)G=NK85@)"3#::N- M/9&F_,Q:J[[7416>47L=D%X/&RR$;F4Z;P=[/Z],:;MWHC+//*'3J+V/8[:3 M)^6@YWED7U41.80\H!$[&%3YFWR]A %_KV\8WSK??"A'FN$F?[Z-#4'W7!%_ MT&^=YU+>'^92WA=FLC^[LJ'3OO=G%T21;%J\AY[K1TO^H$:!#_UK]<$-881% M(H:"6UC%S:GB%A[@9F^H]3G&J\UEG! Z/\&JMP*/"@&E:+U3\DBJ6@+P\$EA M:-?&2<6QQE<(7!01F_W7^@AJ9(=Y)/Y'ZCV)96,BWNN30Y66UCSA5_=ZD+WH MO<4OTGL#41C0'UUAE/B>^M%:#S' &: K,#)'M)4!F$4ZN](U[*C"RN,3%97P M2&=R?.ZQ2X7[K^@ZCMDKPDJLK)ZH=IZ>(OR4O366951_9"\@&YR;-JH+G$5: M07!P!KJY(F"^:&=_CVF:I(5UO/DC!K]P3?9Y81H<'MPM]E*?#U2\4B.EASJ5$D;FJP1;-TEV8_[]@>Z6^V-S SVT,=7E=IPDXH2@9? MBC?;6W'40"IF0EY# EK':D/(GP'=#>KF^#RX0,(F)!N%,JO D20X*KC';AI%)'CB>UMMIWN#Z !.*J- MJI@B]E< F*K&\7.0X521FG:13R59/$M&Y2EK/41[_L(N)#:$H5 @7( WQ=8: M">(D2L4.W2['U$G0AGV"9YX=F"(<%0CSLQP LGP;X/.ZF[_#. +4VY=(-DZQ,U#5?O MT"](S&46IF[XFS!Z<2*/DW))N;LR(7M^,DY>HXEE"5GOQH+B;D&>2O+;D MJ1Z"9T-9?<&K9Z^N4F=!9+V=&REAW0()]70^G>D'R&GVP)/H+6;J4+@79\DS M?;"H+/N^2S9PE-%A@UUQ!C^.TYWX76=:ZZ5DAA37']0FNNNN86;4-X"C0T1R M+24RFQ:(6Y51(IW3%H8AR3+0! D$XC/?<7]]2W]#'8G??L)1P@X7L',?/ 4EB#NN@ \/V6F9(H0/ VF;(V%+%S$AT M"$]'&TR6!F54RDR:X=AR+XS)H%.T"8 CKC QCCPQE]AKPT$# ; M1C0%HY[BFFK/@K.,G1@B0#)EE3U@>!0S*21.!DE&$383=)6'B/CIYT\D(+MT M=\_RJ/CYLQY78;3:\SWAX.D&4V]:GQSL)7LVS#( A(J3@MT%SX*/AO!OD).! MX@9 9@@2EN2CJ)AG&RJ,0<(:@%0&! =FUD#H_INOBW @TQ_5562ZS9"8<9PO'6H+;YSBF@8V@%33V9F,F9!72U=&60#,%.)9)T+M'Z5?Y&QTQ$E31=+-<@LOQ!5 M#CYU:>"1T>"F' "*HH#;>9/%G9-(UC1A] L3#:S!LA]I5W41[AQRF BV3;T9 M-N):UYN:V#-O%_6.#IP7UL0:(0V.Y?GVZXO!3R1=H/179N?]"2)2/G#YA=)B(0Z)/0A MIG#2C-2N+Y4ZA7X1D"\FI1W7Q9_5WLSI,N*&_N$[PKL7@5JX"E'K:.-PP M+BC*SVM(<&SVL ->)A]Q!7 & L/Y?(%C-R+[//EEK@M4Y-[AB&6J=9[H5/[G MD'43U]DJ5)P-5CQSZ,R$S2_:6X#4P ,&DN;%$&T<&G8L76IFP25THT)Y/M3V MP/#*%$BM7@)JV9;LT;Y$QU$@,6$:^Y2-@=CY*_8:'UN6RY[.4XT7M!6 \T>S MLY4D],K2@'G P.C.B>6Y:)$K.A>.ALKO)UP%X@=7MR&OD>A M8?G,DM?;,,'\MP][GR3G84 G.#$[R\ZFF!]4FP3MQ0"/[:[ 5':!6LH S .= M7>F\"R0I_!T2*A'3F=^NXVH7J%2,N&9+^])6X$&QP, M,8CJ,(#QTH0"NH8J MP&G"Q&'3YR0 A[^1V6,]'C'U>[!-I4%W/H: M7'1IM]O3&(Y2X*GR)GQ]J/:T(OM>7G M03)J5VNHYKCP? A'8_NDM$/#SD=42C[2% 5,14T.YBRD*@><@!K-GH)[8FX$8CF@D9N9,2WOC :# M$(R89&E"98UNQO;S;?4C@EL4OFDX2690#2A7M77<8('X9@:GRHQ-'V&A^,;V M\3(+SEM_4OASL":^CSWV!#KA;QO$YVD4T5Y& 9*V O!@;G96#F-U:< !;&!T MU]:;BT:2[ 7*I-N)V"F\C0K9%I^(S.XC/X;9X;/\Q!J.?XK"6-7]&E0#'K&F MCE<>AVRH SAZC4WOVJJ+! %TFI"I0*6.!>):++T&.;KOU.0MSY(0$;=3,-=. MV7.[5YMS/Z06/RV]_Z;C=?Z[>_%^]V-8=^^Z9C[11Q;02!X$HGQ5H+,@X,L& M_?WJ&A2/6SJ]=.(M"M-DXX47DFSY4D.1#H.][2(,1$YI(>+/ M()0715AR-+3.K)UVX<$>D 6SKC8HTXTDY2C3CA[#^HP(TR]>V,/J_+@-#4;' MN<'GX6Y- AYP?PE];^VXO^8.UV!A5@LPQ;9P.R=3@RK :;.-!WT(DAWVSHBM M\K8>VF*A+3F#]GK:FM0<*\:,X$#@WEZ:K/C_Z,O.G:UN^K&U#[RI6^;1[O MQ6"1_L!OR.BYT3H?C@I9/3=*ER'I:)$I16?@J')47.[T;6=D^B2AM]Q0/+)Q MZ 4=ZEX?=0W+B*4CK+GU,*3 M[U%#$ G0RY:X8K8_@"S!5T'QV-C1.U!F4%0R']J'/^B M;'.B[8[9)SS2XC%K]-1O?JJ&,B-_F^0";W 4%8_I&8ZOVXB;5P_0&B@-\1O+ MFA_?MW>M^_)$IHE%2:X*B9=LO$S9[%A\.OCJR;L$53( <0M0;@*LP?ITB-TU M-K,QB3K/[L#>C H#JNPJC(;A[(Z2YT7??>#3,'D7L?,C]5Y>]L\YXN9J>7)_ M [:W3N-6 *MG] Q&MC=7P$BMF0V_0VE[DPS"'[&[#8CK^)^(C^.$*NXX_-8* MFA=SMP#'9,BMEC(_7F[C5/]A=I(K0;M<2SF^SG<'V<.<8MUE0Z(XD;B;!M,I M#M1'A+YIB%ZH1H5N6-P]!4C-H_(%NJHVQ2F&Z<<>/T;4QBUN.2C7RID7D9M# M8S#@5@N9'XVW\*G_@*:.Q9-,#3L;NV:D3KX2%I\ ^:91>1V)Y\I!D/BDK;-H MDV-RM'@HO,XCVIED3IEA8RAI7CS=!AX-4YN(F1]7M_*JS\D[1[QFKV#LC&AE MPMXSHA4&?!WD/\>'\82/7G77HHF%]?,9"__5=NRKXDNW6-$JY*MWP38_H[[V0[ M#\O?1GETIFE-7E[_R?,'"-M@+?U8QM=D5>CAH(7;?^]&PN\\#-C3&]2LRCG[ M&^*LB4^2UX.OT$\2T'YJ 'CJGKEI(0;PA>D^W@S+6J5:5-&[0(5FNX_;3 F1 M!$;EPM0X"(3LG7A@"#PRHYCS1CA,.2=8NFZ48H_M).,@SM"(#].]#"X<*+N. M V*/X;]"\NF-^YL<'6;9R)7$TW_$B30DSP?RFG$\G0;L#2]VVC]O8POQ'L/X MS"0DVX284;,8OH_6A&O6.IW .YBWVNQ$#ET^WS*3O,?P%B?7 8T0?'./8Z;H]#J@EGY/UQ_I%I9<823;\@AP@@BW$[WQJ:7?GE9O-='G MZ=%Y'75:*+.1)7FA5J+K[.LP0[^=18\V->ARZVQN_O;6IGX*0^^%^+ZX%T>1 MB#"U\ *+_RKFG8V5@'98[9R6%Y?T-0"O(QD:WK6]Y^*+>Z&Y!O0FUS$Q/TSD M..4/VN&P^\5/F2*+[Z2Z6^RE/EYMKDA $GQ#GC'U.*$6DK6/EW&,DUCWS&$K M PMUX9*=4CH&_R]Q-9AH@'C[%6\ M'>8[<=VCBMTD ^4#G#(D=*B.N!0Z>)%UUAIB(_U:_Z>'M,X]&N/0T9+B0M[ M=Z_V/.=&O\3+P^#^887'MTU"F=8 3B)'+,EUH*P F!S.[.R\^%M(1%8_X M/WFKCBV]FC2YVVS?9!W1_^V45&Z8^,T?A^)9E4D8Q%NRUT>OO@;PV#5P5XY< M37' <6MB=>=5D_QELXIPRQ$[B<.1+-SBDZ=MH@_: MYEK ]?0[ MU6T ,)R %_4 QWUE1GGBU^F!>TFI9. M++X>-KKO7 HZ=Z+HE3_MPT_T@(SII>NFNY2_WT.MC!+R6]VAJ5Z"YAOW#> 8 M,H%"RCRYHA.XL=)\ M^4)RVI ;:(UY\H!L^%@Q?WM\;'V8\4'3';"1_>;7O>Q%K4C@+7SIA^2J_Q%W;NV>(3WQJ"NDJ3-,*R MN9?"VN4Z3B+'[= MFX@$'OY# &;8I3?* TP=@[@UXG!@41GXHLP"EJTT9A?@ M_H:="'URJ*$D>46_Y);!7$VK@?(>L[,C'DL=*#QB#G68@)A+GF_8MH7/=+)N M*':>0=S:NU%B><$#USVM_A+\OB"_6?\ M*0R2;8>= C.A)\59*M"ZT]6AQ)-A*J5CTY(4'V2LCE,U#H+6,X[6X9"T-#AH ME"J^GPLCL4_U^!(. F0IZZ3XYP"B[K23"3H9MCGTQP+)4/5S&/D,A10-^8^S M8A:J7G7[L[NTTV,7&::>_,)$G1;#5#RRP3',@-FPS"!H40+X_9QXYHI"/QB$ MF;"38QD9I'XDPR2=%,=4'+) ,4S_7!AF$*QHY/]A5@1#RPZ'H!!V>@0C@=23 M8&C9TR(8V2$;!$/KS(9@AL"*1OX?YT(PRPU%<5"6.91X4E13"U=WOJF(.QG2 MJ?=J6N9QF WSXI]A87OA'IP=#,J5"44:8PWJ8]\LK%X^NYZMW=(Q'*,'A\T M%!#Y#"(%B.:U@;-*2QAD%C&L"I@UVGK0M>F7>FK/VB[R#(%A>%>QPEKW?4Q609>)?_2,F>66R6*;2Q.G!&: M$?990?5W G-#: MA/FQT@U:3^RICG>J69O,TZSF7%O\L?M&+;ZL-L<67V-]7Z+/>'Y9 MX7FFQW(ZSBDPT$2]]5R;[ 6,E*)4^*W/TZK+PHXCILL[IRF M+I,KC\SLYN0;V5&1/I.M^>RW.'+\TG%[ 7K#'J9@;R;3R6,4/HO7C+1!JJ\! M/% -W)6#55,<<,":6-VYL\EE(UFXY<"=WF&+:RGA)GEQ(DP'$_F/68; '7]_ M-VX(WS;U@0=S:R@JRRFFE0$'>GL?.C^YDHGG(^SB'Y(R_F*;;1Z8#H]S9T\2 MQR>_T4%WG,/A27"PQP@MLH1RWG'3D*33J")P7C!WWFBR?3.#])PMC!]I3?4& M0FY.)0RZS)R-E>;:W)59.?4UYMC,A\E*J6WB5A-R3N;XOG <%[']5.?WA.FX MRK1^%W@?89?PLQ/T9Q^S'R@-E_3*,U2@'I0!#@M MU3E4?12C_#M@>J@UL_NC#Z4P6\]:C.2._>2 V>2=K^QYS9G[-<6!1U:3HY5] M*459P!'7:'+/U1TD)$-(R#^ZJSY_/]WV04'9S9CUR!B?.=0S%S]L,4Z6QV_D M'@X?=-WB<-)G%/<#P*BBB1ZB9\(J0W@X" E1]A&FH,P6Q(U9U+_CO%".8^VS M%P1(9;*C\R )*T^#U82WMAP2_>SX:7Y3+?!NB+,F/DD(>]33B=,(>ZO@'KMI M%+$K)8%W&P91_L\S)R:Q[D#UD/*!4^'@4%;N>@TE'# =#N]CY_M@U!+$36%W MOS+Y?&(N*[1_NKM C#*:P(ENLYISB;AF]VMC25UM#E%B M8'W7]B\)1H5DZR>["\_K_-:>[#:K.9?6WNQ^;6M75YM#:S>POC_;(T7#MWJP M>PH(VOEM-^3CHD?6GCXSK#K#H%-^U@:\=D]8S8)"(4\ M $%^]EK\^!>"(QHFV]<;=M+-;""KKSR70#<"03&S3).:\^<%LA%Q;8R[LH':WE@N.B\\A\C56#]"&;#[B M5./;3>H!CU-CURO7,9HJ 8XG<]L[7Z#(4T.6/7FI1?,L\C0=^53^ M_VCSG&>\I33(_L-N<#P[?F61H'19 5&;^L##NS44U=.8AI4!AWM['[H?_XNW MO)OC/TC*%$Q@Z[#DI'C@4L<1(0SBL,&+K?9>9>JH$ZWID>"8LCG\)#_1R1S[T^!^$ZQM$S.\_*%W7HGVE, MT5K\?+K1">_AU "GDK& K5W1&$@'8'H:S=4AUC6:%S.X70LD6R86:U'5-E"G MQ7.W7L4=&*/C-;5UYA*J.I<5AVF.*\PAB+1V]^W07L6E+SBG9?I3QB%>9B=L M1M0[EX@:&_J1>L-ZI7.([-%]'V"7LK:[7!UUEP:]Y=DK.F(=&(>-YO =UN;H MF;"V][QE5/SA_1\_ON=$3'_Q][,T)@&.X_-PMR8!=^P\#!** <^ &<3$PQ'_ M=6%*[5&'OK* $N8@$#$2["7(,K%YH9NR4WEUN1*&\:O[N?<]=8B?;"3!)HQV M@G98RJ?L?;LD1&YA"_NQ- ;Y17"E ?TE6F=^T&*%(^]&X:FZKL(NDKEF)*E& MI6Y442[1DITS+/"P6O0!:Y9C[AO3XS'#J@+:44P!\$B#Z9LYG9D9PUUH2TPW M$$[0U!W+_RM)MD?HQE7SX_N#@TH9^7%935]W8%USX8HQ(&ZZ0]-;T1S88A1_ MAZ +^:KV"[6LAA;B UY8''-).;+@8D<9@^WYD].7@38K*TS \]173H+^(Z64 M^O'] K$)\(@X/21.E,P;*2=(G>@5?:C'"GX'I #J)SHAO GC^#IP_=1C[ZU? M.A&;(C:.7R?0?Z(=5>=/,43GU5KY"79HW3$ V,DM$+,;O6&6?XMRVQ']56X] MG NL@#_.,U];=KS_3N/$\MMD$F .BR/=TGE&PQ M*G/49@ \5\*TL 5JJR>$)@*AB.G;8WS.ET*J(*DZ(_&48R4.(= 3YY)#6 M6,!#K2&]F^9,3F55\8C%[(S7(* H+1#R7K'3VF#/81N]N N([_ MB?@X3L+@\/3 @&*!LM+0P+4_B*J6"7P@.:B+7<-)B&;#P207CG:Y=#J,9,,% M<4:5CSM5YU1?MB$=;&ZDV(P1E4%V_ DB,7"-29+RTF_7_ VZ7>AA:L@3U/.K M(Z+>MBO(OM)J@PIC4&&-S7=;UY35XR3B[5QW>;>^)%!.,W"O^ICK43' (R&= MM5V;\X.[Q5[J8T8C-V'P]):.)':(:4*EJMC^Q=2J[S<-IX/5I6?5;H_<5+?= MFQD6,XW J12?59L]=E3=:,NRLVFU-28/ MU&Q90A07(R'Z9TT( M^-!+J$.YO@7*-*)")!Q=4)MN[B6Z2/ZM"*G\E]V$?8\5;!STY$F*7LZ,0'HY&9MCIPXF@+ MA'KVH*X+F#):NS#8[$)D51'*V-W17!T_360KU^ID<.3TZ0KZW&3,A-;8B=CY M"LIK.$[0&R=&#J,,QBO?6AQMA,'3(XYV#!\5T5:+ _[.H:G:/ MVM8'&E"=H^I%S)%##3T:G$F%7K1ABMGI9ZJ9SNMG M1*@C Z>@593I15PQ$II1KAH4N8X,T"=M"^K,LL/,ZBXW&^PFY!E?!VZXPX_. M%S:Y%6>'4CID7NVS8T.J"L56.A!+U9"S7?\@?'/+S!4=14LB[- M+0M!%!8Q..UXRPZ:M<1YF:.5*3Q:*>X'Q \"B( ?F:E-C68/#URAS:RU3,*< MAF.E'F)FRJ8FXZ:N,F;,L*.-'*1HV%=WH%-*J_S.[]?'P%.@K1S$YA9[9:.5V88#S28,7N6G&KVBS)8->5M+P4HB_>$19[\MA0! M> ;KK1Y2ML>9E)O%1W %7.X$J80VOI:+_KI*1(X M%PT!6/.JW.Q9:A"W;%,6P'4]H 0&YA38+4X$#BQCZ_+9(3X[$/<8LO.T#*_0 M_74;^AX%_X+X:8*]AH>Z^\@#SF2]H9)IK+,PP!S6WZ?.>0IPDE-1EEVY4,_F MM<( )%NP0)D-UE\#MXA:NF,3Q#"R^#PX=5WD?W'\S.&M0V%>)DE$UFDBH."_ M.V-I(>Z<5U9X&44L:QF_.*X>PO87#)R1A@/O8.K74RI@CAK0N:YA)YE0,!,W M LE6,-[B <\&%6)XP=;_>,DL14IF')*MLW7$%P"N!5JX0"N6T')>G,BS.'-< M!@GQ,A,?6.9\_M;6Y1>1)/^*!C8%;I^*=>C5)L^93\?4'#;MS?ZA9 /GNT$A ME"EO$,& 66]8_[HO(I=6H-(,E-N!V-=&DB4LA'-;V.12L)_=I3$84/X5DZ*S";[N;8$-/K7<@[+ (^V6ISDCJ0(> F,"7.E[1M #."!'=;=SC\04HK.&7N@L MZX6R@M5>2*(&:A]B!B)FH>7'A4#"+=.H]:>(+G=[/WS%F"].K_8,'NT+1+KR MP"FMT=7*WK2J,&!R:;:Y\YYH)EGLNR AV_*;0N-Y*YP,][6G J<+S7L<)Q%Q MZ92>&_0Y($E\__!9&YY-=8"'J)'+[LY0YH]*9)NG:;(-(W;H?NA/IM%SJH'=!.T@<:Y2#ICF=C5:4Y'5C%J=*E M!M!!F+)&_BF2I,Y-B_PH!DN974@8-C-B' /9')#]>( 8'*4#!4G937C.:YRM M;[&SB7OJ^986L=Q9K)MQ6A_B=/EE3\3%6(&2[CL,)'\.W<204![U$4,(A]Y! M#.JCQ=ZAM,E^UP "4Y:[F%$@/T(W6"*2[CS/+^/S$]?T3]?Y4>MB_+Z,RU<+ M5ALI7[)\,OL =! & 65)$-@4M&K?&N )6X" TR_5!KM'RLV@/QS/T)%\>S3+ M#!-*>=&S"MF+)93'8[$[&8C4IDZ7_IOL=M@C3H+]5[2/L(NYC V) MV0W?5^Q$4EI4+AF);L.5NY<]=7?:5#$S_\Y#3.-$4\D]H3\A)?V7]&0/ M2^TJI]"OW$":/IO-"7W$2C@XU8\82^7VV4=TQ$=T!HCW/,IK/^(,EN_$28Q8 M^DKWH>]?A1'[X]#3Y"9E0$5A/T6=QX#EOL*3(#%Q7J_X49B3(K MH1ZVM -YN>RULGVB:T"$A%?C?XE"S]=#I55H1V)1H>3K(- #7X%Q9[[%/ II MBNV'RZ V+2]XX3_\)E!X2)TKFB],:/Y$@T$ UGW[F)UHP MB:^S-=>?HC >_ "B5M.)]S4:>(?L;6K4G'!_H_,60H\C[&-+ L)"]AMJXSR' MZF. G8E&3TSV2(>[QMRR'Q&:G^HAF4^'0N=R&TR2E'ZS:X.=^L$UG7B'HH%W MR ZE1LT)=R@Z;R%T*))]9:\R]U4'_B3-OV0PQ)OZ:Z3YB36T, @:B%T3S3=FXV.W7)?CW=0M3H4X+) M/DU.ZUC"\IEJFB^[7W[!D4MBEL=I5!JOTW/B?*V$=DAB/E)RP@RL]A4"U4K6 MS7]9?WBH2^HL),^7-:6>)4^AN109-#/@\%U$7,RVDC=3G3XQ-^3$>;?[QQEI MO]70BA-F[AY@0*#VRD"YR)F;>9 3/T;O+]A-TO^<\>X> S M6.@&_LG]LR7\^0[RI_HR\DD57#G1@]Z0 'FT)W&BF)U+%T?/!WZCW-I!G\E M/3K^8X@KH(Y4F0RU=FM[C,YT4 OFWJ$._SF&2;S<6OV<.]814!BS<]4_%J ] MCF2CBQTQ@?/TW^?@ -/I\7\.E]4NH*T1I]X+=/HH@W8$K2PXY;Z@&Q @NH/" M]-/O$:;]2@=;+J?8+=2]KT M5+N(J;_4T4G5^742O4^'6=B;Z6W4W#N023[:M$=@3[5SF088"/L^YL=E3W93 MR/+75)VP/;E>23IA9Z'[,==^XOU,R\\PTM'=K[3G:(L A"ZB\:^WC8+Y^>(IXQZ1"L1271_YOJ-8Q3N7!A""5C%!$(?H3V<5.E E 0YSWT.>Y]/V]/T MRF-5^Y3K'8XV8;1C4PCJ[2$'G/U<.B<9< M76IOQ:GVC/T^RWAON#6:<(K]9$\D(*P:&21;XD407^ /(;EAF'YS-2R.!]PDGVY#V2.'3ZUBWT5II M/E6Z;@__(&QMKO84R;J#]Q:YNAQR(\E>L>I>6JRYK#93%KHG\:]7$69;MI@V MG>2>CID_D8#LTMT4#4*O_FOB(X,/,1HI:71_+EH@9C9B=J/<<,0L M7Z#,]IF-*J?^,AR^MVC# "0Y@!%;-GBSIP-;=F#@"7^[0+MZ-$^)\YTO5CF_ M4/_5;@0"0_8M#YZ7E)S?D'_?C% @^EPB>\G!? M@>9T _XF _Y)_5,-^K7:OW+JAS_PUU#_R8S\Q_TX!M0/8M2_;D9SW09-EF5H M\-0!)@KG0.VC@CU(ZH!&;="I>URG(5/U#/.8C0]\>7&6BD-O7N>:D*SQ_/MM M&#SS:[/WH>]?A1&K-/DA?(41;ZBR 3N'3 P'_FE-A/OTQ93<^ M4;@I[J8REU#FTS@W5*U>[1GETQVB>-)]@G#6WH>1DD2B:N[+6::^M(K?^C#=Y2GVE2+GD+5$$$?JO]J>LOY# M3--15G5_E?VD @+XW626+6VD1! _B&\2\.1@EOK(@3^-$#=8+K/Q_%8^3%D[ MK;%M"U#BM@U+P>)6#0&>&\X^+OV74^1,Z5A0-Y&H.RRI.T^IFN5!&ON54!A;:9-^[6X)J+ZN'A!P4_AG7]?F T+K MX/[9JX'/W3=65W;2&X7C?UGU'J)A?K\3VUJ<%O&C7"^<):#_ROJSZH[U_#ZL_;V?;7]6<=/:>/\ MSC_[LR$Q@M^?'9X ^EK[LZF_<(8[N.[,W6(O]?%J<[G;^^$KQ@\X>B8N5B#O M9ICC@8#&QNON# $PV*H2C7#KZAKI8OL!7[& M?KAG%F:]:>TKX.UJ H_K%N[+T6U0#7",M[&^X::.5^9\#74 Q[:QZ9UG8D*! M]%P]^Q>,J![?>T?X]0G.[W860QR'_" 8XL"#_=6$,@Q;U01<."WL[_S!J+0PJ._J@<(!4P+ PM_IZ+' M7O /LUQW0P)\3:MQ51=E@'EM?)]'H\+"JOSP%3.#_C9!KSA!I27YV OP<,L* MP)^#J!#V-;*M&,U>A5'V*U9.]1[$Y$9\K;RL_2B3D'6M!5\C@^N! $#KPD!$ M9X=(,O'$:'Z-Q=U-%-)_HI: MN:_V%#+_*HTW/>Q; [2'L ],T558-N7KRN#7"9GNIT7V%!*^.DAU4[YA"P8; M=DWBF2?&"3>&"?VRGL9+([8[RV1%F.W)LG\)2IQUBK])/PHW#)WIK\^<9==G MLG*FUV<.;\Y_$5;9_, 99*9;6A1+H+@PT'GS+!E;ONXC&!G\#6^]\NGIXB_[(("G "( M[7.VI!TE9.WC.RH61Q'VN*?R./3SGJUMLX+Q<>_<3Q+P^.\!C\P('<0 YH@^ MWG2-&TDG*I3F@X?*/ ZE5#,J5=MA$AL8E2^CQ (05Q@QX :.TJW2C7LVA*\9 M3;6H"I04N@"0S\Y,ZP&?AK5VH_,. 9."G/W>)V)#DJWMNX42ULCW!0WPN1#MK"0FTI4A\.$2]',(,'W%WR;2NP" M\#7_QP@[<1J]\C+WF/!2JH7!#G* $FEO:"I+VFV% !Y9=?>E\Q(XI\YLY"1T M%CMS7.T"Y8H%Q:!H!)PYCURMW6)HJ 28&<]L[+TP(#4A204<30HGFH:+.,XE, MW\\X\,(HVTG/G:H95304!]I>31W-9PFZLL!G!D:F=Q[J.5'TRKHF<3S(B=GX MG\T(\@<;XBW&V?$#]C#HVB=/CC@A1 (WY0/#9!N%Z=.6G1_*2K([GGOGE>4) MY(=0G[GMM,9S2%Q.\2XFS[3J.DU0$":T,/'>H<^QF)'0MNUC-Q$SDRQ0^-DC M,3UAO_;+8$)O/&KY"TFVA/XYP.@5.W2N'N6_8L4#=D_21^$>LS$K===]=:EM M9(/\,'C"T;?3SFA&_:0YWPCI^4&BDG.FG[B,ZF[F9G;>QN*";^;E61BD,580 M;E-9H&QKY&+-B*!:$/XH0&%OWTC,Q%J*P'%]S(_W\_4A.G#G70/C_[708ST> M'VA'%A'#@#PN/(^(5#A9$Y(')>''I,K@OD&9RX41E4-[27M9JE_DU1$'37$> MJ!'VV4UU^_<7[ZAZ=@8X\/B1WKN0SH1P0B)^GO8";TA V0H'](?DCL*08R/- MHU2;S4,(!A[XPX%7.6#16RI@0AG0N:YAF&MO=K::_E95&G#+-C"Z>X;77#2295M_>Z7>9>W3*PU59MF, MU0^OZ,K/KBD/] ")LC%;?70%E,N=]ZVK?>IJLV'98O:.BZ^9*SA.B$MGIG20 MB_T32W0)=D8"J]Q;H)QSMG.!U@3[_YP)1TTE _QBQ+7=: M.G)^([36 W70V;/;>VQ%9)FRDR(^<:;=J[8!]<&X%PFMB*ME&2YRQ3Q[?J;: M4KI\:Q!Q+2.1[X63..>TI>.H!_<:"ID-];8!I9YY323,BGA;.300[WI4)W*Y M4B7MWF*V3,2(-I:8EI%H0:DV2702V XYE"E%0BMX"IT$H(NR(=F;A=8N)-TT M/!W26 DHI[9S6IZ+ZFL GHT:&CY0D)<+A#?JQS2F:]S<)AJW]ZQ#\?4O0:C* M F_*6A?E%EQ;$'##U=L[4'NEO?.]])3E*-W.,X[6H7[]9!Q?N6?6MZ^K!!1? MI4D:X4\D(+MTEQ_%O4AQP\V6]E* QVU'6-1]4J,(P+'>U9/A6$"H1)G.XLPZ MNF#7Y*Y([#H^^AL[UO_)H059)D7UQ9EIUESM8<8G/3':",AV&61B*B3=SX!- M.?>8+1Y[.%IMQ.=E7[<'U"IY)T!#6JC:$E*ML)E3D]ZGT4F*C6$R ]B>O<16 M<)EI',C8JB)LVJ&,?!T\OH3,7;/9M9F<$Z"96F@ZC'=*(3.GE7I?)J 3JIBM M:5+5G$4FSL]H#R(:U]_/@3ZH5CP,@ M5#(<3#3*/\Z 3*XHVH-PB2SH5*CD")Q.3%)(.04B.79F.AYANF=!(\.!1,/[ M]^!9I!]<)\,7/4AB_LPP[9KL./'/GKL9(/Z'>65[N,2NSIXPQ[C-(I'L:L,> M-=HS@\76TQ,=]G#S:TY&M*T/-)@[0U'D>6U3&?@IJFZ^],]>C',5V7:!4RA! M_!R,>'\J"5D>*%?8F&TW3)SQ=5)\,FT%\65XK3:H4)F=H2J53KU5;;/5'+05 MBRGU90 Z[F2WE0&43GM!4DF@WT8 X'%2-S^&HHSY[5]/B]=5=;.ZTK< 2-W6 M#$:;_>KNTF9/-L9[U1U%S9J QMET-:0B:+O4MN"RNT=MQ+J-.]3MI6!IW MIUN*F#61#+OMVF(L V!;>FIT[&Y*FWK;M"7=1'V6-LR MA^U]Z.D1LKL+;>AOTQYT!S&GP1W:_>>V,N;/',-MJ[8D#ML;SY/C8W?;V=1= M\CS$F$,6Q=!_E?.N.F%3E[5F@&K!U9 MJ.7-FD,,W!I]%R6W >5&L)%&_N=A6><'@5F G]A['?UX9T3H;G <_XB6NS - M$A3ER9K824*2*87,57?"7/[,Z6ISBY.#OW=&W$#P['G+%+QV[-4D==8<9NS< MZ$R662(>(V9[PM28HV)09TZCPWB$3D#1FA _02IT@9/HITI!N6IX4Y<=QBSL*#_A)-W[0E0<>A8VNRG&H+ PX M$IMM[G^FNKQNDPNWT]-.X6OYZG(LA%M\N2==Q_@?*;7A\IG^C_:EGOJBP(-3 MYV#E)9Z:6 UQ>?53(\;@F>P,AT2N=+&UP%&'O(0G=7VOSPS<4!=Y>=0Y6WD^M*0>XG6K-[3%S%D(1 MEVHIJ?B4+MH+O,>(SJ/2Z)6;<1[N=F']ZPPFY8&'8*.KC.3F:)Y(U)4''IN-KAZ.YVH+ X[-9IL[ MC^@<\=1GUE=:?A11\N[6V=$?'R,GB!VW\6E$HXK06[&Q\Y7FW%@+S:RJ[1'5I9'M4-Z,W=RN9Z!GEV$GSG.RY/>=*PHJ$H##QT]$Y65S7J2@(. MJ@:#NT_[N5A4R+6^MC&-FX/E0KO!Y%>B?#ZR^E>@T:-P(\]2)OT)> ZR.DN[ MMIB#)QJY:"1D3YLX;$BGA!?VGD0.B&*AO[8 X&"N=R:/Y^I? M@8>TPMB!HCJ7;B6P!W:M\,5>>(_DT>!!?OMS8YA+1680Z(<.'89Z_O>9!/N1 MN0.$.PDV8;3CFM$>1XE# G9\)PE+$KC]V0X!#.9NZ0GZ&0 -C.*7O1GTF4/- M=_'#%N/DAJFA34FS]Z$I#I113!V5Y]&JLH!GTHTF=VVFF6#$):-OLZ[VVS"6J<$)9-^!,_>)7M MC P[D#-O4;6T?_Q7Z*WJF,H/_@2Y90VU(L%D6:+BH7U1QLG0PR>C2/GD?&$7 MF96Q+Y4_ HV8>AN[MK-,FL6H&<6?:<.#!2L/SP<7!TY$0L4P M154.<+AH7;?X2^M[:<7_-T\@HMSZ[2P(:E / DV^D=A0#?+^UKU<#G<)0;,UNF"DH M8;;\RL^:;S-KBNQ$TV[7VD(KUXLDQ8AK1IEJ=OL@5UZF#+6W 6P+J1R.,#A* MECHDOSY@2CK>( 1K*FI>#-L*( W%&LF9'\>V)9;9M)/>,M]9;]AUGS[/B,E#2' MZ+05@(=LL[/5[)ZJTH!#UL#H[CD^XRUOMOP'2;KU\W3W.&:G41/LU;M?_UMM MS]13)/! & (P.53ZR ,<3(.XU7VVD"L7 ;>LBSSU7^SVI%:1TQ#5T&N]G\( MOWYRHE]QB0[?('W84PT"P^F]8#R2&O7\R4%HTK UP_:^3#J19D= M,P7MN"UHPXSA[3ZAYB OLV?:Q8)IP.%:D%"#N!Y.@DP3RE597 68$@3]Q[)JOPTS<7T=X#%I MY')U+JVI #A*S>SN/AS.I*.C5FUYHCNFU[?X!2D]MQ?&-SA)V'L>PB!M]"J* M @]:G8-RK-:5 QRB6G.[9_UA0ME&;-8^[0;DF#Z&N8_V0N]G)R+L_9![)ZF[ MUJ8I!CSD5([)X798!G"H*4WMV@1S@8A)M#Z5DMW33J1J"\ZH*:HG4<>E9M(< M!YI='#1(J],G:^Y-..8* R\,^ O+:R?X=;798-H5,>-NKL]6]_I!F&%=X''9 M"H+*,,VD(N#H;6=_YT$.UX(*-2C3(R+@!EVC,[1"][;'=]-@P61-?%M6//NK MOBU[\'>@P:ITI;@M*_\18-"I;>R\49,]Z&SQMNP8_@RVB]1_?W^_8<_Y=_UCLJP^&X#U<=$LOQP4 4I).HTRRU&AF30Y]?)*M<0,FMU ZPY2P[.ZI#*Y6YV'CZM=0-9I M?-C[4(6LJ'(8:5@-:""U=3P?5IK4 3Z\;.7"P,/,"/OT!S'(S.Q 6 Q*2#$2 MVU.=TXXT)X$D]_=XY)GIL3CTG 0 [J,6A6E7C,[#E"V#[9TH>54,2#7%@!); MDV/Y,E)=&8"CA$93.Q_NDH2.,E U2X:)]Q2E+;5H^11AGB'KT%ME4JDV=0$W MUM80%&DV32L";=;M[>_1&6>:4*$*U02 M315TT%A[G7G\?0C><+13WZX=OQ/ M3N \<7=N?%O[-(8M/Z;_&YF6<<+7T_3%B$K/:L5>J?FM&4!TILQJY6GIA1%08X23*W MN?.2')6,"M%(R+;]K,QHWGX./!R]1(1?-^""[<7G0[J.\3]2ZN+E,_V?1ZI/ MLQ^L+@T\-AO<3FT.]['384NT.\J9Q M4O;MS]^5=MS0G^@O\U]E]?_]_P=02P,$% @ FHC]4G\?LC?S2P Y+H% M !0 !D=F@M,C R,3 V,S!?<')E+GAM;.U]6W/C.)+N^XDX_T&G]F%Z(K:J M+%NR[(Z9W9!OU8ZU+:_MZM[9EPF:A&1,4Z2:%Y?=O_X O$BD2-Q(4 !AQ5[: M90,@\LL/"2"12/SM/]^6[N 5!"'TO;]_&GXY^#0 GNT[T%O\_5,!D_^:F5Y@UL0!-!U M!VKE'#)+NM#[_6?\_Y[1)P=(7"_\ M^2V$?__T$D6KG[]^_?'CQY79X-, ME?\Y3'YYX]M6E&!5J/[V'+AY T=?U]\BEL#_^IP7^XQ_]7EX^/EH^.4M=#YE M7<1_YOA(7AS_%5+*%V1)RU?:SS 8GIZ>?DW^^@FA-QC\+?!=\ #F@^1W/T?O M*_#W3R%7WYC!5P<'QT@ 7YMXN,)_E_IYYSZ44P>K_V MYGZP3&#\-,#-?W^X+G7%\>-G%R!6POG[%]M??L6%OO*UEXC'!=S7EO(]1HBG MN"/GON< #_$9_1#Z+G0P?\\L%^/]^ ) %(J(*=2LEM+>6P$J]P(B:%MN1Z)O M?4,7'-9_#6?SV0H$"2E#Q-1S?[D*P NJ %_!C1^&U\C*+H$\=,2_K"-FCY%O M__[BNPZ:D2[_B-'@[@:ANN_HB,>Y%;YD? MYCN A?+=W>%U 4/;]<,X !<@M .X2OMR%H?0 Z$0!,RF5$B%EH(0@7X?@!#! MGR"-S-9CO%Q:P3L:JG#AH76>;:$9W[;]&$WYWN(>J!* MC[-!%1+>!SY:0T3O]ZZ5+K31'+G"UK&9?)3F5$AW9<'@5\N-P2VP\+^;"U;? MD@J9;GQO\02"Y05X;BA+N045,J0KTR?KK9D A>IJ-!"&EU;@H:8?@;@(L7W&4DO[5 'UI:$*_?OH=@'KLW M<-X9=@)?UFJ7TPH/=JNZ['/6OYMY#\".@P"I)ED@M)*_V9=TP>3!=]VY'_RP M F#M:R.Q"<]A5]L)!O?YM\1Q\\SES+ M_OW1?D'MA[=H\>5[J0KO VBCP7OK.Z#=IE/"9_5!ZP&$$>IA$@N(_C[%*X\. MAQ37Y_1!I_ZW,G:9;;ZG1^Q >_'KF]/,J]Y*3)YV-9,W"Z/W%C=H\=V=^*3/ M:(;&N;6"D>5VBT7]1_2(-VDWRLG-Z1!]TDXV4F/"DJT*!S WZ(^9./A[\BZ( M%5 #;Q'P'."L?PLC_*6#@X/3@\'G0=Y0\4?+B]I*V0F!_6?BO7QT \57' _P#5O#!YX-A=GOPW]"O_GGN(V2F MSVAY8=E1WIYK/0/W[Y^V_O:U^][DR#VA=KGH\/QX6@\ M&1T>%;I8),5__S3\-(A#U ]_E>X5=HKV?\=6$(' ?7\ *S_89@&E9+]TP-/Y3!V' M%76L N@':" G?]OE2 @L+X3I'H"AG.VB_=(.5^\S]1RI'"WW:";QT63A7%@1 MS4B5RO5+%^RN9XH8J5!$.J->01?M&0%VQ/FF H^>9%H[5:0&?%P3(4&8.$#10SW&P4?!^[CMDI5!K]4E' MXH)D*INH4]F3]7;M()&3\##\=8;](I3ODYI$1,@4=*).05/'0>B%V7_0IA(, MB*-='8G-GP7W@ MO\(T5Q!5*5O%R\(=3T9'A[IKAD>"7#W5[?QF_SCHN?P>*P0-\&@"+H(KBG_L!/K/'.=Q*=NTX!YM[_^)[Y,WB=I%^ MP,[5ZQQZ)?OT1QRFB,@Q/'Q^PK[R&NBWB_0#>JY>Y] KV:@_!1;.ROCXOGSV MW1K<2W_O!^CL+N>(*]F4YYRX?+-?+&\!"*Z1NF+]P)^[Y[D:%&ZTS^, RY@Z MDC%I$'QQ2%SXU!?OAUJ$)U% ,L"7\&%%5E9YRD^J[KB?5*/@ 2Y M>A1NN+$#.CA'FYV%'[Q3G>OK4GU2!KOC^2&@PDWVX])RW4*JO7H=E$KU20?L MCNGIY5DQ52*]DHK?+W/5:)DCYV-Z1?@NJQ14BS4)S4P^YTK0.&). Z5 MS&*ADVLVX2R.<")WO&TBKWTIE?JD(&$Y132IJM7Z#=U MJV!"R7XH1*3SN3Z4;-K+'4T7(7P:*90MBW4R&9V>:*\35O=SK2C9JT]1/YVD MKZY5-[V7_MX/]-E=SN,_23OSOWW=OA4@XZZ V"LK!?"(5P:&!_C*P+I=]//Y M[.[B\N[Q\@+_]#B[N;Z8/J%_G$UOIG?GEX/'7RXOGQX_=7AS(.??W J?D_;B M\//"LE8I"8$;A?EOMMF8_?J?:W%F\ROH(4P@&D)^NG4AW# 0JRH^JMH+E69A M872_7*C$W/%D,E05==)$,7@L"HA%O+Z Q)P#M.)P;E*HB&(D,D0@"$%2LA@I M<:12Y=EZB4OS6V6U(P"'(DG:YQ'-1!+@UUOPA4/T'WS1]M5R ;Z"&)U;0?". M]I1)HA4"*;CJ:DH2'GU7N=)<8DG<05/VLZ\/>[+,C_A-((#00&N*.Q#5GW/Q M5#&**\*"4NYDR:#(L1J*W =@94$G2U* !L\L>D%+XR*P!*9PU#2*,$WE)5X6 MDS$MC318F_"L28QB K?.JUYX09W[.+& )CHG9D-$=I-H(LA5-&6$L%$0E%#2 M+*+5(C7/&TI@0?YG,S1.E4:2K2>M$12-_.UDL(C;EV^V&^-#+8;N>:J:P8O& MDDJ:*S3CS$76]W4^R34J!*:0*YC!#T'YB/>K>[QJ+"R8[WS/IJX>:\N:P01^ MT8C7NWM,@O43H>0]0QF+D\D8'P#W3LT468AWP'N\/;B!UC-T800!SI!6S1#( M\&#S5M>.&TU/-5H)W.DN0CV!^ X]R!6T(TDK95.YPR.YB0AG ABU/$*C&1:U)3\42Q&[4U&3AE--+O M5GA_C.E5KR^L,Q^DN$OXI39QYT-8R3')PJQG.F^: 6!F#$#E^+* M<"A;KF6 MZ01J(KZLT#&=+-#V6HWO]+>V@NF4$93Z=E.F58HG:ZTU)$ ,H;<*05-+F&Z001%9V8=;_'$YEP$ PGZL<'ZK*J M=4070YYUGTJ"FI'E,X!72 M1*_=YL'V>PLZUU[FC"*%LM27-H\2(H*:Z8E["H 5QL%[ F5J*VF&@E3@#FT(6GER:YH M'E\:RBS)Y::952D(G[@@<9+1 +P +X2O(/5?W_@A]EK/YD_6&SFB4J05\S@E M P 3HQ6JP')O@,G?K03I0[46O=!@UO!Y7Q&T[&AXH2"W;O;N67G_Q( MGPP"C;5)=GB?:.,%1-#>[(^8F0_'33(?#GXJ?>ROG_:9$'>^4'%=_P=6_I4? M7"#J1//8K>9R8ES\$&E#.]O2.(]B:ZE-O#14\#:BL3T+$G2=9.-X#X(DB3O; M$TNJ:0QWFLIJHF>NDN-_&D*N;Q@"6EBD%OY:$MPY<%7N8SEX>1XHMQQTHPP M+<0UT9=6AH-S"4*O9"A5N,24Y6;3G2+4M0BY@M'4H(AH8D!:'03L10FCEM$$ M8,G:Y(KO0/P+,!?V02N;JAO!$46)J37B<&U41BI,.)/T8E M+6\,1\0DS$G1C:-UI/+D9OW7<#:?K;)K)6F(>.&D')^1IZ?EG.7#].D:%1A,[W#)V_N'RU]0M>M?+P<_W

'_\ZN+Y# MO[[4^Z0GQ6HM/N-PAUA:3SN,P0IT,UCF4<3I- M]+\..?BD04O:V1>&(LOA2W+$[?101YDC-D06&J?=3L[+0? *;1 ^^B[9%TNJ MT&>*"$IEXF'- ](/PA8_"W6!!HSK)Z\S9(^X$ T)I4Z?^2 N6*>G-*>*8M& MZV*[Z#FW5O [P!?3Z'P@5^@S&02EZO2$1E$TVC?@H16HBR"8.DOH00Q6A):? M=#HP:O69$TU$Z_1T1A$Q+@#J/-K;)5I"8"S](()_)O\DD()2H\^$$!6KT_,6 M163(MJG>8A._32!!343H] M$U$UNO$UC3O?\\MDI^N=7JG/-&@@6=LS$,95.D6\V-B\W,,"O1CAL7%:GH&Y M'X!U;B\0WD(OZ7,^E-"$66XE#=:_!=&+C_[RBHHDGE"JFVXG/>@S8U7#U.TU M"V737P96-O#/T,9@3KP]2BC=?U;QB=3M<8TB+\D=B)CKW5*9/FN;+4BNX];. M49U&>7[S.0^A8YP;D8KW6?-",N4D,"IH?1N!,RN$-B<#DK+:J5](IVQ*D(4T M\3[4MO07T(TC8MP@H;3IE*"):>(IVF\ +EZ0P--7M*9>@+MX^0R"V;P2(\>8 M0$2;T8Y& A.+%%ES V-4-FA>9&@3D5 ;VM%("C>:4^YC36@$5#(3SAL$+=A* M&=W19'2B^+V=W5)."!83)\R:O#]YSA_&',E14SMR"84D-1,OMTQ&70)LZ6/1 M0/--U2GD@MFB@$F3$T^2L'M\YHXT&D4!?(XCG*3CR4_ST#!LB:36M6.=Z'E6 M1Q#DA.PFVF&L'R.O_ #-]UZ:(L9^?PHL+T3@I+$AR;_U!.UE^1)J'7'XO5N<9,%/[LSF<>-T2]*J42.9U0$D'5PX M5!)U5P;UPE^B(4B*N:LK:R1?^"7M((FC$C=%_!Q"!UIHH6:Y(//0T%P4I/+Z MTD'(/2$D'F4CH]@U<7T_HTX5Z[_KIS8A#50U2)?,&/<#?$7LOGQH*+(A?HGU7'B#MEG7Z$?F"<2Z MH'Y,:'7L0)>+HF[EQTF2GC/428-T9=1ID4LV29/\"B"EXV/X(-(E3H0CKSHY MS7BO-<^22M*43M.YHI!=X\+CCB?CPU%/>;A#?$Q\KFHC>OCD$XX!DJ&.PXB2 M!,T(Y 2T!X#L?0@CD.44O4\&Z@.P_867M$)+$-_U9\WAMQ*D.DWTJ/+YZ72^ MNH@#['Q.\$A 2/XV2Z0,+]] 8,.0/)V+MF,.%^6(;N)37@1DTD62!'91&C*> M7J*RF_C>%Q6:!Q!& ;2C+,YG^L,*G&0A@]8_45^1D+-Y^G,$GUVT!+%12?QV?8-9E=FF\21L 8.);YA1AZID!G(V M:CP%V^!@X@MIM)%Z!WXD?VEB[-9UC6<4A[A&OHQ&'6 -J;-5N0SF9#(ZUN7& MD51K1)=W1R^H]2I=1)^IP!9+6H).G30N[9RQS[KGE$U67BW\_J"-3\\.#XZ M2/2.?O'/&P!_A[4AVEM_[84.V5K8:)-'/CUU]K\(F0 2KO97"QBI.0X138FD MEQ4?K8'F&TVNG'+I>^'I#D1X-7@?^*\0[4[.WK^CKGFC" +HR:WU>,F0W,6UJ2T^H!JR0I%PA3ZG!A"A%2N(P1\^& M+BAA\>3+,4E=?.KCT'-GZ)F853[!!!_ 7_G!A1\_1_/8G=JV'Y,?D:15T8YU M.R-'E9?".)EH18NO?:.?79!=EQ!\_YQ4=<\W"7CI9==J=^M%&6;S"_ !7H(NNYV O'C%I[ M9K6#RLAK0=G;H>6+>;0 CDKA/:T:(23I$A#I50IE3[*GR?!2J+-!A: G,(I4 M?,^IAABUO1I!GFVMUK>MET MCOJ#!,3[JIK]:J5,2=S)P62D^MQ1T0Z5#QA)=X(T>S8JR492 U\>%[<^""08 M0^[Z>[+) LW(.T8(=)SM'UR ]+\%F+.<(8P3+OX&M&-B9^=6+3&1Y(73;DNR M#4I^9(*, ("OE+!FGJK:L:LE"7A8Q8E"V],GQF9$T=NC53CN ["RH)/[E+(M MVM1S$KL_#4- //ELUMA'Y%QC7-J>1>FY):Y!'.. GR9(DLE%@K2KK?T1><8/ M1-OILDRLI]K5V8F4W6)5RJ? <7]?>*PAE MW&2B-*0=WV3?9!*57:_05TDA_=9[GM\[O1"*0$+#+7J_=RVT1?83A#$AC),!C =GR6J7=Y?^0$K8E*8ALW: M_'"DE B3W%-);6QCX-L ..$54HO(:S7,>A^(:HV@D'1"J9E#MHA%?COU&K\Y M9KGW\;,+[3PZF(-6U/H?DU[BD)AX=%F'R&R^_>:X ,.JE3\VO3CQ,/'DS*IY\J='^W6'M8RJD>3\:'BM\L[8UI+3&0]=Z631_\2+2_M:#:_ M?+.3:Z /:!#,/(P2_C]\EO9JN2"YM)"_E(C_@,9H^1>%D@1"=O E[9C;^$Q@ M5^"8&#G;"J7TV:EJM(WMQ@ZR"$5]I#HBL'NWG3"'^!K@)FL3K9-9[\* [TUU M1S!(VFFG+QTAN8*H0L/3/0U)^.N21%XU#^6%$9.?W)JHH>%CO%JY"4&%Y6-"1O??WX MTS@(LI7(AC\\3TJI5RRB'17::;1F%<(2MM-914ZV]"?LD(B#]T26!P 3:;ZO MDK1\K^B[2:[O^[R[2:DG_]Q?+GTO^<<6#V0T:2QO.@.GTQE+F<^T]H#M.KUP M2@H+8]0REEIMY#T$6$P7RD,1KCIE.,:3T>C(#%XTE[[30,"UA_1O7XO@HB7_[^FOMW^; MB53!U_'C9Q<@QL'Y^Q?;7Z8?7>\AT"3MX.QD#@[E]EWHX(",]5_#PBOD>1Y2 MF#V7@O\PQW_X5%(W>(O0P-I,9Q&,<(\.#D8'X\'GP;II]//Y[.[B\N[Q\@+_ M]#B[N;Z8/J%_/#ZA_]Q>WCT]#F97@_/IXR^#JYO9;X^H1KD/ W\^*/9BZ7HA M!6W&%2*%!C==F+=YL5'TR>2KPOX#R;9XMIR]TL!AD+%DEM*WEJH$W7 M-ZQX0OPY)W!Y;G#+(OX[\5 MOCW8?'Q0^+K&IK.*%NMA1D>'HP.CY$/PV':NP>@2LTBK!L7)LF MRZ/R>#(Z4OVNE)@*JW9+.AJ[">OHVD8]H+]Y&U\!P]P<5U.-=F(QJ%B99:X.MYC2V&W4 ,(P%O8HF#V'R;Y3X*FMG M"G@4QW@[DE=,,_8JWWS?^0%=%ZV)KE%SW@+B%RE*S\$P1ORX.N+S1I/=QZ;9 MP;I=C8<^!9"-C Q;(-3&>EH:'AZ>C(>H6XJ."KAZS;(;8HUH9S_::ZYJ8R1 M8L:R@ID(FF%ICJN6)F_RWP=)HXG!*3:KL:$AHL$P+LQZ.2T1@49':&-\=*1H M/T+L*;\Y$6E".V/23%-5 ](:!#/,QY4%@^3X_C8)=P4"EF-2M1RXM4'2W*#< MGL8F8XW 1A+6MH1694V_H_'!^.3P<#P^4&,HZCK)L@S4.N51,)F,#A7'4 JK MH6H%Q 4V8]C79<1F#/>3ZG#'K7Q&DBP'63L:#W/<0^Z]1GWA-:=&PT-\R_ED M)/PX9!>RL 8UH;1VPUD ].I %A'2C"&\OC#+.7Y/J^,W;6*0MJ'QV%V+RCV M*34VA#H9GAR<#D<'BE;R-7UD#65:%>W&LZ@.JH-:6%PS1O:-'X:75N!!;X'S M$CV^(*CY!OGPH#K(?\+-_760-SA +0[R)C4>\]L , 8\J?B::>/1<#0Y&!T= M*7($;G>0-=2)Y;4;YT+05P>YF*!FC/#DANB9E=Q/6:Z %R8MZM&-YP]/1Z.1L>38T59U[C% M."N*P=P*M&NU/")/)F/5&:\Z4';-UJ(#T PR8R^^BV0)L?\T>NCH1)%SL*JY.S\"_!L1[OK:F0P.A51- M0#MQS1CL.+<%C%(#ZCGKQY+XXZN'-0&/A4:38\;M9C4>_A0\N-T40FVLN3HY M&8^/3L='1XJ>+N#J-!*>3 MX>FAXENM(NJH66@T%-F0<1\_A^"/U^5J\!\T8]37!DIN6!NNF=![S6X(S MTPB3BJM)B5SN#7-8D\KK-Y@9:BEG.A:1RHSQVN9.IM#=3,R\PR[N9@Y^RG_Z MJ]X6HH-KFJ-3M" ='9\>G@H?@-8FZ-JP 8VLS2UFB!:P*Q?@G$O%&\Y)K]Y) MMJ)U>]K9$D%]; Q,-U!T:H 47?O]'H+9_#*,(%KF$Q\S*Q=#1'C;Z#U#%T801!F"G-FW@/ KUE ;Y$XQD57T>V_41YT M0XRB_E>A2VJF+J<[ LC$A?8:*PZ(OGO^*H_*[']R7\R5^RD0B M[PRGW9RCJ+AM*#++(E549EGBG<.>3+22+Q^.1\/)9'0P/#@^5#W!;G<5CP(; M6?@+Z,81< 2G4J'6M+,U0FJC39CM83!CP5Y_K5'(F A<;NR)+='XEN-X?' R M&A\-__(GM,=86AB1!7+%&S>VDH _.Y! MI!F,IU1#+?B5/<.[ K'3D"Y%%QD+*_CERO7? 7@$P2NT03V,4S?I2Q;H8OL+ M#_Z)=(:6PWZJ2(&-D]SOE35V.!D?*C[LV#'M=P&GI$>R%7M[*'=,A?9I-7&. MU+OR_\*QD_3+/%UXQV1DHJ/>HM50MD*,N^ MW+HH.D*N$6KZ!DFW; FEM6.#%*55N2 B?K]4CG\, +CPEQ;T!)1?JJ<=#43T MQ:=MMKP=[/ D)'&X*"PYKCW[RRU8/H-@2]'D@KW0+%LW&QT+BJICP MLXJC,>WX)DP,+FXU1<)$W^)=C&TR/MC!F?/PF,U2Z9'L%;F"B>P1E-:,R.8V MZ*LQFQ%LK.B"XIKR(H9^[ZS\,A[*Y@%B<_(2:ZA;#_A5'->LMTW8P5>YYP1I(60'!SD[32XFMLZH>4%AG5VL'TN%G:07TR^7 M&/D:![&*=F-:4'6\:<)$5P5RG>)A$!4TC/ZUK5WTJW_>6O_R@US.L.;8H[Z0 M=AH45L-&DP(2ZJ6[.VL)9O-2UVL/+ZAEM=&D@!K*NA,33?FBO/9L8NJ@Z32" M(6KU @; CHB'$X226JE13"/E$PD1^;37Y7W@+P)KB=]FL7DT6BUOHEXYI52^ M1ZK5[F.\6KGOC] !.01$Q9**EJ4=J?/"MM6ID("=;6>T6 JSSA!9U;3AA(0% M52N933PW9&PO+M]L-W;PBTIA"-#_.D_66[-=8EU+?6$6G195=LF"0M(B LUN MS[X^AX;?O6?HNL!Y #: 20Z@\#P.L&H(S")7,)5 @A)W:IB.=W9PF!VXGOO+ M9^@ES0D>"-8\1+B.HRZVVA>W71TB#%\=K4K"G<.CT^.3@]'P&"\?E5_O4!@5 MK8&U$%96S6F@# SZ%0S;,OY9 [U+41I7L!)1? Z5*UH>["C^60,:B.B+3]ML M>?7T2_TO0BJ ]N]WOQ(]%MM%>J%-MC[*7@LN(96K4-(XMUS+PUDC (ANLA01 M--M.**X=#[HR[B+R4S8$JB?T&C'H9IU8H2SY6'VN>2$5\6F8(JDA9F 6O8 @ MV]R64@?7S -<=7I!"XI>J\00%U=/;G"='#]8W@(0#OO7?]-.QY*-/EM8RI&% MW/4[O])JA^S67[51'!OA&FV8.>)NK3>!:R 0036EM.&Z5V:$[Y!:>DG%,0295W][L7KH -YQ XQ$@J8EEM%"RF MB2T-"DFG?"S7.CIJ/+Y7, BCIP M$5\0WW_Q7>?9PN'8:98=HC^D84MZ,4%( MHV57B4SY>\.51_Q.BB.%+%Q-F,?E;MNQ%5=I4OC63N-%F ,&=JIZ= _$N\C9GHGYUC/;M4QC M1E.1.\VY*?R $2\'BDE6L)AGPGR@M? !N"$L?J>)]KOD"?2=Z1Q]-C.8%\A& M7E>&QC3 >6MK8LFDM?LQ."4#E$[7PYTQ[0D5#W':#83"W ^6^$@O>>SB(NNT MF'GB;NX#\*H=%AF=COM%ISPU%'XJQ?>0<%=^((=935K^ "23!DO&MTF_^+8> M8T_ ?O&@;;FWT 5AA*!H:+C(#7T -C5%(2//2;_(DX^=JK"9^U30-)';*8,V MF9R<&$>=AB!DS#GM%W.F2YR0J$Y89'LS>?FXP]/2!V!/8QARC^)!OPC$FJ+7 MAGA]"3A8@$C85=#B&Q^ =!T E-.Q&P^WHH>U:Z!;O\>#\S*&T$E>=\(*2<,X MWQD';0(MF<1#V3#D;#/JZGX#<.CWK)LWN.<>$XV<@MTXXOM#P3O?LV6S<-/F MGH@\@.1<[/A575VY. T"'#B<+$[.7_"/U^MU-0M94A+J'7W]8_-;/G3Y2.CF M,$+X@759NZ+L\=OB.]SXK6TYVR%"XR91%BGWRJC?S(9#Q7G@]T]+UL E=.TF^..-4V[SBWTS?>= M']!UIYYSC9KS%A 5Q^FWHC#_DUBJH7$UU5#>4/+#4WA='7HP C?P M%50ZRY?XC-5 >6">3HY.3WINB%K*KF^J,XHX9^]I$F07#6=*BAR!%K3C14NU M5GG2%HQ>$F4C%\Z=31(+"&7LEDUC20O-.[[R,-3JHNPP@NL26\BB-4\O)M!>PM,XQ_ MYX6"+V./#XZ$CZS6?1G,D\X,0-:;@57H3O);U)_]T9561U>4<9I2JX92#*G; M-%D:S:<'$_3?GA]O24>CE^<8-4(^ .PG%!/5L+4]+=M!U>G6N3?$O/)C.6O1 MO+$]+5LA96+*Y0;PH++R6(G*[EG9"JE.,]7U@I5)[DBIU"RUN.=G>[@Z36^G M'TFEG+OMJ49"1%:^N]KS.!U.5GX#./X*.%-4VUID3C'H+;Z'8!Z[-W N?*(R M$CY1R?OPV4H[,0CR7F#443<&+NK'_B1%JY,459> 3H>3\RS.1 MCB\!Z<"+EFH5FK&XP.@E479T"4@'PK35KQ!CN!$QY$Y'MY> -*7@-;>F*+O M*\U@0\KCV+ U[9C36-%"G!&&Q,10L.OERH(!3K16#3=/L7,Q=@3"<=8VF6!M M(.CTBW_.^#I.W$A[QN MO2\N82(\##(L$0/R=0-:%7.Y)2QUIPF^%+&E.*J(D2^;(F52FIN+FL$)+8Q)N_10#"&X 0 &>6BU][>WP!(*J)=]Z> ML6FF15+K'X-_L@':S97@KL,7KBP8_&JY,;A%&*%_8Y37OYMY#P _1@R]Q9D5 M0L%'L2;5D ;<\B!I>E#X7OZ'U^0/OC>P!D'^W<$S_G!?HAW6R&VD#EDY]*A5 ME)P\Y#W*KB)[3OX2+\3.]41M3H$:J,"=[P4EIM""(*2UKYW=XE%_Z?2B4R3T M/3)?RXU,;\'L!."/&'CV.^V*'+NFOJSH1,L45@EBU .^U,E#OR7'KJDO7P3U M1V&"H/2&A%C4B1^NAQG],)VCJK[$$50W'W&XQ#>-.6?OZQ]_@2! NGAYO\'G M@'QS%*6RONS9_30E"I.^IV2U Z56<](5M&U7!,FT@@E$R\$GUOA"T(4 M_PW8I,**M8!J M-U?1=TN[LSA$ (;AN;]\AEZB_'/?BQ"Z20"[%T(D^#/!]$+&,PW,5C+0A_V ML5*=*ER._>&/FF-OG=@DKE:IQ]YLJO3RD$K^::9. MG&FLYA:GF882Y>Q]XV1A/;=!JZ,O691-5YP@]2 XJSV$VVCPS6Q=?5=?LG*S MIM,EN0!JRNVA\_J"^3L\.#XZ2-B+?M'$EU([2[9J2U^6[90A&Z;*1U,Y^[0S MM-PA1A(_93+1&\W]76.K;]Q1W1+]-QB]5,0-R_*&#UM'V=G83]H2V "W_I;) M7*:3BF];W0W DNSX*GF.X3&R@DB7<]RF&!(@_(9FV1L_#*\]VXT=_![!I17@ M5RF8]K[K[^\'CBZ@FQB<8^*\,MR/C^X1EG0:GLXLEUXU[=J1RA/QJ>/ 5*!K M;^X'RRQ;G=@A^!'W(?CF]&!%@'K4S*[8"X)0-,RF"*?,RJE2>ZJR+I_2S4O;9HLHS>9'!\?J266H**K3)&.AG)K5._I\SWP?FL%OX/H*O8([$XF-/JJ_RX<8^HS&V'.#F^A+^FHC.FT:55%C-F\'/R&2B'L38>-*"5VM* MENE\,AF?'JBU"70UE)\(YI-&WU#2;=0L,Y?K0#BF0^'+U.F\^UBVJF\^63.)9J^ M 9;%[E,G\FI![93(I0JZ!LV?PM%>U?&]:P_UX]GR?I_-4=^!@V6_N3Z;/="M M-T]=K6DA9LP;BZLG5\(@*O $_6N;(^A7_WRPO$6=*2_]33L=B]MOMCP[BS7D MUTOMZ-SZJS:Z82-*1)HP MC#ZM1=E\4J"%#T H$44?QI!K)B-7-XQ)K<2F+&-DQ L>*_/QK8-;R*Z\=1'#",$4C1)J MK$3IM6%UE!GW*7F)#POX@!53$S\G5-\0!LB1.Z/'L1Y/:/.3(_6]7,$W MX)R_6,$"G/L-*$)OQ72B-) ^H\ND$[JL4\)V'0]Y[:%?@B?K32P8\K0:#)FV M-$!-]240'>)"_EY._DG,/@D>TNP=">]WA076O M^Q-N]:^#O-T!:GB0M-R7K>\V(HQ]+[FX"L-Q!Z*4NU@+TU<$-W;V/_GX' ES MW+=_?_%=1-[P KHQ6F$QI&O<7GG8#">C\4BMR6"IM6@OY$K=:>B HO0+)81X MN*,='^3JF,&A+GFA66*.WP!V67$K:T(Y(4LC1G'-D4,RT7\AHIQEH+#>; M"A)$IE$4P.)Y'<(&>#<6^_)(W-!@ .*DURMY*U]RX8_"C4[0JIC ZDH ML(6@@VS14E&%F(DDM?)1F"@#%DEA>9K-R]O+&]K\6UOVHU"(7_B. ^\T(4HV M=CBIDI7^J&2AB=]QR)XBNDR]"#I8:O@*'G&2MR0/W.5;^JKW%5("6A*LXE39 MLWEEET6[UR*E[8]"Q>[ ,L-YGGB(DO4GQ@%XH?B[TL-AU7V>-/LY:7=0;+@O MWO.-,+-YL?\/P,4'^N=^&(4)09X+2W?6$]-M&U5AR![M%^#$+LA&8H4IQ>W* MV7MU-_/#"AQ:'C]I[6MGT.10J&C+NL5*WZ1T:OW.^Z%539\^H-D!U<$U=!:MRM"A+ MZV(1_3BSXY4U$PQ]$X)R+8DU7\PRX2=KK'>KT-G2@\]QN+UR0N+@HL35*$\U M;?7*O9YL+*5R7>]HETPR=C>,9&CM&]:.7+N>(SJ"4-\7TAL+7#[EF<;1"Q+D M3^*QJO3OZ$?5;J@CD:-"4)J8;JXQ4[TGF)_84[PQ% M$S/?;4ZDZ* ];X-V^;:"Z679%#(:M66T_\%YW1F$>J7?J]T8-1_8RG:VY[#IN$F-^%L7@@Z*<;OUFRYU';HXXT$33'O-!_ D=J(H(*K?8KO(./G MDP2#A ZY@X2R/PU2! =6]L%]\%#?@H>:CM&4:,6POP??=:_\ /]1]J*9^K'R M0#^:C$_'QH45[0ZX_7Z0"E^ZM^Z>W^EWM*/V#HG8Z2B@P"MI *R2]?MC9 61 M+A<.V^+W#16,PNML:_(M(%_([^!+^Z$@S^]G#IECIA7JN[D]VZ]1E*U$<:11I\.E\IVRAD:3T6@_ M+KJ&5]+C(N2II*>#H*"ZK90 ^4;M/H VP&J=[^H\@+,CV@TCK<\*VH!JI.=H M-]"J'2W:#1%-"*ULI-&&UT<\I2 &@-?ZMKL8:/)ZL!]LT@9;QTKYD/,9"],< M-J6C3:@3^P&WLP'77B]Z!;IJ,N9J3@-4C#K!;NS'W<[&G0S-=!HGJ^O(,W3W M9LZADRG;M_TQ58L3"P5CKUVG]E/?KD9D!WJ2= AFW!E X01%P8#D_/I^Y.UJ MY+51B*1C-J/6FE/'@2D,FP,BUO6C3K^IW5#2[^!,'#]C_1O/;!2?A4W< \") MAY);GEZ":6RY3R!8'LJ^Q]Z\)V4MCR?CH\-^3SCBG":,*PWT8.+KF!(7%-<( M0NB%T/[5#'*W]N/G&X]%!QH2SKAHATI]S^$7+M1TG/O7M^&R5#:JHWL M$E Y2EK,TX4]8!E&:@ZM3CZXGTTZ6(<)PKT_0N)V4!:0G2X607+_:B<33>/^ M[ ?8[MS7#;4AZ81)R\?/-MJZ]N9^L$Q^*9KLZ$@@V='F@P.X^>(^VU'?LAWU M\ZDT#>QK;YY*8SM[^OU4F@93N).3ZF&FDZ"NKR$H@'K=KVXZ@A"?=_8:BQP_I 1VM+$ M"?RSZ 4$3R^65WO#3#9E!3^O'[&[(9I$1LM N%/S/>[9B-$K ]=^#,B&4FK$ M0-U):-^F")ZKQLD?+ZP(7%DPZ/)P1[ 7^\&B$NA.0T$G_1Q&E0O$3WZ$3WQV M<##*\^G]@-DYNIW&%(S5GFF>N9;].]K]H;+A+0@B/UMUXHL3:!J^]1W@BAYQ MC@2..)/O?\XZ\#GM0?:\R^=5VH?!$G=B?^K9MU//IL-U/65-PS!>9H$2GG,+ MHA??\5U_\=[5E13^+VMGA36ZF-(21>)>MOD":N84> M7,;+73"9\OF2(H;XU;*3GBXJ6I*OXV$@JH+]Y9$F@%IO2H=4^OG]D%(XI"@J M^) 9U40 S<- ?_71R@&Z2*X=SU/4#NR'U6Z&E;@2C+U6W#&DNYNMJ!W8#RRE M XL]8YEWI:7)K2 :I/@2MO1;7\P/[@<.?>#L#G23[YX\H*5M +'\R=_3Z,"& M[VV/!?RSF^\.PN3I;0M_>?_R=F^]LKV\BS(\FHQ&I\9Y6#O%2M_;">WNHNC MA6XU)W(717]MFW0710?NL;F@X"X*!PW[=!=E:[7UW8-1^/#XG7H?A5I'.Q;M MC!%5,HH#90BK^G(A00M^[GB&[0C"CW@AX<[W7I.<$H47%G=^+:&N$_J1O!O2 M[?)R C?.DFSX*PB>?R<#N_@G MD'Y[?TNKM[>TUNG@0? *;4 8W&[2%_33;/X ;'_AP3^1*,DX2>3CN[$E\5O: M+=*ZO+W5-6[ZWNVY]I"Y0=8008CQNLDDI-SKHM30CC.[TW"57:(X]8XCU(M< MU#K:\4145]S:ILAKR)68!Z0L!/3+U',NT'K+]5=8_FS)Q+INQ:K9%Z)0U%Q[ M>ZJ1W$:^\ ) MU$7P%?"0A:MN&;SQ9'0PZC]CFDO>@?>NAWD*-*"!RA4L&YD>7X[L4\X"#7C( MYD(#/Z8L8,Q92G>9LT #%NV,$;6K;D&@#&&5G'GCAI' 0/)7]&.NPGEX%]B: M>%R;09(]GDHZUB$M"[DJ:\?377"E9J78'"P3$^1S*6%]%IM,;6'RE%'Q[U@1 M=W[T#Q!M5-3&^#;YWI[>"O#M-#9.T?V3SA!,M7KE!]FO<#E2!N'==F(_=G0! MO=.UC?" VL55R=HXO@159D"9XMY\\%&C(_J=9J_?;<#7B^\B6<(4*+%XKL.# M86T\5];D7P9IHWT)U$I[RPB\VBZDQ)&;GX!0(Z!*A:]J$052@#/K7-EW0K_YY[L?X?3^$U((#0E"$G% M<: N9Q[@TMD#6,6!_8*6J--% !*)MR6IG0>$ZFJC72%%E?7;3ECEH[K6)?$$ M%R#XYOK/EGMK>5:Z];QQ[5JCSJZ@E9K;Z:N\76\@MIX*OP_\5^@ SP:_0OC] M2_CE%[2UA=XBO/FR^D+4.D==' M+*\-05KM^<3$HSBE56CX;9_"FPO!"_%\?8]K$KZJ=H(9W5Z+R9R,HG M #E,N0_@*QHH]ZYE)Z.%NM^K+ZP?(YIIM$H- 7D-H$:9T>+U'U3BQO+@_$1-[?MM!%_TW6?6R1*">HJM=Z)EV3F""T M%=_S8W.A9@VY*V ,66:L(S*PF>:8?HCEM6//SIA "=/B LD0)G5\X>9C,TH< M*$.6QSE:E%50L8A^G&FR"&)*1,FKKW@-Q+5ZT7S=P82?K#&=%PRUYQ1YF*.- M,(&OX#[P%X&U)!Y0T(IKJT!4%H[&C0^8^(5+M/^L7XS;HT4=-]37=DR.">3T=&!=B00VCGQ2VD*!=;AE(PL ]6"^BF_D5GG MDRM3]T2_*P"-[RS5OBGQ+?!#(@7D?TE?#M'IT,"5+ D<279'M[>WL)_J.@QC MX%S$ ?06*0P)8N$=^)'\B6R:>"H;1+7F\G;\S^7"69!@G"+#<'YSU"S!>'@P&8U5OQ[0?''53-B<,]UXQ!4M MV,LK"4':\%4VASDMY,W)TXT#7-EN;SV2THW)-(Y>4)?(6?4I-Z M\7=K85@XZ4&O9 Y#&LB9DZ2MVYM!DJY31N.Q :/T&7$/[1X\O!, G@U!*)8[ M^JB:.[K0]L#RG$&I];XDD:8!M!:6D6-:L TE>0UL.T"+\QMH/4,71JAGYW& MQQM#-&:]\N 93D:'1VJ-1".%EG(A-!*YB]36M?Z[K'N_HF'J!_EA7M;#&I\= MK;AVNFL&?=EM)RRPB:\W92"<^1Z2B< .:EGCJ"$N;:=O&*EZ3BZ5_M%RK0!R M$F.KL.G,X!'7Q)<&[X&'CS30G)FVGI-9FM '[IPEO< "L4=Z(U"X3PYF&(R"8=*G-4UY K:*?OQNJJ:EY0:GV?$ZL7A)K]@U9%.YT+*HI7TQ1I ME>> J$_H5&+\;#[';Z>N+!M<8UEP4)6-;"!:30.XJ$_?V;"5GC""HM"R2U86 M!'V@R8456>< O\72@B4\C901.E2?-T@J21HC8$B^L-K9]H:16H9>23O"2%Q; M-)"O)1 9$]@>L#S=[49&@\MJRVFFZ@7JJ.N87UAZLX0ENM M6^C!9;S,SSDO8M:>6K 5,ZDD X1.CP<5133SX/( \(2.9)_-K]".WW+_ 2SB MJRE-V].<=LT8TXR'_/B8&,C B?NU]_3#Q\#P+8TXVMDS4 7$T,E^)%!7P5R MN+=N:<\^(61,C,?@QN;*CP,I]%LWM&>?"# F1EMP0M..<7N:,=&0%7*A[7'Z MN;6"N&^-#M./1 _3LZ_MC]+E'J77YYDH:O8NQ@[;V1SGXEDE-WA \?7RNM2 M0O6U,R6-S\GEB-ZQ!TS19K"$2T/_EU ;YM!*GO@F[O78J(AXO1JV5D;[:#(: MJH[U:V3.3Q=@FVLF<>)R8?T_;Q>;F$V]FSCAL5$_U;G,BP MO%NBS>Q9QPN*B7XM7F#@JPQ;MVYF3SI>4$R\8\0%3!NF[>E%16(W=Y)TX]0U M#IX$873MV6[L .?:R__2F&KD)O<,; )0V\SZIRDQ/;# 2=$JU#S6E9KW*1^2 M+&ZS^1V(MO[>F*"LAOPP&!=>W,_6":M MB<5)C*J9&[,F!X4V^Q(,D77] :S\ !]^,HY[R<55C//\+'\=$I1UCS32B>7+ M?!]-CDY/%=_E8JBE.(;%I#(QJCU'((4+WW/C)$*U@A%,X!1K-\=OG=OS^#D$ M?\2HJ1GG"7V%DJ>E5$9WA9&54-4?6S!]%<=\"RFD/H:42.TY.)WB MG;4$U*PM77Q*.QJQN5 S_G<%C/*,'W(X>[E#4*G:4/67QW8-1^/#XGVE!'U91"BM M'Y.:+Y!$1-0WD4R-%/3U#JF\]JH57+X(R6G(S+$E-'7&J"W;!Q((F7M^*0VA M0#XI4FQ[L4@9BO'D^%AU,M+F!ITI%R7$6K$5Y]JJTM8[&FB."3]98Q2)E _+ M^GR02P\^QR&^KQF]7WLV@@:^ BP.+DK. ,E135N]4I2TT6PK*?74];8< 4Z! MN23JF%:\_[H5EL[,W=,-(TLGJ;AV!)"W?Z++2+EHHGH#Q?)%D%P1J3LJ_(8* MXJC@],WT;X$?$DDA_TNZ\XE.B@9.9TD0F7BMN#%VN4T/HR!.G&_K1X-J497- M;L'/[RDO$3=)LS,SBVYMO,7?OJ8\RJ(3_N/_ U!+ P04 " ":B/U2."6^ MW7@/ @ MI!H % &1V:"TR,#(Q,#8S,'@Q,'$N:'1M[+UI<^HXMRC\_5;= M_^";<\]YNJNVLSTQI;OW+08SSV (?/%K; '&(QX Y]>_D@T$ LG.P[JK. M!B-+2VM>2TO2W_]OI:G8 EBV;.C__(>\)_Z# 5TT)%F?_/,?KIO'D__Y?[_^ M%P;_\_]@V-__!\L:IBGH6 U8EJRJ M6,:2I0E8OY*ZC]\GDB1Y3R=(FL%P_-=NMQG!AKT8^L.Z-7E/OFR270^%&B5^ M4JF?%$&16.J!H!]H$FO67K8/.JK*(TNPO,U$'V#/Q!:.&''\I0ZP%K((L+(Q MPDJY!RQ&4$*2B8EX2HR/<"9)D;A QV-X+$$)1"J5I&,,V.D)_O/WU('8A1C6 M[0?7QB>"8/YS-W4<\^'GS[%@C^X-:_)S_0.:"($3)$Z3=^M7I,5TVWRY7-Y+ MACM2 9R#//;N14/SYT[$:6+S@BKKRMX;JY&E^H-0!$'_1#^/((HWS5>VO-=Z M26_:DC\?:]6.. 6:@,NZ[0BZ^/P6[%-RMB_N#A'[&?RX:2JO'-P&XMX@\/O] MQ%C\E'4(#D"(_NE8@FZ/#4L3'$@(Y;9 'S#$7E/TZS,O?((5('V/0_P[XE(X%=_C)_DH/\4#?I+O?OT] M!8+TZV\-. (F&KH#MIF8F6E1:82)_3E=8HXDQ=,D MFB3!#Y]*L_YJFDZQ#=Y:%.?%AJ@_?GJ22FXYT.A:H<1YDEK 4TPA5TJV7I]D M'5HY2Q;W0,RYEL_0/,F3 2&ZQ@Y54OIT,*=4LTO$A7RI#J\NV746NE$@]-YH9+:_%4SQY]XN 0IF$ M$DPE-P"O 3PKO%G7LB"P>=D6!74 !(O5I1PTQ5N0Q4*6[2[*O,[)F;Z9YR3& M!%*+IQ'(.$Y24-M=$M[3I>;JP*7%RB\*=!.]&,-=,\ M@\!%0UP/UB8A!KELPK^PA-N0I<,QA5 >L>< M$S3;*-$ +RD:19>*_3GA,K,)U)\7F^L[+-A')UNR;1=(>_-*YK;#9A64+.JPC.X^3NN)*B>2JUU5+/7WI#T? 28G)!>*DY/>H5 M8^E^MK6+@(/Y^].>&BKT)FT6NK*.5S<<$"##5&4'.C3K^+6-AB;W$$*8G0K( MEWH\07ES,(\W%SDQAYC]GJ;I3W, F"!-SX]QGMO% T]V'Z@ R>$^='1 XHA_KFS9HO$ MYR\T46]+H+4TB'DYGJ\:A::18Y!W'G0%?+NW^29+Z/M8!A;F@P2.AN'94F7? MHWSY\J_-H_W>3=])V7R#,FHYR!OT72><8'"*WKSW_-L63.F5IIM?-M\W@_S< M0]5O,'>,^]8,A3C; 8B! OF"YM.$@1R*%U:RO6T%/0<9=09=,4&62GI6,&5' M4&L <>-S7^[(EB59L+R.H(+&V!?4O7Z:EKR XS550?0'77@-E=[\VS=[$ MV=\_CP[W$2A>0_8S!,>Q_>K0/U\@Y%-<3I#OY/(X3A/?E,M+S<;ZG7JFGN@Q MHV2;\%PS-I)6CS.97D:,_47&WB+X7\G+G]6R]"(S&SVR:E.ID$_<)$,GR':E M%5IFC/3;*7GB62?UJ<(<)ZEEEZ,JCDB5AQINS,)K;/_UVF W>J#7X>1'+=M. M5F3C_B\4FLS^5OW7B_*$>_5$<09=,31?(EM.9#0+GS!,B$X7EW0@,\% MTF(*_49C@2@A@IXL<_?V?=%049[1KMZ;]Z>*];LM(E5,5TV)P]G1H-9LI]M+ M-71J!N+IX1B>[GY!1#V\ U'?-L"_7AKKV@S=6 KK:J&OY[>,!%4ZS[*0#;: ML]%$8 7)+GN+D9)=A,^9N@V>?A7+_RJV/@57,M7DI%F=%CMQQM=3FH=.W9<-^* 1F[6I/M7AY+C97#RRE+X"H5-V9_,*;]U^AS2! M=79N?DZ ]2S*)B:T"MAY/)%GQNV8Z8["JQ?#S,#?//5V"I[M6D"P78A#A+V M2FL^?!2-T6!*93BNTA_$FMT$GRL+MZY(7YUNQ"&O<;^U*RX&8J/8*;07O&\4Q[J2LMG[K&N.B M2?OK<<3'JN+.3-)/8([&J=2[ESN>FWX>YF29:'!9SS'JH%D7KOT?UET!(T$N1E;<7+.D$ZU8ROIUOVG2VO_W87*:]'WB]J_VC0Y2R W$.J_4/!+V]J?[6/BXUBV5ZQ;I4T4MI3A5796W<*KZ3]ST/M M++5,%5575=FY41(R<4$=I92S5Z)<=?([6\=.8OL,0DZE*9V@E8;M4*RW3*S, MW*TS^45M'['9LGUE G_1^"4?NZZ\:E@5I3 EO+E9+W(Y^=:=H% :O] PS)O6 MC\Z4ZT++HOJ*5LR.%-/*E;WBS3M#5[!^)R;W9RM[7]'_7-^6M>8$S[&5<8^, M=X>X"L1;)_.%]?]9,AD75O^Q 9,9CO+-N8*/[7JFT67:U4ZD_K\QO[RM_6?6 M8S5KDQG%TU(#IA SL\K@UFN\KZ/]SY+Y.I'VUQ?56K?.ZQDN+C1L:UA.EDJ/ MD??_,?J>([:]L/9_?!P/\[S1;K(NU:I-8U*3JBFWS@=AU?ZAX)G[NY M3JK&Q?1TPF!K+814G*)>HK993H6TM;UWG7=+VD:GS)#(^3. O&C]WVJDY;GPP M4^;$N#=L$N-\IW[KC!!&XQ<>AGG3^M5ZN%QO<']/!F&/2[[:W ,3J1.Q8BGJ]R5G*2H;,%(=N-$3[:'NIE'>"#CE'F=2(NU"6Q M(%?FW>:M$_:">CD4%2^O*^86/VR5"7? L6U]'NB!50[%\E5J^[) E\ MU0+Z*"/4>D9H#>O>+-='E;UGFF'/16TWAB=XZOFL@._4KZVWK KZ7KZ\H>GRR%W?HU*"N(,37J"\K([&.Y(U!W,7"=,"_CD8_\7O MZ[>;\]P\&RW0FH$7G+5Y_"IJOYXNWZ5)P,KO(=M2 M"J7X4Y5.9+Q9+1*S-\3L+6)$XG4"\=HLW)*I?7'ZG!72%R[=7DQ6'1;P=,H6 M,_/L(Q7:I,Z)M?H)5D#)DZV (G*B6"+QAM?YIJ;CFE)6T.8+EW#'>:O;F+7! M;!#:$.*(L_DIU?&UR"&!$RF<.J6/>?P&ND^2M+UP1XZL9]L^0DVQG"<%-S::^AIG18F M\$%UD+1*,X>64FAK81WZ24LXA8E!"XE9A\-/=ZWAB&F ME +A";&VTAFEBU4V;U@F>2ONRU76,*X>C'R*(WZ?@&WH_43V:92I*7AI62KF MR\I(">]Y!B=+AMXT!QP_'1OM]J@),\/*NK9C:,"RMTJAXYJFZG4@!3:_K:EO M>BW+L?+],I>-3:S!-)MMFHO041]MTCB<6: (7IO:.2D?MG/1WZ!\6EH RY%M M^&QMI#78TV:33WF,%^S!,),EM-**R')VN@*$T#D_;Y'_S?E%//"2!W*R!<2- MZ]O%F^RB3Z\\4U5@IW8Z"+W*JR6N,UJ%ORNA?3>O?)@_L M:7W2?*(9:<))K%!6VX^-(C![O5NU^9?2^E?W]5]<5OX9K1\CRK5XL6A0BJO5 M$L:LN%R-O$CKA_92\@]3_FVMGY#JUI?E?BZUFC1MB*4F$:SG)4KQ2<=6O M%UU0"^(+MD+WQ.!UO4K/SWP=S$1YX8]K_!JKG74N7'=>7@;R\0I\V1#?QY5/: MQAE'Z>.FEJ;RS4IY%3I7X%-$?WW6_P::HYVZK@.L;9LUP9^>EJM&B2G6V?@3 ME>SJ@]Z0([Z'E+\RY=N@]I$2Y/.8>J-?-!;Z4)JSV<13%\PZG53:#IW[=Y.F M_OSGOIS*UN,E(SXP2VV&$$:#W,">.\U9>&^H"+FM#Q?9WS#VO4*KZZY@E33 O@>ROZRUO[T M.U3>KMC,N+:L ]M.BW!ZMG_X]#:Q,X0P6_+V0)F)/>&J=EL3%7Q4S!#CQ'3) MA??:]5+5IX>EPF@9!:4 M),B5?GB/,+AY7ON ![-[$N+9ZD\NRFN=I>T72V*59,K32.]]KUK M7JYTO>,JEJ-&:2%)US[@KYU'KWW)7WOENCQF[#5Z M9*E7)BHQP>U/O/Z,+]PZ#YW_NKSOY5^]PAOI7!\(Z:=NG\W&[3G3+]6[M>*M MV[++\\9M^T.O\(95RL0E[[%1)P0!=U)\K5]OM6[=I[XP;]R\__(*;U0K0TM6 M++K+-J2ZYK8YGFS4(KT1>G_CM>J.K 4DV^:A([&CH4RR\$CLV^?D+JJ1O"_HD6%CWZ^IE7=;#-<9C600=4Q!!2<\9&K =641U0H8%Y,GFS"NY:FF. MZF0-3DXMA^YC4IEG9Z$UMJ\C8'WTY<.VXR H2RW!6JP[P1>@\G-O41F$[_N6,VBB76M:I M!;^H4[]>ZRG_\F1NVZVBB$!XFJ$]XXU1$8ME*=URN=7JD>+X4N MA+Y!;12:)8Z+:*.JM\AP=H=.L04B^SA*"&PZA <8W*@V"FN!].FU44)Y?,K* MD-JLK-OV^+$@S_KJ-S%JU]9&X>"BG;482EA8TW%=M]CXBL^G&_42C,S/[@B? M%7-[JQMGCTWRLBX[H"HO@%32'4&?R",5I&T;.';&"PYJ405[?^&Z:PD2T 1+ ML2'O^5_0A1&;]6M!* OX=%A+*)6G\7@EQN(39A9:-?Z!^3^OD[R)@.\9FYR> MB]9;N('4!>)4-U1CXK7ER72[ESEF3B:]F,/..ZF>BYFP2QZDI_+TZX MD"FY:)G>ZO,M 5,LYO)$BT[(B9]W)8I:?\!X;Q1JA M8H,C;H(@6SU!=4'&VWXL0LP*ECCUJHCU]\_AVK0IZ:;KV'X#>LT 1[JLRL+( MK[1]9B64U]ZA=R=\[Y>Q^ZK_/498 [)$J3;/TV7VW6/;HO]$S0['*AF MSN&\<;V(,_4,,Z^&5\=&[!\.Y?_>[.-M"4.N3%>X23QF<]3*<%L"ZW4F_= N M=4;"<+M9UP_MDGI[]UNFT$VS%NMR+&4/6@5G,"4JR= Z,"'<_7:9?5-?IO.F M54^P9'3T2!ORW_YF.D.7#-T_@60DZ$IC/ :P']2L6LHTVNMN)F:JJ>2KK4>V MXV9;4ZHSQ OAW2I_>G9Y]] O\;RSK>\]B#YCV+51B" 'YSIYH^0CU4DX9 M)(@&Z7'9AE>CS*<%$V]$U+M8H@#JS51 O=%BC&<&CZ.BH@URPP;)936E?O: M^\.3IW$J=6K-0Z;X;@-8O4HR4U3B8HPHTVF1-EOAFCV9.K?@9@5[FM8E] \Z MY64!>7QSE@V*7VN&#KR:8"G R;NZY*\801G) =.PY>TZR0E#;/+U+FM L%W+ M/Y F;X&Y"W31.][?3DN[#437LJ!GMNZX7QS0A,U33YR02#FI2BKW-,9#NZ;S M.GF"./9=]#EI1/WI\)X\ S"OL<012-[@B=M0VV?):)U=W&#,N;1F^4:>$!P^ MD9:[";*7#JVX17Q^?3X_=AK3O\U(5;L&:%5S_0[;+UM,MZ",EX]":./3R$C= MKO!>H!+C!N2M5EAUY-YC^HFEY%IL)=7*=*T56GF+&/WZC/Z\VU%J&X-XJY$9 ML&!8Z&?TQ_%J4CU[.N.CDS^S*[I#3Y_)#FX[>]D@)]NBX>H.RE2OA1#D)W9G M8(J\@L^F(D7Q7=NF0IL7>FW&S\S^^RG?AD/V 6K[WMB+']M0W>@NZ!FHJFQG M#4LG3F/"F\/28Z7)\C@' M%#$^4'%++,:_=:!YCGJ)4)OP2_+Y:9@RWM.)M-:G^PI5&J2(<:(\&4QOH:+M MW\T'[[G1L=Y;T]A2\3P8==(R*]3[<)+#YF+1"VWL\*X['3=SNPWZ7;SP]32Z MPL8X9WGP'W(@!GEAMWK/C9''-7-/O(Y@3:L5F@]YZL9L%LYO>U# MM"_6;$WI4_4)C)I6:34_+D[+6FB-4&AH?_&SL@(#D.3))*I=2;R+V#G#':G0 M[EKRV"OIXOV:Y%2,+PX\JQ=G\=X0;^7;CXU1+;1YES=)?GR&Y]'A9 (GDCB9 M/+T.?V6_"IR0H8'M'4Q50Q2VY-V6W0'_IL>T+@7+:_ SNS(A#CF_&S&?S?GL\E]B,_$?P^OM($-D+<.$;?>](V: M[K-+KPKZL;I+JUR6+SV:I5@17U9"JQO>Q2[OF';$,<;M/90GL4EC MTK/8EF";G%8@$AF2Z3*5\-[:$GJ;%-;3_DYED[K$ZI'!8UJ=Z,<6I6*'HHE* M> MV;\$FW3+'O,\F3=I2O#S%78MMM(V<61W230>_;15S=9L4UKLS3F*3XK7L MO%,1K3;;3_5BW?+J4:&\VW9\KV:30GP_QJEL4K(1DV1V.%>X3KD3RWJ<)CV) MM\TNU[1)-\XQ[[-)[<=%?M%:T%-"*]*/CXEDJ6-(M\TSU[5)(<[!GR9WUQB4 MR@FWDV>SB<2R0%HU1A]$N;N;R=F?D%?>8Y,\LI0LJ*NER>%#O3-0E9A+A/?" MKUNP2;?,,>^S2:.GB=32.>!RVK"D$97>M$Z*MQU;7]TF78]KWL[X;O&&]F@Y M7M;03$,'FWUTFU9I2?(7V02U*%Q6=EE.6"6NBF>Q ([QF6NB/M )=I2-..7_N MA3[?#5//G#)I#::%1XN:$J!G.P.&7VC$^>^HO2G$O1U6GD+$%N->7QZGGG"6 M8D>XR'2*>26\U]^$6L1"F("H,ZOQ1&>5LE*QY4Z_.'?J3B=T(A::&)P^/%#L M!"(VE[.%4<=F+25N#X;S)CY21N'=OQ%V$?N 9WP>*_:"4S3<>EH5RLZ :)AJ MBZ'5JF2UP[!S-SR(NU01R59H/W".'"#2?'N49UJ$$.]HHM"AX_GS.R$A#E[? MKRBN=*9=. .@L/'U,CY*]XEDE^? MXO?D!&BY4UM6>/ZR(7I3%71T[==VMT!#T^61:P>N(Q1J-,L%0,W0>VMF2%=R MK6RF5&BPVM"-T9J:3EM*:+,ZNW-U^"1J7>RPV[3D[##+C>L/]N6 MPV?1D23 ,B$PWAY#=.4)L JJ,8*A@: +DT"]J^*'+5O3DA<0>HAET>]CPTL3 MHQ;+<'Q*\>(V[PE>:IE30K?V %'T< Q% 3^]C:.+&+3CV#VSU_9^)B9.R\2; M0]]]+O[*"?!#?197^_Q$(>8E,I:F39O.M4-KUL+BV.R> ?];TC\W/5L@BA18 M6] G@=9"WVK"2M9<[862^M">2*5NI>=#(590!",IQ9JQ3$U40\<:2#%MIW[W M"WW=F_O7E4\X=EN&> _-A[AJ,$FTEN1R1!-RL37TRJMF-]T+K>L4T?Z54.HL M&H=/3EFA;?)YSFWDFX/B$[$"5NAXXU^D<<(:P'_L7(>G>"53T9Z6K$=U''9B M=(1F);2+%_]>VK]Z"I4 XU(1=*8 '$]!-IPIL+*N9:&@8WU-G0Q>GG?](9ZA M%^*3:H[[))N=5PH4/Q2Z4S6\//,*AIZ]XC=1=,,*ZQRG:6UU$,63L?45*<;. M%V3LMGG>C@AT ?:\9:4C-RIV .P>W3"O0^YHC(N&*HT$46D*'NKA2WPZFA(% MMF?(4[:Q:(P3\_J@U#-"Z:,?Q=BKEU"^"V4WS+>[RI9,X02%D[%W*-N734]@ M:$_%Y'G9LIVS\+@RZ(P]L],6V Z8QU=3ND*F%Z%,D'V,Q]^#L8C%S\?BGPM? M&45NLYIAE1.R'4K[PKA M]0*O[X2]I-_9#H=ZHNU.?TH[63;+=M+T/%;H*U08[JP+7=[F13EEFU"&PV'" M+2IQK5F@J[-QP3S_*;T?1=SUCI9[9K'LN$MIF5:BIGC)QIR9C(6L+86!Q2YR M@O#PJ33KKZ;I%-O@K45Q7FR(^F/(9G_B8V43/!4/2+^L.VVYQ7=Q8FXE.\U8 M8[SLE\(@)/ND3^!4_(2:]GC*+:5/!W-*-;M$7,B7VL!<.M50,,)5\E6N+@=8 M0Z4S*$#2)<&2>'LJ6,#F%7HT''H>DR# 5-9@+)Y5UZ9=ON3\5S7V&S"LH2<5Q&(WOC"@#59!;9CZ(!G'HTAVU'K Q8L M1@G;:O5&O=GAJ/X=))N7OC"PN"D9Y^W6W*/G2=9C-=FU&S21:^:8XP-O7_K" MP,+$ GX$R7.EM-QNS'E1R:8[#2Y53=>]G;N]=P?>OO3Q@7/R HJ=STIK'F:; M'7XHYH!N:"A./NSV MO=*SU\7/?>C?3Y"U'\R/<9W ='ECR9;I\900P AU'](M._[E[T:DUD'7<,\X$B[^.F\]?.&+"I MN6DXABH0'PN:K'H/_T$7%MI8'2RQMJ$)^G]^!$_@OS8Z?O8_?_FM;?D)P(Y@ MG\$H#_ CAOZGUQ_0 +8IZ)LQ%C!@\9/2WL-4EJ A@ W^Y[^2%$'_]?=/U!"B MQ3R"&E$%@O4P,ISI7R^Q=#!]R SX%/@8(JG[>"R 0O")SHO,>$P1"<"#L >'0)-QH]!??>+JY>Z; [K=--= MMH/]_7,44C@[;)9KE[HE"&2ZGL/8QVPQ72^P6+91JY4ZG5*C'@;@R>/ ]P5[ M"I4M=#%^8+G[[#U&$3$F=6F CW,S#7]\)_/N:-%/ ^H+_!HP'&IAQ] >=IX@ MG>!_W=&\]V0*:$>T\[[QV0$.)<4GEN'J$BX:JF$];#3+5BNMCG3G#WT?AT,% M'5.Q>]ASH*L>=.BF;=&)":YCH#$#XQ+\O1$:?AW,^(=E8U\8\HUV+6!]Z,% MO/K>G"QBZ[BI#<:?C3 Q74#QHP3DAYPANLBE0AL:[GQ[719:E^#KLUD\CX9=+CO!(T-2Q.LDDM+MWN MLNWJ(.">-MMLM+O!YR;7[G#I^OI;MQ'\"T/-+HPG@R\D'?S;:*^_Q_Z0UG:M MD5^_5V2W+ZYCU+]'%O;SUR9(#7Y-9[M8(X^1*9JY8. 7Y-">4VA'HM;4\: U M;UB8,P78?,,>6+#0@0'(S-(Q#WZ'>1\D5-<$.YU*@N+*Q 8S;5+FXOERURL18%:IMJZB$IE/J\1N.UWOE)"2PP)U MB&TT(=9M8&O]AY$TUFACOL)#B@NJ.>P*&NZKTK%18\Z6IAL]-K8,+5!CK[_O MCRP!T0@XZP%&QU 50MY^^P:,]0LAT)#!B#LZK*@2N*[0YI#M:"9!J03;YN:'.NRM M61$$B3,$S:3>D1A[JY\H37:9-!E%O8.IS\Z-;3#Q#S#2'708Q Y'>I362%@U M]8G0.H.4YY8[9O.(5=WGG> .TYY_ARF&BN%E?6+_P-!UIE](UU[=8/W!K@31 M\7&'&6/,VN(,$VS,-H&("IXD3-8QV;$Q<>I[YW]&@O2J(*W7Z\=Q*4&DXH"G MR=289\:$P(_B29HG$XE4@AZ11 *0Z_7ZX(VNR-=I/!-?5%U Q*<\,(=5LZDX M+9[BB9_"R#94UUFSRMF+5$Z2N-]ECI^.%&'[LMC^Z5B( M\4^ ]LMXGV]'R#;:4V9:Q@*9D)/G70)+CLXNM,QU%.!O8O./>K*\K"&M#3M2 MBK,EYY1;DJV 93F5'-++SG29A@,3'W(V5U=+-.B'B)*D<"I!,K$X]399 M0B1;B:]Z9CZC8X:%&6AS?!!YSEQ+MB59]#,+QOAT?N17H95W1=0'VIH(NOSD M?_]S"V=(9.?+M"G=M^\[]QBKF:KA@1.F1+\*V;XPKN/_%_CWA>2G[Q9^&SV4 MEB0+[2T,_JG*.G2O=Y:6>J!$,TL "-?-SE,$P$TJ^['T/$736,>T(!=B'<<" MP#E?BO[#Y1O($./R"@_B_P\?%]UQ839>%)4L7YF7G!C54)JM0P;Z9-3Y MR60RZG]@6$J OF/9X[>H\.-"F:PU'_DJN&$UH7L#%=QN#J&JZZ7AX+'792O& M*#NHE-*M=O:PMNNMN=0'7TQG71@930/Z>NI0-I^]+A\5?5[2GA(-@R%PQ1L\ M9<=EP?B@<$$'GJ3/)U!?4ZK+J>P ''*J"!Y,"_C1"TKB_+'&"\J;-*%B$&53 M4#%V!407Q3!88PS5,+#_O%BV.'Y0P_X!$OQQ;E[*(DZ",=\+[IEQ?6;5R2RR M;';LX?UIPZDXQ.&J_YNJF3SN%;Z_AS_/+DGHV".U.37TPP0Y\=BLJ5FN7F>S MG6I2Y%:Q;*KRL01YG"9QBB2/+QM_)C]^=3_FC^?L+8JIR<1?-N8 %9@(A9@> MN#4G34.FOE,6\O15K^_)BE A*A[UM2"SU80=J)4M_TRQ=8X;6$#"3->R793L M=@P,MO!=9I+Z8_0GTNEH'3H1,I?I1D!)Z) M2S0CP.\Q0+],UB[TLBUFK?Z2J!#D^)$!^9R^6*[S$GLMN4H\UTHLP\N4]DS\U,E&R>'+7S"8UX2J!<&D;\"4J=1]ZGA* MEWQW2I>F[VGJM< /B]VOR1E\.IYW)+]WWC%Y3'&?,>V+*$)'%(DH\F^ER$<2 MBA]67U_&2?)+7M;G"V^ZLJ/ZZ\6L($ZQK"K8]H=3?!]FY-O%EB6@>6&V7Y47 M(>I51-7750CL2IRB ZPQZ([!Z!NRV+//=B25>>!QT)MJT5 *[;43IFM7V".I MD2_'V[4:>411IEIO992^XF538B._\H;+=?W!Z[HVJ#J#I/)ON_B!F8*%+035 M!=C_)>X)@D05D)A_'L96TWYA5>WRTG!M>JW51U#3NR46/FXK3:<^P-E^KC]R M><^>"_WTN@3D+6+E>O\:,KQIO+??]Z'7G $&=?RUB?,1_LM$!:U1$P!P>7T=,&) M3W[#1P-TU--QJ7SKM?VY'[1\Q[:.33_K/6NO='0PY.'?NG%28)AW //:N@IV MF]H!20@4#DUV'"A30(5"8ADZ,IZJAP%H2#VLA"R6(/JK0SG!$8(:_1=ZX[F/ MW>QDVU5!0"&&B"'5T 835Q6>%4L'[V)_H(^)ORB:NE^WR,W627/4-?Q'J;$(?0M'? M[FVYF ;P5YQ.O":PYP]^3(*AJ B8"M\'F""*4((A\T&F1EQL(7-X]"D&Z8X? M_<'6H.C#4:R-K<'0"8R"[OU +@#L#EI+!.L$FUC&TIEN?KZ''@'P89/ 6-;] M[)J_R(R<)XKXZS4(_9_)OS;-?MO@=?@V#9$'L&[\"JR;EK+N:RBH3$8XM7%L M=KV9^]U5E)3 C,EX3. 9AF1X!G[D1TF:Y&- B$NQ$0PDDN.7*QYSV96&=LZ( MLWVMVT_W[$+:6RQY^G 51'K:2;=0G]3+EC;-E*=)+0'5CNE5$QF3)9(PVJ+Y@]6>/C\C@9"L MKMAY@:2GBX2'.YT)'SL$K8\&#T[49>M2JO? M5AJ9CC.TS7*F4D MF^1U7KN0]'8NT:Z1=;WJ"D7:]W=E] M:^U*;^\T>77^P;:+2VG7Y,OI5U%F/5@&V!P_\%/H[2+@WA?,KT(,Y?&#= MYF"EYH.S.[_V/)A=^K-DN:16O#!-PJ82-]WVX<#^*5DO<7,25;G'B>%1E1^= MWW%5&;^G(S\T\D-O>H*1'WJ[L_O6?BAS3X3+#STR_]_4,?M53;[K@ZI;)H;E MG>GD+52@9F778VPKFA.-B9-E]4Z5<-/2LBUU9_DTBVHBW MYVMO*[7VJ\!"[W=W@EJA -YMP5#P=5T*%'Z3<+VCW@-A\I&8<6U9![:]%:9T ML^S51D)[0@@KT'HJFO42\Y2&PD1_B,%>BMK+,.(+>SW.;^$.^(U=EYL%'!;4 MG'V4VZX>(5R;WS9(+/CHRP:(V_(=SHY49Z_XE$166QK_-= M_/=\=]9-*J^[$,S[78BKEIZ/WR@0_8')Q^M:Y?&QHG2_%!T:6]WP*\E=.R@N MALSBU/,+889D%H2GCUB MO(9<9.K^V6AG8Y:O[P"XZ*:$LV[V>9VQ+WU2T7X2VZ_F+[NJAU'QX+ZG'T@" M+( MT9\U,^?]+2M06;JZ'/ J!S_PG;6&Y?TMU3:OT*/AT/.8! &FLE8?E+)J MKI*^V].8NJM)AB,!488NZ!UF0R<)3HC8EX2TS3?&?(*GX@'K+^M.6V[Q79R8 M6\E.,]88+_NER1VV[L;^YZY4SQ_98>=O!O>WK'9\"!NNXUL%:!YV):/B-B<] M49MRG;:7G\C)>JW6F=S](F.)'\D8^8,BF UO;Q#Q*]A%;F\4AG5X1)@8[$2W M?[<3_0=F/$-U?ZWKZ,W5\L<::!S _51 M,#97EOFGMGT,IEV2O1=3Q <29L_UA__[?[WKS#H1.F$6BK*FFZTDE!]730 > M%'0*8\CP#X*Z%#Q[R;QW]CS1S2M *H=:-!NE9UJ MSKW=*"1Q3\>>GP4;4C8/?U-7NG/*'T7>H^TQYZT9#?POXK@#]B&2[4QBAR(O M\71L^NO=6",BQ@AB;,R/XS&29\9QB4\R5((?D_$$?!)G1N/D_HZD1G;]_1K7 M7[VX7"Z=J;+H'KALH]YEZ]W.A:_F^@39SK%9"X?V+4&1%!%/O!"*G5S'SA8M M'P8<:B)H!G=/\8/,W+[Z2DMG9^;U^<3T\=9^ZYG:O MG6,_#PO-3ZT07NIPXD@=^/2\^*;N$XG;0/=%T9)(WL=?/Q-J\W_BGDS]J]%$ MW1,W(JP710M]3U]SBV18T4+<7W.KUE>P\GP&Y#5-W^D-SO^WSL9?VTV77WQUP M@+./2-OOCZ,/09SQ(F\ZZ7AAR(J7ZE4F^:4F^S2RO8!G_U]"#\( ^C#P&;6JA6Y+^R MC7J.K7?8'/S0:51+N727S672U70]RW:*+-OM N?A37XBCIZSW6C MOB^!G!'+P4J!.R)\!R/R>>?A?:7>5[$?-\94^5(= E1*5[%2/=]HU]+=4J-^ M4AX[LW7[6H"\^^8'RN@^5JM_WH3:403L$-I?)P\)1JYE&J_')#<3XUS="XX" MFF\RRW]10'/!Q,/OU/BWT--1"//9$*;D (WD\YM=3*BPW@DNL'EK?\9I7.':Y9>Q7N[-ZW MT,\WN*P04N<\(ZC0.0=89PH =,N%]09R'6 T$6P@]^]JRP$1:"-@833I/R4B MI_TF+[+WWYPT-,QOY_'SR#Y:Q._D[>W1C_]A"N"\&*-4P0')!F M^R$&.N+, E,(/KK$_H^J8=M_8B5=-#3@'QN(SF5R(*V W]J65]CZ7GG_K,%@ M1>LP<(EBE9NUI+';MXW1 D-D]**@)%*EUU:E45 2!2514/(=@Y).MY&M%!OA M76#8BSTP__#6J:%*P++71ZMB[-R%Q'J'CW]D72)R[V_6)L5OW\I$[GUD/B+W M/E*EUU:ED7L?N?>1>_\=W?MLNE/,5V_&O<\*]A3+J\;2WKKS[W3BL6Y5&7GSDQ4=>_ UZ\0*9 [9HR28J9C'&FWMX>8:F MDPP3 M^];CAP&,? HAVZ_R:#DKQ]$Q'YYI'NCWSS2)5>6Y5&OGETNL_N&2Q4 M3="%2> IY61;=&T;^GZ"+J5U0?5LV3;&^1 X?L]G_5#163_A#2!NB*.>H=S> MC/P,K9_-W\"+U@.> PL4>?AW8_EMVL!VU6#)X'D70!1EW*1II,C;MW91F!&% M&5&8$>G2:^O2*,R(PHQ=IY!NN8+NR(Y_[RATG.!7=?T->5VJ8;M6")S"YS"# MCL*,<(<9-\)1NU#Z$<,.G-@64 B),#)'[,\ Q@%!33O)ABNY1CNY1/CM&HGN4HS@E MG+8GBE.B."6*4ZZMIZ,XY4OW*%?!1%#]5"Y _=@\'4\P-!&"9'-TD_)-Q"@A MYR(?,FP'M&BQXB8-%TW?OBV*@H H"(B"@$B77EN71D% % 3LN6]I5-J=%T3' ML&P^D:12J3"X;CL!0#J* $(> 823A1!0V!JJR/&_26,5.?Z1X_]M57CD^$>Z M-'+\(\?_6N^34W604<8 \?; M.6623\:35"H,-WE%1R7=3(@0=E9"X&$!?+LGJD9!P4T:LB@HB(*";ZO6HZ @ MTJ514! %!5<*"F(-9PJLDCY&H*.KJOA8C([%PU ^_AP/Q*)X(-SQ0(BYR(<, MVP$M"@)NTG!%04 4!'Q;71X% 9$NC8* * BX4A 0Y]G5%*+$"4-U^+/;'X_< M_G"[_:'BFPTHD7]_DS:)CMV^F8D,2Q0 W*16CUS][ZI6(U?_7Z^1MRY;IU2H MI[M&T=^%EPSE&<$5F%T,TGL@HAL0ITXO85_8=5^T]'&*G@ MDA:(?+\%"@FV(C#"#(8DVZ8J>% ,=?#7QV#:O1+CA7Z8N;8CC[T=.#'T/_(D ML"- CP11F5B&JTNX:*B&]?!?!#$>$\3.M+?^P&?N!I+DQ:^_X9_->*(*! LI MH^D:0CQ03 \T&F;M>Q'$?Y]%=XK0J0+6!C44L\8-L44-M0.T__=__Z]=X(\A M"_WWU\ZL=BXJ,84)P$<6$!1<&,.!'P1U*7CVQ@E(W=/__=?(L"3X"[$!BO:) M1=S3L?_&=CXC=!S@4A-6^ [&]GW)X+7-,RNX=V7]T+!EM';^8 %5<.0%0+WO M]>L3!OHK#Q1Y'S\375XP*$T<9]"3,-H^GHY-_^2\]@XYW+]S:E>Z[G[5#0=@ MZ9'A.EC>L):")6%5PU @+;&.(SA @ZQL!Q=%G4RUO0D]A*D[E6VLY0H6Y&75 MP]K -"P',W0$H089%6]A?R#24,1?+UOYC\F__L1D751="8*U;C@.)H>KZ\G9 MV\FM7\&6LC.5=VL$!W _B(A/9-#SX9(]0*"IL_+\B-4#)CMBE-$X351-<'[L6'/]:.EK*HOGX&5 M">?\\JD,;9 N';2%\J9!J%\^%R"PHFP>^64$5!DLP.8I1./Z!Q%*M:R[N[^@ M:>J0VH@ Z(L%X(3A\X5@R0'&UT]U]-2&[*(*UBX&$,LB7II,L27 UD,CCG7\ MOH.9KGNRP%@-. (RJ8^Y-^B#Z PMI&WHR)W_@7I'A)H@0'4#XMQV+:?&"XF W)J4H( M^1*VJQ8A$A#/I$U+5C&*^ '_ITB_U[&LPA^0,GNIBM&O6PV;-31-MFVDN#=F MJ,-F-TH7:BK7LETH3XA1VJX*,(9B_AC]^0?S)P8].F =,2(_D'5;0T2M(=K5 M[LTM^,_#((4F8-"Y%]T &#AA64.Z&8T]#K 2L+/H4T 4D :"SUV($ O8_CD( M$$9)'H\A5$@K0"E%*FQL&9H/Y:85-*2B)8\"48/CPG'4'#6S69CJZX4!: AOV#>%4=&.I MHRFX-H)J.95%7V] U%I!"SB\+?LX-WREK&UF&2 &C1&@!;'*AU#SEM&(E,$Q M98" M%!+OX/,Q+]+G-,NW))#.-OQA#FD>V.F 0V4+0Y;;0KL U_P-603I%,'R=@'^ MK8]TC_5!(/*.H/AFQAA!]/@6!)-F; @7?6QL^#)I& MWW^S,%&V1%>#K: %@[A"0> S+C1!\OO>>1/]9HB!F(@^MES]V0.0UCU'1NTH M'Z]U.V/-O&%OAADQF<; AG&CX;@","7/B2$B\!H0<4JN;[S!64$"%#OKNWMQH<' M4 ]V#!4@G8DXU- A3\F(W7[XO3X##UUY8"UD,1@I,+;^KY@N(,I!I@46.O03 MPG-D5IO@(S"79(+9N@A,DD*(1$5AMJ?!@-=&\<3:N_-[!8&\6, W+(''O!E( M@N$0](;1D(+N84OHBP=&8PD";Q"] OU&@(*A-:K&KJI"#QMJ%P?%'(&Y1UH* M]H74FBHL?_A8\O,D]OHU^P/80-;Q>?YKZVIO8Q1DV'90MWWYF4M\SA$-#0J- MC+J#*DHR=J;O@^=;1 M;9PZ/O/<__T6G_MH;RMCC1X1!#2EG*,.P4VBZ@R@, M>?TFU.?PP50V?<5C(P[R2;+M_0=JAY >9$Y@>]38=\S0TT#10Q"?IW%!\0^O M8N)T%07/OL6";\+6 =F6R*188.Y"HV:OI0^&7-LP\U5-1L;_6O^S#,)",O'7 M^I\7OT._^LW?(5.];.#SYMK%?6Z8]4GJ'32V$4]*+^7?%V+$;+M3P(J&ZE\; M^ -&[^*]/Y ZF_$.SV/$>F:;>+],")DO_ MW/$D *D4 +/4.289V()@1=BHSA/ 4I,IB@AQ<1&=T%=4?"&?V46O\45_XRK M=;,SR_L[..FXR@\\8*3:M\P4S"C;J.?8>H?-P0^=1K642W?97"9=A5S(=HHL MV^UP]327*YUT?@=@OS7AETM96XBQ79"Q-1'-$/QR=&(3L5'\1@@P1[%NR(_KLFTUS8GA.+9O-;U$JEV<9SF M29YZV3+C#8O-1H,E%9FFF#B33)=25 NVC+ULJ5'SEBXOIA#)J9:YG-63]1J= MYBF>>-E25I,>\S1*=XFLFL^ZBW(AXW11RX/1'7NHEZS8I,?&$ZMQ?T$SO<=N M"[8\&+TF#U>S7-.PE$96L:R^$^]I;)JG#T>?5&JMHI895)2^4Q.>AH_-1I)9 M\LQART2?3<8K3VZ:H'(E,&%: !^X2SYVV%+2FN;4ZXPK1*52,B>)<6I8STY@ MRX,9\6)#L3(T(W/N,)$&WZJP+3Y^ M.+JRFG4L2J\X;#PS(,Q%9&Y&C%3'7'ZED.XE;C=R$)\G#ID+>$O!LW.DH67E46\9TWLK%8-,C[*0Q MBURNX51+7&5$Y4R)&?+#-F3F([3O,G5\4LVJ"4[.LURUO^0R2<@EY!'B=UUF M.5)RWH"H#&,DD2H]T6.( -CT@*;6LE\N.2*78"EET%*=2E*QZW[3 Z)*>4EJ M9_BG&B?+L7@EF:@TV/R2)X_P5*Y1'O'U>;G-N?VG9*K6*IC9+FQZA '2U& Y MC*6K74*S.DIAO'KL-6L0@",<8-2SG69&HPK*/*TLT\*PV$M#[H=-#Z95*$J# MAII)> HU):58<37+5XM^TX-IM5J+(F/P\0XK2SFU9V1;%7D*>> (8^FQ598J M5@M+5BOWTT0)<),8%&GR"&=E$XVG8EY]JK#913G139!FCN8G/'6$LYHR05%T MT;84K3LVI%5W!34Y5!1'.$N= ;/"/)5'G&S2^54N:2H+!?9ZA+-PGNPH/+<0 MB4[3E!^9G.9U)K#7(YQ%]B1C5!2G!0+'\Y*]4B8U!4H6=82S2!F?$EF6?23Z M#LB,IXMIM15?HJ;TRZ:]<7:2C[6,,MN? &K^U!C-K ;4E$?892H0O<;CI*YS M@BVU2T9IYBPD.*TC["+7ELE"076?."')4=UF(DV[5=CT"+OD:T)CJ-2[)!MW MA5ZS7;*F*B0L=82PY52+P.OZW.-<;='2YJ:4J'KZ4?S:J2Z*11TP-^I86*+?8SBD?@IE#5 MQ71'&.E^KX?\&AMU2N7"8NGCW"6C?<)+I6;SEC9'AM.(Z')K1JT045 MN-_T$("DFF>9)M4F0&7P2"5J*6T*[2!]A FA<'=RB6:CIS3Z?#^32 O5+M19 M]!$F7(QX,4&0%9;+3G2N5B0YK_4$27"$"?$5/224E:81+NLLZ[5>?&1HL.D1 MSB*,6:VMNRF)$"6IZP%GE46+.MU23(SKBHP?HGDW7@-_KAK." MY9U-0.I'CR@85073!@^;#[L^(XK?UK$;"CG\Q):^"0J"8%%P'6/S((@4_2=[ M >5N L':IA3VHT#'V@"V'I ,7.[?UCH' 3'QFV+[G3AJIW\#]CE6C>4F9ME\ MQY>68#X$X?<2XNFW8>\Z$>$/O&DJC&Q#=1UPYL*ZD]0R[Z0M/E-BCM"UF>9] MBHX($0I"D)%$A((0Y&_VR$24B'33OXT03$2',- !2D1D)$Y(B4\> ;=#DM]Z MLI?)=+^ZR3@+7QI9,NRX"-0%0%-#@PBZC1^,E/P )L^JV+^,L^1+W@GR^H=_ M]R8#0RHTPW_NJ+O/3HRZ)Q.;E;[->>9?619)VP%BC/%V M >36:/WF_%YGA!>S/0$ST//S7=77L$8YYVW;8P+$?7I.'CTXR1()RQ',\^:3>S@6&Y-2$<\W^=PFX2YS? M\FJ0$/'OE_-%WYY]WT[27(]]0^>W'Q(R&VQ']#>+;"HK;\V3>EW _A5VX#NJ M^W\5T]V@\O[6.OHV H)M&7\\4.2"/?6WOHCH ]I0M1#4YVKY;^--A 'M,]!EP1+XKE.CB?F MQ94=2\R6;*6-S\1N88AWX^F[S7Y#_ZVTS3?&?!P5":+L$9\==RDMTTK4%"_9 MF#.3L9"UI>4=)@%1U@35_N<.I^^PX*:M?^[DE?.@NYID..O?[_SM9?_'S_.Q[-) MT9X@\.Y^)6,_8N]TD2.!#8/#^V],0=V\%_Q!@:7UH5>TTLR$I;I>2DAH]KS3 M1P(+G=\4\R.>2'S,^;W)M%S3 J8@2_Z!K;J]/O9J?6#5;Y=>HG#^=&FZ*Y:R M7&5).'!/KCWKZZO#L[DO:\EF \%.ZU(#2750AO.Z4BS6XY/:W<-1U#?X?3\*S18^#,JIZMOB!(E M7TV4_$9SY#1+F$\[NL56X)QJ;BM+)>D)[Y_9PM#$#X)\GU,125X84B.G%+PH MX_'%C,=O)"_)F/&,-.==SANPQE.GT7ZL%Y=0\I#-9L@?*?JMI.3-YCC\O$9P M5OL/_WZCX.X"5'1DHE,G_06]*&SY1G5'%TM8?']M=<:$1""23220,.I@-^)8 M!\=TE^T1_32!ETUN3C5M;[%H]"9M=#@DRD0D?L025)2)^,8E1Q?+-'Q_B3YG M)N%#(LW4;+-BIB6**SC 'M1B,6M6;$&11NY(\@=)?'#%)6Q.1\$P)'2]212\ MW*"C$/D#%_8'-M)R1%&0C%/*/2YD4:FD=?K1-CCW:>0?]PR-/T4E?M!'JJ8B MJ;L]6QZ9[$N;[#>D;EJ+=^C%),DI0!.35>*)U:N-)9*Z^'ND[I;3!24=TFDB MH_-U@\Q_E"*(4@11BN#2+L&S& :931A&L*OU5>EO**Y!>]%P)2K3(0J]>K.1 M&ZS4<3F-KGQ N0*2^I%($E&R($H61,F":WH>GQ3N,4.-:\1BV"'CBOQ'!6\XM^-65&)P7'NVHB'941#LJ;M;= MV"F3KANZ^&K5E3QU,KEX>YGALJL>*-9GA$JQ_EV1:/7B!TW043(BVD,1[:&X M9;_GO;J@0G>Z,;8:7[*@Q#56O;RB6AU?%Z UE1]DC+SMW$6P:R)*6MRX>W+T M@*?( 0F9 Q+HFV.YC?^?O7=M3AOY]H7?GZKS'5S99S\U4V5EZP[*_/=4"2'N M($ ( 6]40FJ$T W=$.+3/Y*P$RFO$X]DK3O7K]UKV[Y7U,;/8H MAM*86Y<&@E'%^.)QZ,SCJ##H+8;"!,;=/11BY&G6 M.OL=",+_[[\(YI^;O,$T _L[?$7BHD*F"RJJO)_FC$O;Y(\MXE=XH]3[Z67X M$WY<05!\_VB%_06?["FW/!S4Q4"[?B<'XZ';A.J*B'V[D.UX_O573XNYI MZ *^HR@'OHYQV>G5N_M#AT?L/7(5UAAK;$;]6=WJ6NU@4&MZAQUE*%AQ2QYY MB^'P:/I[#N7@:Q@7GG=]*HZ#Q%\JM6470V6O;83MQJ)'[ L_#H*Z0;4 M@7:'5=JBV1I-CWV-X)Q$P8J;[N@*/+G^GG,)\.3Z%3@@3\-Q?S@VB'EPV$M. MB)*KM:"CL\#(<9P?5+_%G_N>T"4[&/<5[JT7%!OHK6XT=6OFO> V4$-PXRVS M2:OY[V#I^QJ=".@KO/G3W 5\>CEZA&_@>43=B/0.K6,!:N$VOY3\0*2U$9O- M[7C*+)LB3#? =,.[!>)K/J;]3"16.MW:CM\*J.7SLT&ED1+Z?&_D2"P,/X6] MRTOV?_0(,KKLTW*G(-NLT-1!<.3;_9,Z,&J!V0?H4;RA1U&+0],%85*O-*GJ=%R?T9A8FXXI5'^6 +YP:C*F^GVR&\-U[Q[!K M_SV<:'_IU,:Y%W=^Q?6Z]^H\J;K; ZRB]E.$19MJNNMD#)O18N:%X,>7^TCF1MPG@1AKA9W=]9^>Y X*N;K0D5'EK-1#N&C7_'H M6Z!7FRSYY\?WA6%;!DR,P,3(>?R-)^DI/CQ4!PMOPUB )::B(HV'29SIJ>(2 M/X*^19FG^1H0R3#C 3,>K^1V/ G)R;)OU@FBTT !WCKP"A(G/#E:GL2::QZYG"?O3^6 Z(Q'XS6HA2LX-TDJHOJ'A>=R./;_+=HN@SC=?5 MQ,O<<_H)H9<-X^4KLI77%2__I"'J4;T53C?]#F;L78F>"X<>JV.,.LG"9ZH( MGV]I[+'R(<0UC)ZA$W*N1L='<3VOK52J'4H'WC&%EK_N;L=$K\#U\RP'8O&RS3ZT[F=_F>^76+0KUL9#96TLX>"P)CE4G^F!]'N8;8+[A,OH!'PU(HB#:):3OSM!8&+=]BM^XTP.KX)5C M2V#ET9'?@HH&[U:Q1+P!=9!APYIGO M!%^:K_'S@Y(/_ \8XL"#!]=X\ V <"F>]AT?[GG_1ZUO+X^:7?Q<5+G?9PB MC, ']4EGI.#%W8DD_4R[>S7!_[$Q'P;\;Q;PGULG?,>=MWB3X=P+/K\2?(M> M_A,:;;?:N-.FTF[S7:.Q(,7QDMIU# 4OKE:LH+=T];'31A#]KY =.#<6WA3\ MT -ZL_[_4S>DD8*$M0_:"*5WR*36F*PZJ\/:(*@B%]G*?B2%O_>K-D%&*V[01$;K*(O ME<_X_?I--UM-] 4Y_J@4'WDY"S(+=WOS_QX/;NOFSM1!$=J&:S4 H<(/166A M2>A$PL%R,6C&6[-/_'%ZJSUH/*='OUA"8:.':B $60@> 7VJVC$8@D#,)_HU M\D6/D>] #0)E8_8J$;KO:))*81-L[TOI@1YEF_%J/'A6E/\V3 CJ4YHEY,\@LABPR--_I9"0$&F+ND:-"_M(J_J<(J*TONE.%1[F@2LA\ MHM&'1?*C/O\C57K\8SY0-M^,4?;Q)PG(C@0R\FXJ3*7(QR31F;91!_.(S=+(($.BM_B)9[)/0>;Z&21\ M \Y)+HVJ&E)S&'? I[VHBFY&:L^RL^E!X"\@V =:,!9@N"& MP H8HC#'=K$1^5F2;+ U_:7K&<8MDQRA-*% M9_)^^MQ^(VY/@*@XF"=TEL3&9?M1>LE>:.?D# M/B1]M)7V*ZAJX2MMBM:I9CVF:7!=$<9=N@\]UANT#R91?FU6.Q]M9'BUL;G1765[J6@BW5&HTL0BZ-X M?R\1MT^5]A9;-]Y."?T>Q \6-7PZZ)..J<%')8DMPDP4>A)8H!Q$7M 5N;>^/0O0?W$ ME#PC]0-KV[!]XXJ20X\<)X22?)U=&O# _M79KY_E45!EXT?]BKE! ;'M5$D\ MV4K22"&*B_5I[,IOU6>S#\AGK=I9+&OJB.G>:,<+$V'"]F+-)*RI7%]-Y1O0 MAAG.VN[=M:0G%,X"]2M<@I,L3]?FJ[GG#2?.-E$(,B^MT/EYOA/%4HC62W4% M8'GE"EV#IZ.5&6M4XBW$"HHKS&@U=&J)%HQRM.;N 9ZC]9GG[]Y9J642 #6, M@_2^TJ+F-P*%T44FS'^1!;Y?2N$OWI7@BMF=S'!L@2G-XCZ+6=R.0N4-QS:E MO,3R:!+X.M.ASV0,OIM'E;7>LYPUTG+MWB11]*+#\!8C'\F$_B1[7$H)W=YD MY%N0_>T=L.'YGO>4(+JDU5^@2PPS2>\NDW1)BS^[7YG+^%]7YDJ>L(T_2S4) M*-OP=:EA-BYW8SGN-KU?G^H;UXD)\[B'2CZ_T]+PP M?YM'6$W4_0D]J8$EXA"^.D+CWKPWFB8VY?0SMZ5XZX*BG^:S0!WQ/N^R?+/& MFG.O^OPJXA6K:W^L(W2=V_.:.#,D&NSQR&Y-M(0WZ;8C?ZW9 H)]Q:7[&D_"[WPU'0[+57O&"%QC<(9IM+#[) M\9N_!X+1MS1#O=.\3.E-D**?XGNO@V#@1:D?,!4#'PRY:L_EP9,!K*L_20_6 M^9;O]29!*B&I <0^MNX-*EE(=7Q%A$%O,?2QMY&@3GCOJ1?XC,AU>T._H1.( ME1XB_3;O2,+<\^<^W@),G.0Z(2]98=@M\>C#PX5O]#^1NK3!Q<#UQ>5$ ]D6 M!@\%)?\/P[_*B0C C:KE%2_53?-+[/(72\)C'!%YF=2HL6[FI3'.R[NHP^-W MA=P7%;.&Z:JN9F:>6G&I2?$0RN<77,O+L50WPZVMIKDT@'^>-R?;= &R/IZU M?WQ2WV:?__*I2EHW=__^)_MR/XIF S7(M=+Z[J/N=0Z1CWJGDU#TOU]%M7PO M,CCY3:WX.$X8U/F!R->S;T2A MUZZS$[XN3K*O?7XP$86&,.3'[*3]HNLK3?LY2OOKC&\>3OGFVYQOA,;-W:PS M@AMVD%/VAV.^E?VU]I2_^:LGB.+?-^U!]N/L3]* E>KM;(R_'_!%J:H445DM MJPJN9H:?)+5LOS& *FA5 ^22K )]2=\Q1;TWRFQU1 ^(=%^U9-)-A+VVC%(R M43*GX4?*-FF"$2?-NZA:Z4T72KMZD%I&1EG]D9)+@+BK#-4.BAOZ>LIMC(-Z M8!5<07^DG,S[F*VV7!7EG/V\MELV-7D]RBA+GZY+CKGB**0JQ68 V "34*#G M8U(_4BHMB]"&;=F14NN0_0V$K:\I(Z,LS;-&3,>;E8HO47.^94BSYTB[>3XF MAOU(.NAY&)"-8&'1&U_:-4VUUTH-A2@O:5R=+,:=J#.PP-;AQVNK&:]6F9=3 M7A(.<,;5G-U.:O;Z>,NK:GXT93/*TI*V4R40,6L)+-D?=]98U9[BG7S,TI*J MB[U-B)5MSQ+B:4>7>SYRJ&=QUXDE"6:CUTJJF"*E##)@J(0CY&SGR?*2-@R" M-%>KCL?C@E(G!EQ+&M*&0I4I^Q4#\37&.5C"CI3K"J6[N]HHBTQ+E%,1[T8R M(<\L1$\0B_""K;=+E$J94B$1#W5G*BV!@:N!Z@H5ZY*A5,N4H^[P$%NQ4N.[ M_-#5F*X=+GN)PI0IS?JHUNQC&\<2&Q)2ZS86$<>P"H:620U+W?H*V"$2#K39 M(MX:W8$TROA9)A6X39]H8(DF.5J2S*HX+_DFFY,R/Y*&C2[;KYO=% 4=)+=X/T#Z4C/2QFV-:VU& M:3%J25"IF=5#%J25)=GF)%VJ2G*$[VA_3&[+%]?)23 MED6U9H@=D4)UVVHZDMN,JLB4[6'O <<8@F.S6,0GZ4DY988*%^EY-\.I $KD*O^_O!.#0+TA(++,ZO M6.QNQTI=@Z;DY98 !8.MY]Q;(,'!V:[5)WVOKLN1BVS0%\A@48? :-9CG0#@!;V..^A@7H&V>&]G][52W MTNXX6]<)?-5:ROL;92,UA_LT=KH+6TZRR9[0,#O!J;JA'0L2WA@/Z79'PVM>QH(3H'62 M,$W<%3FWN":R[%MJ>/ R#9.1EKA%*W,4*,C81>5$QP[#Y8YGN8*TQ*W:O.&, M*@:;\EV+#:;MFK>,5P5IB5N'3E0=R,*$M\0A5K%V *P)CLU)OW*K2#Q\C9F. MF:4L7K+5;0B^W'_ST&O,0XR[N"EWW(ODC'L?(1SC&36.O/L?'(.9XB??Q3P/ MLE-W-.68,@KN)W;W@=C1Z7Y:2PI%_J*%^T$T\F!\+QMS97O)?3AS_V+.- MP.!&7,)&5#]7H6JZA(W /E>K<",N8B.P1PN9<"/>3#55,+@1%[ 1T&NZF(W M'CV8#3?BC3:B\IF!B+B$CG4ZA-$)O_^ M2WZML*F5Q>;3OW^9[DVT]N)0=?7P]@;L-;"-;K8@.%Z(>J.KD?KW%>G<$DN. M&UG^>AH/^._B@?G,7+ %=<'K7LIXP5* 8=@O':#?.H9\CFAS#'; C<'K MGJ8[;XQP[K.$V(L]YEK >!\5+G JI8,<#QA/OP6GC Q&*\IJ( M.)[C19;PJ:9LX7]R'68!X$;@.5PVB7P-LAFMN3C,. \"?J_9<]>O1RH'EE5_G2509Q?@B] MI[T7H3*PDUX&XZ[G M/FYO)RBM-MICL$VBWA]=NOTB*F/%'!1VO!8MFDI'BK=<5W>MW,M@/OV+D>0M M]NB+KJ_B9KS!TP@7K#,^E)MQK*6?>[V7I#-^<#/&J+58+"IQRZ*=89/H;5;- M[?3<;@9:W?,FB8EM%*\[TSJ)BS5]5QS1Q3.E@9*W./',-QXO( 7S&T\Y+B^14Q\M6>3C^(%Q[2?85;-5L_X&= MWBR![25_7T,V^S(NPGS\>,LEWW3YJQ,A[TBIO4FZ)8>AL&IZGEY+FK";W'FL9NR+[?.>"&8?.L+ MZEX0DX\?A7A_F'S=?,:S,)G$.X0Q=^9$ LEZ19')H!(IK%(\&5VYI:G'[IN% M9O)/SC-<,B1_=03@'4'R3?(%SX(DZ385VQ#;ND0#9C&N:?ZZQ^>09#[]B^.W M)/.TXL.'"/X_D)G\5>_[^\/DZ\;CSW-=;260FAHQX^5%BFXWOB9W&T9NS_.P MF[QEZ+>XF/T<'1'#P--C+L6[QN=\2%Z*>7;8'X$(KKC5H< M0J &VCK36O5OH.3WV_S"WA.ZJU?IIULZF*]XTR"V3D,]=';Z2*&*L)NZQ=Z\ M,GF-\?C+5AG>'<)A!/^R'0G/0_@"W34LVFWB$F#83;^B(6CMP&8(SU^@0V\9 M]&FO/D$;_G*]!^\,X3 A\-(-!,]#^&CBRG4[.<@6V(C;9#6M-1;+)$-XGA-@ M;G'FL:(?[!2 -ARF%]Z\W/\\A,=-2+$ M8Z]-7V9=_SL1%K,%A[>VN^^$FC+=;+SB96O@0WL-^3J_7ML_5S-3*<,/ML*\0YU^&2@QSIK!K,DGUP6*C"W5/5I MR8 /$?-?LUL (_BS1O#/PN26W!HZL/J6U436)K=N6;/4S]^]H(N^F"I!P"(\ M+,*_9TR^2H)6\4RERDNQR36M9/[KD6(G(&2>NQ5X&LNPC>!"P+5/K:R MZX[IFF$4%#<4PCP^K,7#V/MLL?<=,#/]Q7X'RY\KL2Z.N\VNIJPE-6S81D^2 MC%[/4"IY $[@MRCV6)H/5N-A)A_&\F\I-TPD- YHKJ 1Q/Z*=5-5TNE^W% M%.6Z@]&*B8:C9)HHU>*6PEN2A*7\/RM1G%ON7[/4?^ZU71*F7S=]\#Q,2QVP M&6EL=2X)_KKG!$E%7(BC#-/TIW_I6XQ\6B<_M--7<2?@"[<*G'MM%X'I-\D7 M/ _32:/>6T^'-L?[_?W:'(2[ ! YIHM[_FY)YFDI_P^1$H"&&E[0=Z8$P?- M[?D$MY@VAXG47!A3:M5;K7T]=[Z+Y !^BS[:27NUS0CWNWU#%^/_U?/"\.\; MT]4\!]RL L^Y\;;@N&LA+&K WH1KZDW(-=A?5YT_$([8Q%@$0/V(KQ) M,N$TP'_$-:,=@-UKMAQ+)=N=<7T?][NRD>&ZN-0/QQXK6T!3#?L/+K__X%5- M]9ND$)YIJA&]VA"E1E5"U2[8=5)?P0(U-]5Y#N%D7O"U3?45)A>@J8;]!F^6 M3GB:J6YB&M$][.LBKV9XWM2F33WNCC)<%VD$[+9*7OFQ_W;^GB0(HQMP[+. MY8HK#/&O+9)_9VT!]QCZ>:O2&H^X>+(E*9ZN8FN%.L@6HK(*AN:A//YJ!88K M#->OV=3#X/NLP?>O85A9,T*OUE@I%AT+^J)FT7PP+V"81=X, 8OW\!S_NX;A MFT3.OX8A-6ZUFQKF1ZC,:&V-C>>!V$YR&&;1,EV%Y?:/: UA?/NR\>T38"CO MT55S. XD>A8<1(OI*+U&80V+ _NW&/HN2^39F$*T!L%]Q'OSU[$\_O?MC0O@ MY?FO7!0_=[_,68KFYU[T16B]MZFPY\@>>*[W?7;OFQ+\:0;?XZSZ8B&9-0NA MG?Z&(])5Q:*(K\/D('%^[H>G&RP_Q#V'=;2WXF2>:/R^7T#3B/P'"Z; MA^G&&0N%KR=5:@6VCG23'%E]T_6"3"CODYRLJW\_"N_'V:_[(%I[V6]V&4G^ MO,>C+7S=37NH!=1>1?'QO-?SA.W.US+5A1=W[Z.W>*6<#CW9Q/Z.?QCV''8!7"1 M=OR-"O\78<>1J"W/&RTREKI=K\,*K=U\++,YP(M>_%//=;R0&;_"!,0',N.P MP>"E&PS.:<:IJ>4AE>I>YL$VU%$S"1+.*%">)QJ8VRK]6,GNFIL7VE\S#%\[ M&&"% 38MP*:%*T^ 9!KR+J]: RY8F=&IX,6>6 ;O$)P4!VMDU UPG9$3!2.* MB,J1L\)9@5&(>)3K!N;3O]0M MRF#P.03H-WSH9HUWF9UYBFY 1NI.CA;[Q'(V8[N> M X9/90XN"\/7WY[Q9"OOJ4>O67XFOLC M[HYE #5PLP\*;[8@N G7:@"^P'('?/#@RHYV7-0>7V.0?,5W"E_0ZL]^!.*R MV/'AE?WEM/F_IROS+VJ/KS$8@\K^7=PT_R?LN+)Z9$T-30UF/R\VRGBY$N-E MYR[KYL[409'K*&+E4.&'HK+0)'0BX6"YCK=DG7KJ,B#\CX\'?!?1#$(CY M% OHE/.8Z-<42)LPM<:BA\6\7*%3;- ,Q8F9*!B=5Q/1SRBL)5[3.;"7*Q5> M41+R96#Y['+@2\#R1S16-L-TMQQI%5[HTA$;K =TU&%S--(%&LNG,J%9O-AX M[.5J?N_:+/YN7>]5S2)2J5MMNVXGDD^8LUD?I2DYOP"!SLM[&1 I6-W[8&;Q M[ '?&YO%WRW0O899!-7NA)3PV@IU_(0?1"28'V8%&O,ZW4DXOH,RW0]1<-VT MXPCH,&7[CNIS)Q73>RK-O<.0^@Z'CWD/;KQ?+4;+G<.GH9:*S44MZAF&@E6> M%U3#HN25YJE?&=8P/G_M^/P;QG^$MC&PA^N1PI$H8!45-UF\$T<%M)\3H4.# M?:4UUE=%-@SV7R78?X+![KM!I;4<[Y965P65!;] UX=V@>IGA?NPL P--LP< MG"-S\'.#[1S6P0BQFR&/4T#=#N/A*(S9'-IWN8/'KC*]]$)Y-J8,\MT&.J)F M,U,-D.V)XW@YE#W-NO'B*,Q[M/,YP%+!Q>8!WM5-Z^?8L6L,<"_?++Z?V\'/ MM&,?0UM>3J/K%09<9]&65QA=?"!M>?: X85[2Z^RW/;3IE.8N[O28ML'. SW MV^=W[^)\BU@N%FE*5E"P-IW!O,W9]>Y9K\6Y#V_98W0[B)TE"(15$?2'PK?H M]OO6@6]'?%<39[U8H]V6Y7O";&56YZT5-5(PIK@MAV1N*>:MK_R\QECEBG-[ M%[3ZLX=!Y] /KWO/SA_KA[K?#*<\N^>;!*$.D71IAVF2ZX?\H6*"N:U0\$K@ M=UW2NZ#5GST>?5/]\"87^ORI?CA,]H+=1S03]1D=("Z_<2.=S?5#_E 24;DE MJ,>:#V%M$/H/'[B2^!+ZX76O"/I3_3#H]CV@KN0:2EA2#I6XI\VN,CT B_EYP"3!U<:.K@&; VA:YX *O#!I6W5'4>$"M$0PM8 M/S-Y\"%R!-!:PXC_?!'_,V M4?R.LX'40\7V8JPU!4O45TD.ZR+F)_/KOROO M\41R-B;G.=L K($;FCOP_2M!\.I@V"UQ50F&2]OC:PRQ86+_730&7!8[/KRR MOYR.ZG=3VKZT/;[&" TJ^W=1Q7WA]NY+"U'@\Z774ZW\*%<'OY?'1]/ZJB4E MZ,)%01Q@VB)L'[SU2,%Q^/CH568T/^2%P5?^="B^$?>#0]PT))/6$R'%^41; M)#D&X=.AUU@ #<0^ZK2=1EOID-3<+M ''_[\H ;P[ '= M!WNVL]V8K>-9W/$E0;20#37"%XVT@.![?[93B-8@R&_X@34X6(.#-3A8@X-I M65B#@\H>UN"N)DR\J#V^QI **GM8@[OP&MP/9P8;7@"R2=UH<1 5TNS;YS8 MSN+)+'B) M4-[2*VO%'U31Q&#G CF*Y\3DBR] (=!,B1^ NVW=^$GFWJ-_^% M%O]O6(-],&]3770OG>O@638G0=:H-LL'+2:X-Z$__X@0\ M]?AGI09&8,15)A8D_[ -[D$87-- MP'SZER1A614Z!C\-Y,^]MHMP#-ZD-OMFC@'3)%-2W%FITE43[$>\D05%U%V7-8Z5GYF$+\B^ M/?/RFSY#UW9;X9);)!;')P?XMSK MO0B7X4W2,,]S&?HM ?2GJF^C?KU#,H,E$C!U(]<-=PWSCUX:6Z13_B=2ES:X M&-B^N+QH(-O*X,JEB=F5#?-)/=FX$4@/.8Q(R^3'C76,W#H M-YSG9M,.C]\5\J_F/VZ8KNIJIFK?9*(5@3S[%7Y^P;6\'$MU,]S::II+ _CG M>7.R31<@Z^*"M2^/3^K;[/-?/E59Z^;NW_]D7^Y'T6R@!KER6M]]U+WN(?)1 M[U0QBO[WJZB8[T4&)Q\T/AT73#V8=/'U__Z?AY,OZ]X[-?E@57>\Q N-:0!D M&0#50M15]L%?5#M1T_!> 3.?OQJ<+U\U+5$(,?J9H/[[YL'W.3M*O'34/?* M8W<*&K'!*OI2_?;G0K$6/_!",]<47P)P;.;*1_UNO&)#(F_[!<^"A%?:CS]W M !Z5J>]9P;4>BUZ^R$KXN3[&N?'TQ$H2%.!*[;$EYT?:5I/T=9?YWQS<,I MWWR;\XW0N+F;=:_.C\5<,+#*/S?\2&I/YC=_20-6JK>SO_/W SXHV(HA=5+- M7'Z2(A02H+C":"M*60$479(T2:WPZAT3U'O;N\ [%7Q7;4:2R5>#-2(;HKTU MK6[I*VFDG9;:(L<-I:9F3Y!2L8IQS1K3, CBX,=]87]7EX9 M"G&"]#"65MRF09*2Z"?,C-G:(7!'>6:C\B,IFAZ .L#=M25O>J*U6/>1&FMD MI.516[*PL<:X0EFTO3=HX0#(0YSDI/2/I-R!6X)=/#A8 AL.,(KAK$N>A""F. DWHTF(Y)2EF:YQEP'J!->L;JWON_*NLXPP0SDZ--^3 MXG,)<()3VZ)QP*_J<=]M#"KYH.7U;[5>7P[BB87*C2HO-W1\-^7R47'T1U+: MYGN];;QVT50S:L%TYXY9H5A4B55HIS'NSWN!P.-(7.5%LU&=8*.?7F+4;*9M#4&? M^192V?6"9LONV6Y.R?Q(:8LM)16W[L#J(LYB6^F/Z/K0R"C+&V74Y^O%;LO( MJ.HKG&";+8 1^42QTDR)[=)PC>6*Y9M1JFF#"'A@6)"6IHJ9^+SJAJN#I?;L M5B)1=F.F%(PJ\W1! 'NVF0=2=[@(0K8Q;]M(OJKRGAK-"1:,M3IE =LAVX%< MT4;U? +E/0W4S;Z'[,P9VASZXP@,O$.X'BF5\IXNEVX'[;6UV^OZ7,([FRV8M%++U7+* M,E/;_F &W!5!\[15GQAX9W]H9/ROG&"J$6SZ;0^I#2USN1H[>"*,HEH^:IFI MJU4KTIO+P]"*&WVSUJY%+N_GHY:96C>CH=4CJAPO:/BJ)7>, S;(.55FZB93 MOBT^("E>'@Y%6N1KHZV3*-4R4UOS@ EGY*'%TW2%JD0[PV4<-J,LR5]%W,[W MJ]16>>4)49Q6^#%^(SQ M4<$26XMQO=T0*OD\L=)$,3W:2M+"W?-B0,PV2+M!$X*1DY9F&I%3^Y"T/!VE M6RNP239B,MCD:\)*4QU&'*+XC4'5:KKT:M0@4'0>%*0E2P7&=D!VZBV$5SV6 M:FJT3374?%4X]B.ITR UIQY:P\P7C2)+JS"VUTL4ILQ^_;!#MM8\'$N"8$P[ M?B4S@^N%B631'?M;<+WYIN-C++$_E0Z[);N;,E9H-K?+A5C$A+%/,OL=S8C(]QU8@$5#")"T?X\)>:L MPIRR*)H8)*/ELBZ)_+;O,IXG+<2"M#15VA;=OLP$/J]*2[4F[X#-S'+2,D\[ MB\Z.V?)^S4I!4Y_/^AU;J12<*B%513;A1J7WCC>X,NVQ'I%DBRKSG^/9 MNK >C!6)YE>@)TEC.=_4C+0TU\ZJ(M3X,2)+'+H;$[B[(HU^,6J)KYG*:ZDN M4:_R0K?A.LML/C1>C'J"L:$QW R8%F,U)6'.H0UJTMT5PY8YFW0TO%^7C;DD M'[KQR"$7^GYA%+2EZ0YX37?6$VX@.=UI>R-8>C)9%',H\U:L5':C_BCE^"8= M+SI81.-VPA:T)>:&77D[7G).@(IUMX]98I/:$NZTN-I84'UW:U,I&0Q:FEAVF':KH!5@^'QI"[S:SD8 MS@PV)RT[+$MAP/;%A-J;::M*8> MCW0J-?2 46#/'VE+]G,TCSFJ,6+ZJ"#OZD;06&L].F,#468N[LAN&ZF2HM5U MA'%GT)P=K-HH)RV)30\?SVH,Q=J9JVGTID-EO&'[Q:@EJ>D-)X/!?.AE89$N M[.=Q M;5TYTI:$?(F%3:7681BK.^RM$KY?[U-^L;2R8J*EQ:Y3-],UBCV"6"FQ! M6EK8>$;YHWIWV^9CWW/7C1D>K,)B J5]Z,_F9K<;5GC)[^VYEE<38CLM2,O[ ML*M7TDA)=H85=UM#-/;6QHXZTI8-_Z09D:8ZU26P8D(3JPO>>GZD+4U76NJ) MM&!B@T<25QT1UKBM5(Y,*/'VH P[Z-[>XY+866"D@>_&P#K2EO [P89I1^FO M1A;"=%?^AO#\?BXW5'D?L/TZ;O4HL+)H*YTJTFPN,;E].!&E5EV! ?4:NI1$ M,^IHCE\=)SH%VO',21J5<3:'$['J0)SI2&LQ0?D4%6N;FNTV M-:T@+ M%M?ZTQ;.HZFO]7F.#Q.I7CJ-2DMJ) M24N?Y (.Q&,&K9L'.8#M,:KE+2Q/'(+D%Q!5TY,U^2JR&Y' MCOLHZ(V[]3H7]>>[8MCR=/D9-S4KQL*R\-:!8,;8G@?ID;8TW45OGZQMV6VA MJ3>,VNNJO9)6&O^UIXM)L5TR]QM]\56FHX\!577+6+2]CNZ ML"G&+7,WYNT-I^"]">JD==L(UV3?VA;/T9:6-A7Y3B)X3@;VW2C('+Z:-#D4 M+UN7.&:9M)8LQUL'C;F@;DGH>K,W"M(RQU8,7XFUEC6Q'#Q3_ZMQ;Z!E(1=V M*I":"!O,6VZ5E>5GC$/Q="%TJT?:$L?Z""5T JZ_MOP1X9-]7V7QC9'3ECE6 MG7F;+BMZ*D!>BN,ZLV-,C$;TG'ECEWB;>F@PE;D)9&77OK.E>*%:6;)>@%ELM1BU%!GT<4(@]H9.6;1L-Y@) M:0L-O" M[\.Z/E/TE/2'5JK+VP4;*PTC,Q'XJ; KC<:'OC ?D9:0I*3!Z,9> M6!]I2RO;;+<]K7\P#Y*Z9 W#YK?39F04M*4]XXE9M).3,8[2X:;;9/C6>D$= MYUMB0P6;,&M9VJ]YE5R@*!:O@WA5C%N.3BPK4'EB5>,DU:=WY@BLXK5;C%N. M3N:J6Z%H)>BB=+TJ\[L*5O-;QW%+T8G&])J=:.NO)7%DXN+&:%C!/J,]$9T< M='JU9DUWFL41J_D\G$1RQTQRTK+'TM@[-*('71[(6Y5&&%VT'38G+3-AM&EJ M<200DA!HS73LX:X/"M*2+(25+C7524*Q@%/'HMG24*?K8JYE6:@)/944W75/ M\H?)W!?6VUJX*29[0A8D&DWK*W:<60@14 /=&Z^=X[BEE8WM?3S8CWP:!>.! MYB'5QK1F'\*9/EIO)^2RNCS2EMF@U:1]U UP7@4'$Y.U MWA2)"S:494'3Y( 94(<^ZF0N%-H6-%1$BW'+LC!09'G66&?BU=1R+ RU)9^NV_06Y1SKX-H^H?F9#XV?B)#L?9V2*[1I6'YKUYEBW&P'EL61 MH1)W&[PR\+ORBI602M1"D1GCV]/BL&&)81O*XY/=N&Y:H V$">)'I*@5)Y1+ M_.K$Q-SHZ(>Y!=)=>Y,0-&I)!6E9%MCVFJ\WW1W*RV.,3\>ZOMBDKGS.QV,;$T75D%:6IC:-">B$_=U*1T& MF!CI8J_#Z"#:P[KF[23!RM0C M,0CF>RVY[XWZ(:I=X)*#D@AJ(7M]VV(/IL0JT2-BX/W^;EW-:Q]6KV!8F;F.T*PRN!%T4(['U2TVL9UJYF3B)^*C3:NSF+,X M.K, A^AILZ/;=I#DI*65N7PTQM=QS$FQ-TAGUIP?:\0H)RTM;)Y]'*]+UEY" MTJZOC'?[B"&*"93V(5ZG%CHEC2IJ)J;'!YOMP6L7I.5]D&UJJ]=W.,W+-2^V M^>E^,9#9@K8T6T$&7-3=XR.KV]ON]9,$1 M?B)&K!N8.R'V]4S(J[O18#NT#2*/"JIE!X!N3*?:>A%'*)V)>-3O5V:<4I"> MR,%;T:C- Z$A.;&^F.GS:,;PQ;I.[,-PM4.B%4-9S>4FG?,CJCV6BH65'8"4 M%MK!8.WI**)J9-AKVP.K6JRLO&>A[8.-@[.4A-#;S3[<1>Z\>IQOB0UA#1G& M\V8%MTPD.%AM!\>;H)A#V0%@!FJC[8T[0)+[IE+O Y7D#T?:D@/072V(L3&QDF M<1>+?'W"N*.)@Q%:3\&8=/PS:K74Q:HEAW2&%MZ+I8H&:77R& M$0U\(E:+44O\\D:AIA)=641%?M*=I,R>'&\+TA,!VJ(MZC8>[WB\JZ!]X$^) MK7&D+:>J)7?5PX$A6+B[J.]5FFBG.EO0EJ:+4G,Y2)H)X+MC8J GU:DL&T?: M$B;%^;35*"ZC+QR'<:]E WC;3=NU!$["^:(4X&R"I19-,=�F$:Y-%O6K+$HK9EO>AVYX+JUYM M9_"9H[T;-KA5JZX4,:O,OZ.= M6%::6$TN)EMF[A#KJP=T+0,)B=<+4MZ*.K4H9GO"RS6\P&W[M;IDXLM:0P&=6$8@YEYD8+HT-/AN',XKK>B(C-/8T= M,MH3147NOS5P+61^ M!QKK+4>X-QRC(AB+J5RM:;U*L:[R/LB--IA:!(=9M') :E,&G?/:J* M39?L M3!%T97N4Y(A4JX.+_D8%Q73+RJ:SG([0FK.U^*X0$HUTS"I=N1BWO ^!M9;8 M@:ZP$DYO.)MAJPVZAE3X M/4I; K>?K?E!U"M(RZGGR6&^PGC)E^*FO4[ST*)&$L+TA/9()W=; ;A.(.MWO)];RBWN&8Q@Q-%>")#C@#PU$*<3L,^ MT"-/[Q@%;3D;-(O3GNOU,V=P*.X)8;FSN?IQW'(-K>4>1LW98H+&!@C';(IU M072D+;%A#L@:LW/V2Q[@)MD?-;O>UB]H3V2#%B;7,OQDCX*0X'8\ML1KXI&V MW.HJMN*9S/H#2?53,(ABG[$6Q=J^.@#%@9.OO?+'DT6:9]OJ-@1?[K]YV#6< MMYC?]NQI%W_X-C(WOQD^]ZW1^<3KJC*9\EB(+[B=U] M('9LNG[:A:PX_?G1:T4>-*,_&-[+ALR0EMQWL]__&AGFH8;<0$;07]&'[U['VX$ M1,2'VX@*W(@+V CZ,PE5TR5L!$3$A6P$--87LA$0$7 CX$9 U72!&P$1<2$; M 1%Q(1L!$0$W FX$5$T7N!$0$7 CX$9 U72!&P$1 3<";@1431>X$1 1%[,1 M#-R'"]B'RF<,:J9+V BHF2YD(S#8YW<1^T#]XODBN!'/VX@3#^P]=5FN[=X+.41'I1N8'X3IOPJOOF03(&2\AMNSMOITG.BY?'N M1"@8D"E0KT))@4R!\(&2 B4%2@IDRF4S!<('2LHE,>6R>0#1 M%R24RYJ/PJ M!,?' X?FV?D/__<3_NDW&51];:FI/J$R\=CKC:RFQ4YLYZ_*?GVH$7JU\P]+D9@5\!*Y6P4@GK3]"]@))R/5;VLGD *Y70_8)Z M%4H*9 J$#Y24BV *E!0H*9 I$#Y04MX%4RZ;!Q M$"V7Q!18J81R "N5KUNI MY#QG&X U<$-S!V#%$E8L8<425BQA'0KZX)?$%"@I%^^#PXKEQ3 %NE]0KT)) M@4R!\(&2 B7E(I@")04R!<('2LIKI9GIS_2C3_^=/&CY '6ZMJMY#CA>=?E7SPO#OZ$B?1O1J'Q&+]NV3KSH1[,*JU&7 M7V-XYD.,+P8$\G>!@!&?*YFJ6'J!#@+D[BU/;+N_"3W;U&_^"RW^N62D<)[C M>.Y1B8J1IUG7JD.O478(YJIE9QB %0@"H-] R8&2\RS[' UC(,4"@[,B7RG M45131TP7"@04B*- C$&DFN[U/F9Q=1)Q\5'_ $1';]5;0:& \?Y1* HW8IU] M#X(PYP16^>>RH__R R_E_<^__V)&V?2TL@Q\^OI[ZN)NI_ M_F;??PB7_8UE8&:#MH"] _FJ\@]0W1!Y^"D_?QWGA33&,:%^Q?ZWN%8#$+Z< M_OPX O-2RO2*A8=UO-B-KL7X7I+P0&T#!>:-M4AG\Y=6N6.@.@.'Q4<>#5P,WF\XYMRYO*0_7:/8V''643=?^>G0Z8 M\GB6HO!C,TI_F5)>JIIE!)G#H2,9T[S@RW]I&@"KU3\7EFM^;*DUU59=#=RH MX8VWNNFH;JP&Z0UV>X.C./8S/#QWX1?3:\>AMW]7'>W."? MJ>PK>OPO^\2;_YC[;(IN(U"U_"3#3>R:T1BL_O>3E'VCB)'JZFJ@*V$1P"D6 ML5PLTI2LH&!M.H-YF[/K7?93IE_<_%.+O\B&BK!2,%PA,"43.%2)0\10U6T^ M6 2<#+='*.9W]'AN]L>0W9OA5ZIC-UM1#>H#9PD"93/2F=5$;%50F:!:M4-H MTJ-*]J$ZT$Q'M?<"7 M8RS:#L,8Z)DVS#8O^V4V@*G_[Z>)I@@BL=WO$$F5\&2=(+JMJ^V6H504_-._ M&(G>XCC^G__YGFD03^?"TYM8Y>]8\?]>5SV\\L4/KZ4>)+&NH'YK'U*53<)W MQ\A&FS07R(2^-MWPH A]G,D)#>$.4+/5/@BTI-(=SMH@>).9LYF&H H-\=;: MX9+/.4!K>^'6]FO_[T-0$8K?5J1T/+&<.3] PC9F.>KHM0PN7=EV#EO%D-!F M*XD.2[Z;:&9N<"N?_J6Q6Q2E(:(N!5'OSMY>J8)X(WO[)MKA*2:WE6 I,A,V M![0).%7AXS%HQ$FF(S T5Q+0YEZ,AKA:2+V=S;T_.5%(_M&EO8/62%F,.F@\ MYR69QN/F2%K&:&B\EN$=N'AWU*Y'!IKV-((YN",YC7/#B^6A+G6+D=#R7@RN MH.5]4361*X:_+LO8OIU:.&5Q,R9EPYS0$@I*L@93W<\EI+:3%=L@YHM:H26R MGT5NZ6E83?U\U%*">@'KB2CST;S<0Y>?NVNY==\2]JU[K#-11@,N6T^*6 MUC:H=]+6*V?'YCW#7@^6@8@V-RNR@[M5\3 M7/5JYJKCF;ZH,-"M@.H"JHLS MJ(O[LYCW73-W>L)#38;%792PA##"^32I[+?U%W8P?M03IFPD=&.71'QJ#QD3 M;:8C@1WE=3;LT[\4>&[^>8%GVQE).V_% 6%TITVJLTEL[H6@:S77:.IO M!RVI;KYR@I"W4#'N\68?Y1:^L6Q(@RY%%E5[\M._V"V*065R,EME M\NK/_UR<,ED0?C%GQUO> '(IG&CQ4$ 7"V]B0+5#6VUV$!5W\1AE*OM M:SCJ>P[5=/5A0G'C ?X/W-_KN!BVA-_[ONO+?_OGO*+Y_KPBJ'K@_KX7U0-% M\SV+)MS?][V_4/5 T82B"47S@K8%BB84S0O=EJL0S3>NNKV89)Z[PO8:[7WU M."C2L0JF%(EP3)EX"G&7%ML0VZRQWHP:QZJ# JNUP736[,O?[)38A6H,@ MGVD UL -S1TX7J.0O\ASEYGF[A+3DSPO?60HZ^J3;UEJ]FN2>@ B8351]X]U M%=K50XH1/7]JQ3NGF00:/9.:K%(MZG45IMPA=+*C$.J4YS\\\-:5C1?3*>5G8/N?K\OY^UA7JT,XEG"M7E>G"+L.A2,>&89 M.;\?I8R /[_'L KPN AY-^[3!#B7B7_:\_ MMX?O]Q:)MY'R]^?;0;T')>)*F7,6O0>E'$HYE @H$5#O02F'4@ZE_*KZ[%^V MOO#HN>"D$AC.EI\[:#ID57GI-(D>\?OE@V\YP7#B_>23B[M(BI08]R C-@;9 M(L)LQT40[$P-#+--\?0QT#S#+4:9JG8,3B06PWZOKANS[M8"O"4FLTE*K;:L MPA2GC/%;BJC"\SY0&WTD;01M[KFE_&**]>_WG"P4\@]V=//UA?S<9>5S^Y4O M7&,^@R^(2C2!8%341)ON+*R/ D8,T=P7S(O,O_(%+_YDZ/$FL&Q83[-NS.(N MOYMX6Q230:"9(#C^UMOFBPOA(<)W>ESBY6^R?-&8LWP[NS]>[C%@MQ1> M,!FKQ;482PC_\":(XW66V<3SQKE"11RON2Q^*1P1P-]!X]2MEYU![ T%'N"2 MTZEY8C?U/;HQ4C"T>."A^K2K9"&<+J_Y#I[)O* M$#VO[CZUMGMI<( JX6.I!&BMX%GHJZNB0LF$)VH_C!OUPJ7/EW!]N,:&5E>; M7@7%V:4K>:.8HF=L49VH_,KUN=X#LP,0W9C%461X$/*L1R667J"# #D2?\&V M^YO0LTW]YK_0XI^+TA7PZ.RY&]YRVW]FB3G+T5J(DO?O!$*]"B4&ZM6WTZL0 M)1 E4&*@Q$"]"E$"40)1 E$"40)1 E%R/=6$%WF)EZW+0&4/$YGGZ- GY?9@ MTF_]?DEB *)O5WR>*#<<*'0[B9HN0+DJWY!,60MIW5 P[/@*[RU-DO <_>4H M'>;L^#O+">1KTCG0,E_ ">6/!9)C&?^:0'+59?Y?V51YDK1ZJX%0L?QAH]D9 M"[OM06(+FUKYM4V]^//(_UE^-V0"\MW.)F7KV2]KJJVZ&KA1P_Q4,#U"]W*MD%R%ST.HJ+TNI UYIFUY\, MV=]O^RE6=GS&9X_?2 MSWSRJ?FK/V[\*B_*7RZ@G_(@_5HZ!*NPWZ(E5=D.Y:72[#>;; YKJH U/*( M#=YY#-XP "L0!$!_"!&=P7AC$2_6DIENQUT7;*%/RQB*I!UI MW5OS-?(PRL&1>< T=HNB-,0'-'GO -5O8_+>!-)/L7J;0T\%AFQH/%+OLU-A MU=ST=X75P] ,?J-JF$[7]> MX6'#:\'R*:-G_NPUPU&0+/BT'8PL<^*:V-PG*QQ3I'*P+.C#:?26KI:Q#5\N MA>"^0L/]-DA__&X*6T8TH=4)]_\_>U_:F[BRM?O]2O<_6'W.^VIO"?IX8.Q] M;DL&S#P/(?#%,G8!#L8&#PSY];>J; ,)#AF:!$/J2*=W0DRYAK6>-:\2G"IC MI.>/%4$3_K! \S45EV_<&:)EELAU.GL9'BDY7 M6*RJ&CEYG&IH&'RG!%T/CV?8@H-I<]$R)MN>T5+:C"7G3JQOT)[NP9MF- MUK2RK-KKCUMV.S?*E!,=[,)B8U")9SXK&/OM^?_+^Z2<@_]OOD7*<_[/LNMT M47,T35@:)2F3D+11>K;^7):LJX7!H1++O+TT1WQ,O"460S2'L0BB"4 2A"+(YA%T(N]PVNUS'7A#N M(-Q!N(-P!^&.<$2HKX@Y;C[NO>L9$#OH&9 0.?H"8?![.C:-%K?Z1DA$NWHO M([&/04FFJD)ID"WU!78]ROP DY9+][41>$F=T-Y7>GN@T_[:]SK MP&Z,N](F(&Z7UZ*Y5HU)#.ELE,YL,OFU.F^L18;#H73NC6ER!-J^JBT*@;9O M$=)_!=H>.:O3GW)V5L@*'9Y;Q@O]&?OQ"/^7H4TM.EC&'M.YB=#8JH]<4^^* MS26/T2;Y&MJ$OJL*SI.(CB0+*/ LYPNXDVX2 -B@GP%%.D+<:!W=62_C^O;G M>PL&[BU'X4-YG.$FZ1N'K&]_OF0/"(V3\R7G>\WG2_: T/BMG^^W-"W"1M*A MC@*.%-^-.-=BGE#UP*;4! M7(0%3[P#S)4J _>6XC:0C8F.1\$7%@: [D]+G=*RD8[SJ'(N MABOC8Y$D\[;+ D+)=P1[0K;D\&$/$:?75 X>/HH.7TR=4/0U%3B'CZ))*/6L MH=0+Z'3-[=1F9Q.G,^L4M%8FMZQ--@NLT^'2ZU=TNNLMO':;RL%A#7E&J;B7 M(^4L<+P5F+)J 71_A?M78X%6;9&*6Y*G^3Z0>4?KT[/:H<<-\DOK@9RLWA7: MLVC?*(ZC=MIL_X'MB8=V&Z#"B:.4-PPW;F-4_,>&RS."QTQ!?5+ONN:P/9+Z M*3K1'#.#4K&?C34F(A-']V*DDLQ7YXX1!KQEX_-V2][#[!&[%!)A;>>M0&19 M#]E&8W37G?5[!6Z;T7BEWN01$*&FKB2%-3RL%S8]@-1K? ?!=*6;0]B%4 2A M"$(19',(NQ"*N*+-N8Z]"!]WA-D0_M+4D+,8Q6TPJ;+E!Z.7%0O9V70]V=Q7 M6L@H1KD>;"1-)XEE'!9>)+@49EPB4OO2W''UB2:WV]6!, ?I"Q"2K2#)+&=- M9CF'%EK,&O&BHN73O41:SECY+O.83:YQC#CI:J'I:R[Z;W=ZU I8-E!(]?>- MY@R35)$3J2)M2/NF*MO>O=;\&FX%;@"2-\PQ4&T'/A. "C$U.3&G@WY2:- = M9I/IQ?C'(D2%!,H<89FW&::$NT*:XQNJ)8WV0%>X](#1. MSI><[_6>+]D#0N.W?K[?TK0@)$U(FI T(>DK(NFKCZ3>NO7M7A =J_HNY'SVK/=3AM"X6#C#'5@:/"%_+4P@1C M8)H +1K5G=L&Z@1^4*6NHSB0#MQ TEJUI_ CU58EC5HX(TV5X6AP #@94BE+ MDL](_/'U^..>$1MC]V=;'6F@ V3XJ*T&!A\+ZXXU2@DL2R^WHVV?2>IM(*Y% M)HF"C_$(DZ9)X7I8V/$63#!2N/[M"M<_ DO]26NI"K8S$Z1;]32SD/:8&=U\U>,QM+;7L\XL3DC]\))D+3B2-V_)OPXTVK M"%>Z.=<$5A=1$RZ(5&_6%%X$JJP^'+3S@W6E5\F(A?XB>2^.XABH&!HAU;$A M0V"*<&)XU8:N"23+,;>885P%WK]?539&@RF;Z?4J_4&\V4V*N;)T09_"BRPI M<%O:&2Z3=3JAJL+CN%P2UMH$LR3[XS<3CS QHCR$ARO)YH08LJ[+X7!I\/JP MXR$M5 =3JZXVA,2Z&4V/.NG)--G"D(7:YR7H2")UC%F$*V\:LJYC+RZ-4*$W M;T+3M>2/E*IA.I&[-SB:%3H=M1X=@%'Z@<&N4=S*!"(4G3KN-DRT*@)1E]^+ M2T,4:=@0-HJX@1P\TLV$, ?I9O+MNIF\)<_O&M/YD,XJZ3*^,>:,"7LD$>@& MZ@]"[C(_3G/9?=\96:JB2N:V \VIQMAMT''XW5*SX7WGSF0M>L)I0%@FDOG8 MN!V'Y#WY'/L^7[ &A\5L_WV]I[(6-I,-L[)U. M&_B(X5?/U)-WL5&J36^=17RD;.X?5.YS6E.?,OSJ)5XSP3B:FW7N%XM[?C,H MEVK8P>1F$J0C7(J8?P1V;A=VB"0E_71(/QU"T3<<@+_Z./N%5,-WJ'-]MK", M,NRZVV,KMLR6A_.H\?#U?GRC.Z[,S3:7I:/2DDEDNO1]Y;Z%XX5)3YT[VQP9X":F&J*V@?4 L-<@FR$M!3LF.:Z,?=4Z1G4;@2A<*G9-YPTD33 M99&FSR'> (-&_*'-]ME.3TTLFJM[@=4WX),*%$\AXMHISXUZ)1<7YC&C,-*= M=KY;@@9N&F50,!&&.-; -BK&EV\:$^J':O3IK-=TRHD MEO5-=-%"^(4R,T@58GCX-6PZ!\G<_P[2[$HWA[ +H0A"$80BR.80=B$4<46; M MZP^5:;<,$J"^Q9Y G.J2CJ33IZY>OU:&)6A&T(S(^IOCCJM/LR$M,PASD)89 MWZYE1EA3>5[07;E5YF%T+VC-685Y[$TR7))I5[X^"E1<9N['*VX]%-AUI;B) M-2K9RF"-H]C)'[\Y.D+3[TSKN7CVSA,&J@.;T@S+(LT+SIAE/3),!9A1]^%? MS&)#68:F*M2_:/R_4,'"67-6O_WYN^K!!<\_?$FM;C[%MV6)V],6"222\[\Z M2 SW'A$>(>=/SO_[GC_!2,(CA$>N@4="M26$)0A+$):X*I;X)^SWM+2!+:DZ M4 3)U.&^6)X[/C;>-NZ8TEV9KL0EIS_9]A_$PL>[IM2!7=)E8PZJAG7RPI5Q MRFGJ1D_0>M* KVZ=?GUA]5MP82++_/C-L)%X(O6V^U8(OGRLIP2!EZ.8=WCA MA4C<+^A)03CB*- =7HZX@,!]Y*Q.?\K962$K='AN&2_T9^P7R$K9SK>:DFVT MA.TLR1;RVWP?--=85B;?(BNOJ@?%4R88/1ER#1 1P$EI"OQC1M)PYPG)0LTG MRHX._O=?3(+^AZ,C[@_HT/[[GQ$I/[]LFN53#.$@ABB&,]) "$#D*_I*\);8 M&)^Q#ENQ'ZNQM9IKT)6IFJ[DHP]6(?4'"31X)6X&30#V+->)H3J-CV-T):LT M],G=N%]]F$ E'7=[B"B^9KA=V=$%# M3Z&\!J;ESB0 8PK.FGV8U];#V99)+0H%NW6_>>01QJ".#/$OQY?;LX:^L4 G MN>-$)'VM2"(L0EB$D PA&8*JA$4(BQ 6(2QR%;;PZ9X-X]_[EVL;J<=^+=L97L=91A919G'LS> /O>4'^%1)*.))(Q8AP3P"& M%9?FNZ_#F:#<'((S[U!L#%DMZ;+FH#UI M&B::$6_;ICIR; GN8->H&SIZG6EH&GRD!%]L LLOV%\XA>K6>$C;0E2KWMUG M!K%DP_EDS2='W\OME6J.9_/XO9JRTMT.;:TQ'L5^_(XG"!B%!HP",J=N&8R" MTJ*^-QAEQUUVGFDE:[-MJK&,3<92UE+^\-[%U_"ATUW(*VW>6"Q6^C,";S+P(6^.X*]@#0@>WT4PQ;/>G MD&._BCT@$$CH@.P!X05"!X0."!V0/2"\0.B F$B$] GI$](GQT[VX.KO40C; M=0E7<>J$\F_@DH2PW87P=:?^/5HD2+HCF5N*B5 LS=*D-<+%:WZN,$W@W9T/ M&%;D4#<5)OW'Q#*\2']Z41A1@NQ2O" MM-.Y!X:@-LUAKU3,K>\V+600HI)]-L5%8G%2O$;P@N#%)?#BA8K[#AA,C?6P M&J59AZYMUE.I;:X_V7.TF;5FE8?^MCVKL$8A.QCE]('"8^%DL[G^MTLW>$:=V# "^DT<-D[ M"34%!C7G.:4JO+W6_4(9+'G#!' :E.R8)M#E+66;DFYI^"862E(>',M&^$TJ MEZ\C4?>R-UE]^_/]>I/6O6SG&BK,R25K!'K(^1+H(:3YW4B3G.]MGR^!'D*: MA#0):8;H6 AI$M(,Z;%1 M7]K=4%Y7NGLO-;]S4M>!W1AWI!U3BH^V[7B)I;?3?'HSFS67O2@OLC$< MKV/BW-L"=@140E>B_7F@%LCV@&PNM%>.TJF*V/WX3[=?S MN5R:E)/5YF@A]*./_$A.F.ON>H+Y//DJGU]O03H.:D9'D@44>-SS!=QL-Y0' M-NAG0"ID23W(ZRHSH8B;3']]62#>;N$T*0HAN$8L80V&RV9T-!M-/QY V#L%K:[Q MPIMQISGL$LL>>,3: "["@B?> >9*E4$3'HJAM(%L3'0\RIVD.2# LU@HS'EI M4;44FLU9FK)^K.66QD1DX[C*.$6SI'*0@-%W B,B8BBQZ2",Y0QY@NH@M%T>E-RBJMN+]MDNOV)NJW(X<90XAQ'";6&._]AP.4#P6".HHWE\ MTJ39?#21$RK)UA1N=I]))WF13:".YMS;K$;"3>%+O2,EN:$\EBL@S? !/3E? M CV$-+\!:9+SO>WS)=!#2).0YNV3)@D$GS;1L>?NK19ZJ9AT*L5L)44W'A2^ MES1 ;K'!%CJ*[";?=J%0V+B!(,+W0@0BK$@E]-6%4 EEDG+:;Z-%G3GN>0[- M1UK>*9RF5_/T5FFJHE'LUX"XQK&)Y"N:S_76RM:!3:FX#)G40%ZT2F)DF HP MH^[#OYC%AK(,356H?]'X?Z&""E(U>^ED-R3Z+TPQ%ZFJ)5QR^SH@P55",017 MOPY7"9<0+B$40RB&X"KA$L(EA$L(EQ N(5Q"N.1Z@@EGN8.W6AF:ZLSDND)# MJ<^==D]D&K6/WZ!9!_:^O6= M&%4$$!66FVJ D@4YJ-B8]9DAA.13>+K=]E( M+/:V5 L".E]57?R],,<-G5\3YA#)'(+JY._%)&X4_YJ8Y*JC_*_)5#LV2<25 MJ=#MS1/K)=,;I.M]E:E_*PO#Q(2#2I)FELC MMHY#MGZCV1PV-E62\[WM\R6H0ZB24.6M4F6HS)?3 MM=C1Q-+)==(UH;?,,X-,JF'-:LHGFS+#=6*0LXPYW4N 66LEM[J540>;,JC8 MFDW%(AR;)O8,X7'"XW\6W-=7U5JW+NJ97D)J6.:PG"J5[C\>W'\37\5E; MLA?]639'EXWE3$H\LJ[[D?GQFTM$TFR*\/:-E*R?@[4O7:W^SR=CU.\EQ>B7:3+'[AQT M7A/)'9")-,WF2=OW?!."5[-XQ3]OY2 M<4K:=8TG)=WDJL37'4J$(F[AWB:\.=>Q%^&+RY-DTTM3Q/?$2T(19',(NQ"* M(!1!*.(J-^E8]Q?5Q$; M.ZB(38@]B$W:#-T5EIQ5+N%E[HHNN1N**\KW7VL:7]!<1W8C7%7V@2$Z9RJLBEVLG9K5B@TNM%M M93XN &V&^84*2EE)ZA6V76=^EQ=R*=9%F^1K:!/ZG@$X+2**;WN'9[F_[IV4 M.9/J)'*^(9']H5KR5<7:0WFL;W^^9 \(C9/S)>=[S>?[+=4N0M*$ MI E)WY!#[)S5Z:OQ75\=IQ^C BN,HG*L4\S/AA^O3M\[QJRN\<*;<7<][#G* M'CB.V@ NPH(GW@'F2I6!>]%F&\C&1,>CX#LW ]QL:F_=[J;:ZFK62$R;*2VC MY[O6&FT6JG5G(J1S%\&>6\8>(DZOJ< [?!0=OL@YH>AKJEH.'T63@.E9 Z87 MT.DD?9%+L5L[0??UE/%@MRRE*T_P I.OZW376TWM-L*%PQKRC%)Q_VG*@4H] M!;S[Y5$/=O>OAGOQ/"FC)=F8[P.9=[1I/ZL=>MSDN3ZDHZNE,61F?6>[EC=# M=!#\GW5J<)NVPXFCQ#8,-VXS=_S'ALLS@L=,0;W='>WN89(>=+)T/R&E6TY# M:#7++=Q'L NA M"$(1A"(NOSG7L1>$.PAW$.ZX'NX@^0FG?438#_U6%]&XH497LBC.9Y+P6)W2 M\>W*G&(7$4HXB),BPM P(@&E,(,2$=F7YHZK3W6XW>X!A#E(_7E(MH*D4YPU MG>(<*JC=S@TR]D+?SI;UT4-Y9B>7SMJ-4B9?44%#7UE>!S:EXHI\4FM\QI35 MD6$JP(RZ#_]B%AO*,C15H?Y%X_^%BK])K?GYL[0O>/[ARQ!T ^;?EB5N3^TC MD$C._^H@,=Q[1'B$G#\Y_^][_N' R%!M"6$)PA*$)0A+$)8@+'%++!'F]) 7 M+EXW2YF$LKUOU&E)BMIIL=:OMUH?O^6U#NQ]%]@ ASM(1_FM$E]P,[8Q-T2V MV*W/.%[D6'SG>BQ")\F5ZY]9D4\ YBA:?4T 0V3NV2OZ"4<'QFT)V'O%(;;^="4OV#[!F\$C=])@!Y3+&; M3B5SW$;HM%(U<3PLTX9[LU;\_OT[_ MTNN]I)X2=G1!0T^AO :FY%R+"TU'C)B@<]JS=H$84P<8LP; MNTV2)%XBT$G>=_A(YON)),(BA$4(R1"2(:A*6(2P"&$1PB)780N?;IO /9CW MU:S%9&;;>7H0*\07V=G@#]LFO&879Z1DOU-JULJTNE+$\1TD#F?)([L8]45@ M4_%(G"7&,0$< CA7"3@O).+T^I8Z;TZB.:$ROF,2W6%4 _(?-O%]#6GX[:0W M&&RX6J_C)!*6D!4[S1+VP.%L'"9"TPD"-.$!FJ,$GEO&F:#L'((S[U!L#%DM MZ;+FH#UI&B:^;]VV377DV!+D3MTR%@7E17UO+%+:QB#1:F0& A@6^AG]?KR95#\9'LKI=+1L50M^^-_'EV%)$!PO%#TD#_9]@= M970 H"19AD)#TK>01*FZ80/+39VR#4@G$I08-E"HK*'#:5ON3S@#4$(?YU5= MTF55TJB='+)^GG$MY]M21;46FK1%U #^>=^7+(;&"8B.3"#-HM(8OOB7I*VEK>6M,A7S@?;7#E#1)E"I M_Z&\_Z)-.-K!N;2)'NR3A[_0B!K;\).?7'S_&0;/W8>&A?T_OTR@2;:Z FCT M)^/BX["-Q2^6^9GXI-/X8Z(_35%/MR9HQ1(&61$PBJ1('! !!U@Q%D^QX@@P M*7$0HJ:3B(QK^ .*0 MG 0)6XDB7%)9A/C6#R6IF5ONR5?RHM :PIT8:4)H#*\7VP$;C[+3$1\<=#3 M)XOZ@Y7H2@]RS\GT]?90C])RDA?9XR?-0E>AL[TQVZMPE>5 T_KU,GR2$^GG M3Y:MAZ71GN?S0F(X[RWII;86*U#'.!XS88Y*F7AKT9PM-4[+Z-J(+L_0F/&C M%7&KU-R^TQDAFY?+[/*>7ZFQEA@[?GN3BPW+Q<2HUY,2U<(\7ANQW?9:C!\_ MR<=Z13-7JW2%)=AF379MUM?W+?CD\2YEBQVE5N1S0C9GFY5*0I;N.VC,HWDN M-Q.KVAW,:S-0M[6HMIR55VD>*GU';Q_':W9G.6RUZ>U\26>:J_I,AV>4/'X2 M3!*&\] # WJ9ZRQ2,ZZ1RC=:8NKXR58^4YB(:G8ES*VV.N@7R_>%^5I,'S\Y MB77EN=6R<_1RT_E9G.SP93U\7RC@@EZE'O^ M* O2*;V5DH:]N5X>J$V#%>PE')4Y'G4^RL[ ]C%3GU4*]14[Y^XFJQ0YV%G " MC8CK%J=7K]1$[2B?883B#@8%?EO"G.,^D^W>G$LI:PJ#;SDPDT.(X?%8 Z MGJ1JY4VODZIP'%=@^2ZS%MF TU+7J9P4K^BE659I9ZQL:[-F"TDMN24]D^VBS=65:U2G&33&&H :?UJ-3,#*,U2\(\GKZX+FX=8=E_'#78L=T;%WAD(1X]FF.6\YQ5 MU6N0"RR#KS5F%;:W1GT6CQ[=]')+,;[IC^C^O'8_TM<+J5+CT:-''#LH/0YU M/;]LSJ)VH5D9K[J;U1"7QQR-:N<65I[.\BW(M[7J-C_2%?.NA4S'HT=CPQ;/ M3_.&2+/]^&)C2R-.]9:Z=!G:YK_58.-< &NC%ENT' M83Z;]BH-,!AOJFJ.,> $ FA S]YWLUNYU^L5\F*TMJH*L79_C1Y-'"%AJ5XL M@(G<$3H\G1Q.!,!+0SB! ')9Z]F64LMV]%ETD)E&4\74_11=!9HX'K4XE%,/ MY=;]I)=X$!^R^9HY7>?@7 ,HBXXW^.VP,M&$[;K(R,/[6*L^@',-H"P^NXX; M@-F6Z&@F_=BKQ;;* X1B+H"RI@:[:,ZK.D]G+=!)/@QB=NR1%V,!E-5]?.#J M#;G4H0M5L]FO"O6*,8>R-8"R6JO%=)9J,AO!62O2:A&+]TP1/AI +C6M-!)G M1;T@2/WE2.464KU0FXBQ ')9,;E,)569#6CVH;.JLIO":..LT:-'DE@L9^UA MK5BJ]_K]A,S<=UK#-(T?/1+%LX'.JTQQ.)\5^DV]Y>0'BTH?3B" 7)BRDTID M4XT5A#?6GLS[$(2'<-0 &JAMYIG4QJHL:< I]_I#JU*)0ED0"SC8OK[6C$K+ M@%J#D!ATI%*WU.Q.T*-'RYHV%RD#I+I&+S&9LIM84JJ#-H\>/5I6^4[1V7PU M;LX*B<2XV'2Z=P,&/AI +D:MTM_JF9PL1$O6?-HKW%5-B*^Q '(9QR2NELQ/ M9STP>HRU:NW%0Q=J(_$ />:M2=70BJ7' M1Z&29/N5^:K%MA7X: !ESX;=W.<*LWX'!*O:XS,-' RAK.@?2>#-* M5FG6XJ6>;=9R+;N%'CU"PMJ=&*O58MJ\IYIK<:E;E6@.PEM\3X38[;;S&+B> M5-G0-&EA@5_^#XL] M<^Q1L4U_8MX+&=?X?%MKWV3J)\>=BA0<6.4'XQMPS+%FK'VSWO\]BOS.OUS_ MR!KNTZL>"L]3A%_L/RJ-+$-S;/#)S@K71_23CN\,P1=\8\Q[?6/>OW]8WYV( MD7,)W[G0/U,G"XK)N5SF7"".G:RQ).="<(R<"\&QL)]+"@=VR+E\TKF\\^:+ M5]7CBVU"RH]ZX+_\0FG?JGP M(.E6-#!/Y4]W$%J#Z,/_]R/^XX.[R=)??$M;<(#LZ?Z>"F5VU U5@Q]/+4K0 M%:!03QO8$);[)BP7/AX*3S.P/^6Q@%91(>>RU/OIYR1;_?C]EZI3]M1P('@K MUM]7Q$NO;L6IDW#%V+'#5AW%A ME#* M-B@3P .350U0^G,5 _T9?2A+UI1:F,9*12&/T98R @SJJ[8IKE?AOC@4?KZY M]>GZS6L='JZ(' BG$*L]A%;[Q3CLBNS\!'Y#1E*@^C.R*;!9H*X.%#$8;L%@ M>%E*ADT8AM!J^%QKOXD46PN^+F^8J%6!/78T7I8AJMI!1H2ZC<:$V:H\GF5' MV?&XLK0F#^NUF$0V/Y-.?\:UF(1_;XI_B=5_5JO_G?QK.!L&Y%NCQ@R4EX*6 M>!9K=]45F7BWI\NQ93 M6)N)16+IKVTL3%#AFZ,"T8W.JAM]$!5ZVP%==-3'$LUF>I(T4$V)B_(0%9". MQ$;HU*E[#:[.Y7*X&>BN8NQ^42W+P?<7RX9E!P8W"+3=#H(1]>5"ZHNRFOXZ MY+_&. >YK^0Q7Q;Q7@ ^=;)2IU'=B@^SA*$7)JO'7FLT:XEI5VLYU5N8L"]A M7Z)GG$W/^!C[SE-VGF,E>TE+7# M.JI;@DYIJH19F:14$$OK>_E?ON!*1D+UWYSJB=P_JW]A)\4$-V(0(.RM*%=. ME6*37"\JZ*-B*LK<(5\"0R-ISYUR+UZ=(R$'QL T@4+9TB98>A.XNAU4NC:1 M>[2T*Z_2\+G-3?GN2AL/@S) !V/5/E6W4;PO3Z9&0UT)ZMAPI)PXR$PMW$.> M@Y@489)Q4KA!V#GQK+ZK/^&JM9O.5#)!!K%R]H"3 M \#OOMZ_ZU491A>.G_*D$!P@.$ ]+F-6B-^- MT0+3;:W(K7N=EETJM]-VND'S" =P8FOZO7&5<*LZ_BW8NS*9O]R256*F$3.- M*":?J9CXG.?::9Z15@5:O=WJ.U6FAV_6@CD)*9@@/ MAUNIN#57RPD6?LZY9D*JEQ2N1\^D[(#;*D59VRS6B'.A5A&@4MRD7R4[E?0) MH%2=&DNJ2:TDS0$H;0.=()P'T&WTHZ4JP#U%8E\1^XKX6:Y#GX4)AEKWMKZ/CW:,32L*? )*8= M,>V(PRC<2HQOVV&&W=THQ._Z'V6*PZL14U*]51N(6>,0KW*+B<( M%U!G>O:4U?-V7\U+I'#YCO2NX\M" ;:#SO*6!6P+]Z8[*(G&_>B-,05)'LCX MIY'G:T,9S[ZSC;B KL(JO)TLH!!TD"?D'3;R#OT.?*NV[U?J'^B:D@+0)2U M74DCC30%(38!\15;LIE<+3F*\\2>2,Z'&5VK-MI,&\-AS,' M#*=F+;-9]98M! HH)?>OZ"8A% M= T6T>T8_.'#JJ_69#S6]-LV>%4$O*Y@1RB/N3( O5KWXGA6*@QC-"OR\;C8 M:8D/6:C2X-ZM;(KX*8'"6?QH^[*]VBYP;O%057&7U=52$6&K'0;L"!<_M:#V;JNJ%[+/VBFE.I MM!YR]_F5-%N6DG9QT9:G[)J'D\1JSNGT>P(+!!9NRG'S#32FEW#A116ID9%B M="K6'_2V\^*]P\_;LLZV$$"@GG6WU*K%C6 MI"T.7QUX<%[I=$\P[G:@[-H4 MF9N)1*%L_&.TPBS9=#G2M^JJ>VX,ZB[5W@IF;=*7Z(167]_I?5W3::C/X(ZY M\1BIRR$<3720+ZNO.0='UT<+P^#$2H.NB%KET1QF>G>I">)HJ("P$?ID!X+; M\=*@&PPX()!!-NRC7S]1[;"^34'$/"BVX986;S?E*8=XN\7AK, M9K7\&F$#UHK2R>.,NVO.KVD\2:4A#AEBOA'=Y:*AI:S+BJ\X8^(E;LGW*)OA!M720V_9%L$B M911I _"(J['JD4C1WZ/;[G'>#+D2.1RFV,@P%6!&W8=_,8L-91F:JE#_HO'_ MPHF-YW7?7'@+P@6J%TZ^>2.N]H?%FJJ/[*S060_$3D+,@0H'M27<9Y>),.Q) M7"4P0V#FZSU"(8:9FPFD?1!GCGHZS62UL37H>[I?BR= M7>S"JIHQ+'Y%'=B4+%E3:F$:*U4!"C7:'O9LV76](1;GV2S.JX3#6U.N;L[_ M!#D9=:9J>GR;A1;XR- ML.S;"M,)(A!$('I02/2@/T*$J%+MKSFN5A6D&JNSRKA7&(,U0@2D!24CL<3Q M'=RWY;SRWC!Z\H8U0&0#)ZDI_Z!+*U? >J8H_?KO?T:0<(B]23(,KC/KZ .G M[[\E"Y9>G&G&N"UKC"/VPF(IM$'@HN M$F>.2RQ)HQD""#?EH?AZ0/AR:YR&E37W97:&.-ZEW:EP$9 C(D#2;FU/>S@,RW$"8TUQV MLIQ5:HWBTGXT'WKS"0*9#VIQ8576WA!-RJNZI,L!T21BQY)JCS#5;KVPM+,M MD!#K31%KR$J3@HGU%AP"7KS$\ZJ@>(EFZ).H#EXN,V-HHSA?AX@B:& M.MJR$6@O$0,_)'Q"(.2*%(PK-^S? 2&)E):JI2O;OB!-UX^)ACE-I,A9;\TH'L@19/#*-K,(Q"OP,7 M5YF"\N31*AF6V/Z$Q,]$XM]6\-F_!9Y^7/8B>6)->U6K/Y5ET5,S0X^1TW7,N"=$-&J$VU\D,A#C.@@ M[F^XS"]XJ* $P.ML^48LZAMP+W0R#;S[%IM6^,6AI+$:U>>79_/Y(D^AE0PJ,H" MUX5RH)MAI4R%YZU*&K5P1IHJPV?&\&WZA!BBUV"(AGX'B!KUF6I4R>/LDLO# M3$R0@2' + MKJPW>5UOU2?SH@Z@Z@C+=. BX5JUI^AW_]JAA:FN)!N@WG$R>*EC'+&NB'5% M'#6WK6$TQDT7"IH^$@2H%U8Q7N+5UK)"JU4AEIGF](=8="UR">RMH0/KHPB@ M$$ )U]9='T/H4-NU]] M+0&GL 4H!D:.CV8=4^/I>;W=9_7Y\GZC0<4 MZ)EF4B2/GFG/.%]POO7ZW?X M>M[_FAZT;^1];>[D%I/M:D.#@L&/V&4VGG5XQ/L)?/M7-Q;E>Z,?]ML(/Z6Y&9WD[94&E2JX,,I5V;>VL12Z-75KQ5(1-QDDJ#8$$ MW(>,W= 2NZ/_"GM';.QY'?X 6 MZ-,/#IX,ZID6YT6SD@,M6EJ!%-RL8BTMK<48;L@<<-L201""(#>:-'1KJMCG M ,B+.AM?3>GM>(K=]/I:SJ;!HEV\S[<0DB!OUIDZZH0W$PNYMU1=-G%L4G7U MLLB14A9YJU9&H)/8M,3-%1)5[(\PLPFWSX FL L-.>#^%_ZN.>A4#M'91>P M;.V/\YPR VG%^V7^+2]; !&A%H:@UUEZ62$IM^FJA%8(;!RK:ZRFZO!OSBL MQ&.+=K;,-(N"TZ\5^;132J?,"8(5I+)%Z/0[2_JOU,N6?;NJ1D6I#( #Z2A0 M:8RI!3X%8A23A(]+NMV^-VCSEM@8BPR+&OUCF!X^EA[ZFRF?%AJBN2HNBPU9 MOY3V%X"Z258I)\;399IF*ZE.\5%:.54 41?WP.:X")=^6]B3( Q!&))2]O4( MPZ3%;@.8=Y54!BJ"0:4Y"!$*(8STD 88/+?G^1V^_I5A@() M]XZV[+C+SC.M9&VV3366L( P%IVRE:&AB+/"NM2\2[46:4M?BS'. M5;5HJ&L=ETT23""8\ ?*T3?'!%I4VL8@T6ID!@(8%OH9_7Z\F50_?M?'N3%! M3[%66ZQF*D*A>%^JCRUN46[P"!.0@8:WIIW)9"$=J\(AQ$."V&&UL4X["I='H%9W\1X(2U?;J'=TVWX,G Y\!.# MA+>SDFENX5;>29H# NP3M2K4T_?QQY:P%/NE['184SK%M1B+[WP6<5(61]C^ M-CL]W8:[XB-L7[@OMB7W[60SG M+Q5G.>'& =3"! M)52BP60#= F[9FV%/@4GY+;@ERP(V+I:#'U-90U?0DPKZ M"4/,C*3A[MZ=*8 /DQXN). >N',DI><&5+,C__'K7N,VQU7OLCJ[F!7J M@Y36T[E92X9:&6[,'2-U<@0_0H0?)&'G MSFOT_]_1DS>L 2(=.$E-@7_L.(N%AB^+\C6JL6:L*55WCPWNR:___F=$K,T; MS14(A349LGM?W#5__LH)W7]SN@]9-Z)@NK\ZYP#.7,$1&RC"*%O:D#;/UQ&\ M_N+^-K>MJW]M_YJ2+AMST$6\UH2<5P=!S2"V+>O^<;XRX[0CJ-74JBHE8G1+ MC.%VS%R$HTG6"6'<<,O,F^L0\R;&';1*2V&5%!][A7Y6>,B7,ZIIKQ'C0D,Z M&4DFCZ\'NT4[^JEBH<(C0S$&8B$0"^%&+>,;5%-IG9 M*FFKWD_%Y8D8Q]V*XRSIFT+8_]LX"&Y0V7F-_?-,:9QOUUNQF9,1>*.3V5:R M<@NQ/[X(-1$_OC+KMIH,GXP5U T]BD,$JKZ"VXBOTM*5P(NU7@P:$ B\':2[ M-GWFW9Y^0JS?F5BOU3U_K>:U :6*:2&MPAA3'?AU.#*/RB_&P#0!6IXASRC; M@!K$?&[HWN^H$[ZAZ\#51]:J/<5%&"K41U1)HQ;.2%-E."(G)7?0;A0LBP'*$R CJ^-EELN9\4;]%Q-=AZTIK6X=Z".C[NC)ICC M>T0(9A#,"-?67%PY"<(,M'R&O>;,@2[J<.^86T^S,(&*081R%EYEI_PA%858 M%M=@681^!XBB<"Y%05E-?_F\CI6%ML?I/S.D,6[ZC(V?ZAI9S-7XEZ!\ MXV(R5U4GJU:/92?)A#0;SM-Y7HSC7J!L@HXD4@F2X4# X9/ X3HU@BMU5O#R MTH'G:GNJ "H^7* D>@B "FH,(2U4E%"OH2MSB/UPF_9#*$*$1"4X\T5\F'&K MB&\;([AH_&ZKI.-6+TK0%5=W*2N128U*,[8@CN?KZ"Q&+R9B/(;O-X[$F;?5 M'1) ((!PHXZ!J\X9>#\@5%<=I5-=K72AT1O52Y-TEZ_7,2 D?OQ.)]]9$E,\ 3M*" /6Q6^5SJX@0]^*&)XAA>!TMB?MRF^7&]6Q-* M9> J_1@HM.'#0Q:BPUMAE:>GZ8*2&.L]M:1,$H-%)U[6>3&.NT^FTL2%$0Y& M(1A"M+1/U](^BB&U4F=#474 P&K>',X! M]7NGX*$ R[5V; .2F.1 G=KM/A[4ASSOEFM(&@7IS\:MGZR?9US+4>'(RTLY M!A/O>SJB4>W=9Z"HUD*3MHC(P#_O6X2FZB Z==_^*OF\O@Z\'?0[0%%15[__ M"__Q1Y$U()D(]*;_/"5.#HWJ"4J:_I_SH?Z+-,C&?$&P6W#R8-+XW__[?PXG M?XSI7G^\@U5Y>\UBI)Z Z,@$TBPJC>&+?TG:6MI:OKV5_LGYK?=^[5KL>1XJH@KASL6WJ%QMU01?@:7;44H M"/(_=S5;7P]JI^O.&EVA0W4;5+91SPGUCI!#/W4:U5*.[\)?\J4Z7\^6^"K5 MZ<(/:D*]VZ'^ZM7Y7JX$__XW]1<_=ZUB%>7Q&8X%Y2Y<,]C( ,Y@ 4S*FDHF MH"! 2A&(H!JP+/>*A[5J 3@S!)Q_GWE[7I9&/L_$$YS,G =!GC) $%U+6(Q+ M3 Y8LJDNT-^-<<:Q("Y:EACCN%0LAIA+\A\5B]HLGF*Y),VFO3^X\KWNS.&" MY7-8/T_=1@US(NGJ(QYH+]+@+[RN-$U@H2:&-D[5+FE;J.Q;/ZDNOD %ZS;8&Y_\QT*-Y1T<=:,6IK%2 M%:C_*-@Z@#.WW)(?^':(8QKP7X VQ7^SI%!+1T(,A%\&;0M4++0":,,B.*\W M=T?Q#OQ!AW.@>"5"02M#GE)0>4*N2?B(9,,W'(RWEBRH56MP$-/SNU$C$PX> MM:0Q@-];J::ANXL<.YJVI58J6"/M-H)#8Q24=1K"'0L>'YJ3JGM%2S;0D2=O M HP)-&VFVYJ+Q^JM8G^^_IHF)E95)=DT+/QZ"IT-0NC=#%T"0/HO MD UK:T$VCWBN4/0AW $XR!RU,)5W! F/.^O6BL'!NW?47V@N+/U/MGN'?V+^ M^3L"9X.58Y=>T6)UH+G;X;\;"<*D1;B+O3.#7*"81 MH5B:2480\)F0[BW;!P*TZUA?0!N<@_(54SCFEC0Q M@4LX:"V0H;#<@<@R@=K37V@&WF1Y_\'#"<.A/-KW=C>"W1# A- XTXVUCHBY MJ6Z 1A6@W;!XIICB=[I_KKEO[#BCYYNT^\/^Q1)\M8'@%[X!56E_8O\4%U..-6SBFY4APGUQ\I. VSEWX@/J0 MHKJXX(VVVZMSVM_7RWT-#[1\ 8T0#PJSPSV'9((/1/'DF>Y1Z/$Y8*+;5>Y8 M #((XLH=/T/M'[$MNI$-GL;!.V24ZJ/@H8]'13JMJCLN^N*!'7.EKMQ@G#LR M/&!RG"Z80E:>3 ^X*'+(=% P+AT58H:"Z3F!WTK:RCJV)^3_V6^D]U]-T7'_ZL^]?2AGW\A/4J5(=%'=K88 MHO,1G"1&?(@(ZE?R7IA188\ 4PBBP1(:61*03'3D2C HP,\5 QH#!2AYL7#OP$\DB,U0EO .,E4T58*6 +0Z%?C? MC"D](OT[ [2)ZLR1O-FH2 >#S*,CRZHLPXO!K3C MH#S!\WTCDEE@@MA-'$=U.IHK;/E>H3HRDK%,HYJKGCMN_!R@HA:0$4BM#4CQ M0'^.4'4' 5]C#(C@"(0@ OAC4MX6$$GI*3[\PE0UBN4H=*I/Y232Z36 [6']I;XF"!%5B-]/ M6J/X %9J-GP ^TFA\%'>,&S=@#H0PT*Z1L]")H0P:WFV)B5@R>!C.'682O?$ MQW>N#7KBDJ=1(#5HS_!'*@IJV;^B[E.?$=+[9"]F!GE$<&WISF')ZTH'+A2+ M'MW>2Z:F <\80N&QQS*3G#<=X.0RLWEIRN=:FCW/_V4MT\\)Z+'F,O[ M-]D7_9ONOWBK$&D?;A8&W8XSGWMVW,'.'0IU?^\^\TA1I'Q_G-C"\+W14$2I MD&OA7YYXJO&LML?GV1NHN5RLOA8%B3.8<=E>-36%/S[/X.?"O33FZ> &W/G ML=_4?^4;7P0UDK$&9!N[P24%';T[JNOR=^,($N6F(\"'42(,.GVHU3N>6V_W M).1!J+MBIYD.D)L=X1.:CT2-)=5$74+V&.998ZY)M)\V/%K5@':(-44^,2^? MUU0P2?D.?!_@%GOFF =T@12HY&#?W%@8WDZ,=XOO%<\AD!IIQL4>+ZYLV[\ M7?XMZI.'$UZXL3J"-E]0W1U[K<#Q?N%U#T\5W==/S% FTC4 M:U OEP%4!E7]\+(QMZ&HKYXHNYB=!6T%2-XC '"[-X\FX%N-N6JC%1ZZW=", M#N:-3VAM.!KZ GPWM"[@3HW0[GL."-?&1%N!5^(K7 =+L?:I,LCE;X&#/!M_ MX>_(MT$'C.:#)R$I7A.[!T=_UL7N()7GE0%=I/%QQ5VX#RX>N3-I;W6[O')C@0.P0X=!G[*!'![#_/-@^(43=.P%I"IG+.F%?VQ*O]<DX) 4G%M*P8& Y.G[KBP\:>OY.O\[+#[VY7>'!SR;D753=0]IU]%_!^17G0J(%^Z$VEVNP3+ M1'.5DW.3P,S-/S*37&>PE[T:D- :L ,_?C,[&L+_B4(!'>6@7H#:4 '/E6-! MA=OWRUTZ/4_=!%%D,^>0DD"@/KW:>=E3D5A49RJ MCCG5$H5F1QS*/;K;8\%H6"\X"[7&!5X9S(ELVK6G1ZMQ-#.X'Q5G\T%NV&!Z MV?FL?M)=^4HEX;XC5U,R&R;6B)0[M* F,#MHHH%NR\*]F*G71\-)CZWP#ZO5 MJ#*XDR<_?M,_:9HY=ESN\W9/8 MM1/$%IU_6D@=BQX>V:[3X*XAF6MV7?WQ/6VP]KX33*?-;F\VW_;FXTK/W.3' MB8X>4;>3CFV7C1A M@[5X^)(GRG;DP.YQ*0D@(\SV5&PH.- L<:S[P&J+(%+S35M[BI-4CJ#BYTXK M/A0(G^[^[%F@,18@ \R12;IS@-E*[$$0TPE-2,R%NTJ*4=2EU;I:EQ9<)>+F MW3KQR98=Q8VD^);3H;]KEY'R9FHYLS)T!A_\\\WKXJCMDS4&F=2>^8M0 [F- ML/6+C7'/0+=D06B,5 6/:9%/ MQVU8@KZJJ1+6[51OJ)>^@E@(ZEEN8J1;24TI#G8'[;_RQ-EQZ)E^.MV''26X M&8^(?^%#?F %=! Z16]2 $I/\H+4:'C/J02/!^&% Z)ARB*<"!W W&WOJ)82AK%7G;W-0=29^HN$X='X@[!OK9LOP5+R > MZCCFI:%DT+%IS#VE%TX->?B]+Z'$2>PHPUG'T,2RQXZV*XB/')$)SJ&$.^[O M@;\GV%GGRE3X=@R8T1%."4(>$7CL;HH/U$YW-(G^;&'1_3)5PAV!0&P;R/NF M80*",AU-%\>0=?A&2#6.9_/ 2Y @(:NF M[,R1UB #2'XYN )/Y=A1F*-[3C><][$RM)6["9"E<$:(/_T(NLO'P3X\UT.Y MXPCX\-C!WD]?YLTE[$V3?(U\M-WE"+O&GG7 K;[[[&"C3)PE["98NI,]< >N M)%5S&QGL'(Z*EUWY7K@\F;>Q3]!X[A?Z9'D( ?H@X&<:.LH'=F?L!HM>"AFU M]=9J-;73="^;N*_I,[,\SW1;QP9A\'-7'C)J ^3/T+:4V^?_2>#OR1Y>($[D MFZ@8P"F LI_0O":FL8:"3=ZEG*(2 B@.]X[4,@0+R+VF334<;^WM<,#_6^2%ER-)!X42JF" K"LIQ@)OG YWP4!I6BL5 M)T#NM]3:)4AY'=%1G@Z4S8=&C0X!PX?LPTE0: PH[1UHRN.* )PX:5C@8%2D MN6[=Y%MUY69I>O-\DF"/\X6 YJ(,*G6U@*O=PD-QO=>V*>E>"IF+3GM_/G9D M8]7"#SN\8;T72T\YAJ@C]@A5!LM[)__C]QZB2P?YAU$JBXLE*!3'1,%[O)"G M>2A?6:I0TMW((4NCG']$URB5T&<#OM.CZL9/_-22+]>&;+V5#M\.A;D@N!=1B/OLQM[_OP#2PQ\SMIGQL\-Y*>%!CWR M7$0A$R(]ZXG0'AE0+44J#N94M_P%:V_NI/8VP&'J*=:#L/*#?"NJ'X@U/.[V MAYD"3?&+J'R-&^F'J+H+OE2"\][_ 6D#/ZF#)7K<[N9NJQ!55!/OW=R 8(@Q M!8(5I Z,W/X"L-XY!Q"U%$,S)DAS0A40\DX+P?T1L#CRE$JW8<+1%_V-Q0JP MJUEAY0MM*,)&.,"AT@Y'?V73#BJ>@FR!?3LH."R T H5*82H\& GCNJ&E1%\ M[A+NL3M#UYV@X"W4\2!?8#49AXCV20Q,''MH6?QUJ"M%O>0T?"Q80=];'7ZP MU!\4(3(6?Y)]],J?E""A"A%70B%GM87^XD5\?5O-66"%T"N<<@/N-R1GLIKAN%DRCHTO@+N\1/'*KR DI4[*E%04<=9I 5#:F=!(>!8. MK>L&!M,HA5]8I%__=?7/H?ZU"G M1EQ50DD1\UT&2Q;WGO-[P[B5 <_VFN)-$]F!&&&[B,-QG7 'F"M5QK:;C1RT M0>((+7VOVF+$\O@U5O?2VX-EV;ME6=ZR9']9NRR.YU.C7GWQ&R:_FQHJYD45%\8"Y\., MO)0:[\R1CKPKM/T+D47 *CP_@^=5?._&^A,%#W\Y"]]* MOU8IZN^W^OOGD_?MPI[(">&Z-G \'[_P$;P8O#3=?B@X0B9YTT3Z#&("WW^ MM*%=T2+Z#3^&]"K-\!VD2!AXV2MNXQS,)?A[2Y1C[7]PD)[]D\*>,FWK634O M6S1TQ+-O3V[.DT)<:'F8Q@KL'$*[8_6WT!\2VQ%+Q[#_>?9.]\._T9?'CNDZ MF30)R8 (JMLW<0F VZ+!UZMV 3D)Q=I0&'N%?H4K1,MV+"]Z>'!N/]U52YIE M!"^=>=/2W27]HKJ00W#5W^'R Q?JC7ZP2-]5YZO-<'&N:\USI. <\+VO'%,2 M!'UCWTYI@5-G_%"EHJ):3LE5. MF2KO>@-ZZN0JS?T2BJ*SDIK]-1YE5Y_8ZE^Q&29(S^^[E(1Z_R1?H3L8K^X$]M)^4] M,I>>ONLPI06[12(H"0A56&, W3>A@ HT\K3K.(G!CRFZ.K6;AF3L,SUW[\0J MI^NT\0JM3 .%++P"*E.*>G%+^'X,K*X(C'A-5/8A"->-I,FX&@O[U0^FC7TA MSZ#G(+?I281!\=,@T1L/U0GT!I2$BN0([N(&!1^J-@=N=LG3* (6>B_I+7X> MH@^S&,5U-V2,XD-N/Q$$\V@*$I0E*"SK]U3 :34[>-ZO$S^Q%QRF93]?\:%3 MR^\BYT>I#Y-(4"!80UV\-&^S,1_XM&BC0YZX&6!/=FZ_("\KR5^0MXQ=%HSQ MO*_1\T7L/(7^<(:^/Y>#AX,5/S_T?T1MD8.#V&F/UM,7C??[*3\:D?E)9#P>>J"5/R^5>]3=& M7@A?18(=D5: 4N1/SA?MA]$^I)OM0IN0/W&"L42A9"P3AQ<]K>!,2D" L^_H M$\EO(<\P)BC(0%G3ZKS4O^_9\5&6Y5%VU9/6L_!)<\[Q]K8CSV?9QC!3R W6 M[:;<@D^FGC^9U:,--KI6.G0AWV;U?CU?C71L-E.= V?C#]_FIN(-R9B['A)CYS@)"?#LCGK5,M.@1G(^F* GCQ:TK)UMXF61GQ66':= MZBH:2VNSWAH^>;0DO)HF[:SS@0\UNDEG5AU08N[,T%V-H%/'FV3UJGR;&4U*O0*4L>D MAW)OKJ[0F$?;%)^#E]-2TPIH:1+\7%CR&;E76IIXVQ+^O/VQ M@0045H)P_JVB6M)D8H()ULO\A/ 1L-=N;8K?D'G?&67ZVNYNWEU.Q8P;^M/L85^$X)M1/+.^AYD&C7U?.6P[R/$2QXOK. MR?BQ6\\-@K+"Y\X(KS MN,]I(7\"!>0.3EO9G_9VMZ&4O5W@790LCU2L7U_1/>E@8KC3N\=/742CQYC" MS#2PR+ MMMC!$'!%%\49,6 M%OCE_W X*122\R:$0B#X+'1_6BZU2(YM^!^XP3_\R5.*.B QR+B+?MM%QO'4ST3JU.5-!W&=@_$1QXTAY?F[YO\>1=="_7(CJJC+W:N1 M3"^VC%_L/RJ-NQ62',37(1,YB# !;^[&_S^/I^_K5OWQ*^O/K!]^35'$ MV39!-C3TX?_[$?_Q43!,_HRSG[HCJ3=LR*F2BR[N6%XS< -Q 1? [\H?0DX, M;UCZ2[')__A=K<:58-_5$8N+D+=,+*'#T-01A)Y:WU]X->].Y3\LM/S[QM#V M?=H#^U'>@(8:=]6L@9):S@2I MG^G4M9\[P8/SXT$:)\I<-UW0K^I,QRU%9!F \?B?L!FD_#X1.$HI.($WB.#? MNY[+(N"?=\#YG-6_EB3V":O_]V>NYY6,AK.+,YS->I@%S:&TZ(-&/V^]T!E= MJT$OBQLKGGQ8"Y5V]$'N%H;1;N*ERYQC@2G0EFF+->G!,/TJ"6MW/_V>KRPW M+=Z[H+X;;0JK-KM,T_.\7!8;2]X&!G]X(T>4>\>%'*]4;0@;KX\CCUNT Z4K M;7:W];<:8I]28IE6D%EPT]^,WQT02"?;HAH[/99-/ M%I=A!XFO7CT!B7."!'T($O1'0$)3Q/J\T>*LF52*-9KEO%+9C"<7!HG$>EV: M9^T.Z$77TC0CK"JK&"X.3$"=B(LDZ>27@L2WUR1N"B1>RT"Z(90(KJ;Z $HP MBT5I7'T8(U&/Y_]MZL1W%E61A]/]+Y#U9KKZMN M"=@>&'N=KR4#9I[!3"_(F#08CWC P*^_F3905.&BAF:LLK3W:LHDZ(*S[ F70;URFCJB0H.)(()9/XNRR: M;V&XW+]]$C#Y5<,:/DR>F-06LE16%^RZGHTWB_FN3>JW#FZ,G:85=E)"E&D; M>1PWI<6@TVI")D?!C6B(().78/+OHLD?ELF#L,2G5?E+:1HLE,:AR6R2K )D6W1U>*M=7E7YSKUIM#=2.6NG"U4F7QZK#J0 MR]W@0B*42J0^%EQXF&2.MD\EM> ,YK+9'#?,9/J(2#SK:>ZM]WP7HO3#L0^/ M.]N0.7??;:6HOFX:EI'KE=A,;&H,9IE,0U_>VE9:D>9LF+(+>>@*J6.]N%2D M5!N56*5^_(F'4LD@)>3:YSBWYKI TCQ* .9521/#2]5XH:"1DJU4$]J\X*S& MZUL?!AFV&B6G#KO$UVU],.+89*:60Y(F_N-/+$0D8T%>22!I+I]\6SG1:S+)2G M<*>I'W\(*D00UY4U@55S>[:[OJP)S)I/QJ)>E37E>66\YJNUE+0N%E:]6L$& M5>76LB93,2;3_HH&C*W'VM5I0DPG.@[<*0I#$7B(BLEHUFETQT>6Y0*"@0)BXC8]O(P9/WG_[SYDN1?KX=S?8]TA*F*J,5)+*IMCN%196S6K?^M1N:>I* M7^Y5#3R_&A;I1B*TVK!VTZN&6/*H-28<_T2IPZ1&8&B--%HB" N)@MN;4<$LN"O\WANOJ^' MD04OS((6+@V'PX1=D.)*(T]5YD)>[][:+"#UKIS-M:@^ QS%-,A4;35,NWTQ MW2A*-$12?MD\1^59_NMV8_NS&[KM=W(6R4:!(43*:"!\B#*2/-KS&J'#G\D =2K4@>$2%.IU;+M=L=&TNXZ-V$\0 MF49"\!L(0MEM;,@#<8DP:?Z*8!V#FX##9R%,!5ZW MZ]_8!WB.W6ZG]023C&T8$--[UHI[K%7C#&-D,9O*+"$L14:TN[T,1XYCDQBD21F! /7LO Q<"')$;273<%.<]U8S.L741\:RL"C4>;5_-A<;M0W$S+W&IAEZ<__D2CD6-I\P08EV10B4V,PKU.YBZP=DW)MX4W M"?S[&Q>4*T;Q"!7[!SOXC.!Q!$S4Z_, 9,^$^/9GS]MY[AZ^ MT;M@BQE+TW^3T*[5GW4\C1*11.S:N'J'S9-U;;4NFG>-%> SN&THKXLJ']EK M]LT;5,D:Y@[0Y\ M4&5JG3;VDZW1;+8(O_^%_:055RUAAV5H0QA8\0"N *I(S)RA7L03SN*0,H3" M"TH:J"@-1S11AUG4]/?7F<'SNA#9\4PL3O'$QQI1O"9"GC. 'UU#B;1M+.Z9 M$2>;D&^;BWN"[/!G%V]WG+9-487H@8;16%3=^;*BRC3R@N)W[Z0-D9/A&PI 7@+DFZ&W<:H9/GSE^VM+ M[L"%'<#+O R/[ZS?US==5[$<&!LV9ZPQ(H:4-)$*'9JYT'YAYX-+Z$OAE"@0/J2L%H7^XFX@<3_W3US_R3^A?;K[DD(FP%N MLH OAE((S@[%0'X&OPMA:2!/15MQ^W9C$W&**EAC2VA,0_,;\#,5W/=T- $UHEDXD,'"0XW'XU"+3>$&C\0FT&)0=:_Z$%#E>NJ3+$R/8= MNR[Q:&_(D!X;R)QYZAT/A=3A$!VR*YK+W+9]'\NB"864"2WU&=H!@I['VG ) M%I@:;FOZ@XW I_Y^A6E#EQ\M#^YN8O-[/V2"_(O#)2Q%N&-/'&'(N!(%%#^0 MUZA9O+@#>"X: -3!8)[A]'#^2"U2-"E0/OA#=$-1KB00.,F0(;" M"1(+_-T2D1_\UMTR_KR!$1&R%"1\+NZ8^M.!OM^)-^0MT^&V-'O;7N-@MC M$)7X);%NE/%P(INM1TNM:#(V_;3)WN#6""MF1Z,]MMLM!IAY0S--7\,]VNVQ M)$TGPSBPVMJ2:(P8.H4\&BIRG+"^-]QU3G2YCN?,&089!,EKB/T0YLQ$?H84 M,7(6)[OGD$*0-'%7YWJ;.B3+%=R#!0WY;X4K./<>3W4AXX&'?H).R^/2CN:S M.'\$+BVQ4NB,>T6IWBV*5'YHZ#4=V[!&H\4V$E-AH2I,)F$87'9=YJS^]&.01SEC;60%HV6TH37/&:*VA[D/7'*B M85H=J,WX&:@++Z&T1%0AM"]T_L^ 3E'\SA3(1+-PCV M'D/Y<;%Q@ !HN?*_)[:!V@&:0'T; Z(VH5$88"OMLG"CQ2-&HPW0\"!Y@(QX MC5ZLHKK.21G'*O938GT8VT#91I"8HJ&N5B\#+Y@;;_!"HEO5 WU $'*-"/34 M HGJNCYW;-<&Z#@\$6P/)[A>::KB3.FOJP+B45M4.QJTYOQ7'R=3<_T^$QA MRLE4LT\NLJ ,/<7[XKD;H.,V3,?'U*;,;N@FGN>IV)3JE[1*$5F$T8\QG0Q MIJ'',LD" 1C0;SUI9/0WTUY=7(ZCN-W!C=YFL*EJ2VAD$(G(<470O96!/+ZG MMX7'Z'5P.][[=G;'UJM%7K !O5+SO;(0_4!3X00CL[E84XLDLV84T3;K%)YM M9*,?%(@7LOZ*M=PQYT"TO8]S($W#UT#+?+?5G&:\&WWX ?H@\S34:#V>8\,= M069&@&V.>6A'6(YVC+T]8$W/RQ60?G]ZBD$_%WK?WYF%.BCF@8()55$&I@7! MRM\X.(R3LAOU_< M*-K7ADQ;K@T8L!PG3*/9'7?G7XE!CA&R58W^[%!>\+-2JC4H,TJFEZGC."U4 M&U":"9IM^&+$FQ.SMI->[FCYKNG?.^?P@S842EN ^Y_'+N4&,2@O-;Q-R9U9 M+%.MZ6%D.9]B ,!!5]13&>APEI^)8 EVCBH/# N:SKN XA..S'W UMJM\N#+ MI^ M$FRF:T0=23;+O1CSDO^^)\K?TC9[D;A-%^IPQA18)Z7A=)@III9VNHNW M%0?:O#V[PU2FZ +G*6I YML26L40P1Y-V!!G>S+8WF+"+/?U[DF<(*)W;T\! MO -[-(=[JK\CD1<_VU/'M8XP_OWQA]UGS4"K53%W0>R71A**=^N:86VM*F_\ M,7V[6WP)C!FW!-@8 '670(-.0"Q,X$0#@E2&(SDW]<>"MC*B].<)/^ZA)OS] M[JB'?R(.S!&MV0M'=K?(,7 CK?L7HJB[^QI%!ZKI_1RLT.==YA#=SF ) J+I M_\1GD'<_[YI_HHRF@QG"6!ZH<*4R))P_YT(;^?95D2?\7C5!["UBHH\S6$*O MT8H/J1Q8?CLB>Y4L9APDHD,:ND*VU:?DHR&'""? M2@=+.$JML*%DP,175"NS;+"XT'!0A/RX7L .UL_3NSS=(:)S2QZE"KG'%4]+ MPIZMR<2VB]G)3OCM! FZB3L.W11W+?FTEZB(M6< ['RMW5'U_CWG=[3>2)3X M%/ZU3;R<+BL;AUF3;8N9:FVN4?Y\NM_[\4\;T.RRQX?:KTN+VW5 %!=;B ?R1JT779'_[R[ M1M=*?%)@IYEU'YU%BJZN[UG=S0= H2LP@[^"P@+[68&O^H52WC0%[%]I04/9 MT[FFN-J&+C&@(A9_H:^?I95>72CX7SG\G% HU6-)OG+&^I+Y+:.\W[H1\"F^%JJE(/;(V98&T MHN6<4)B5E,<4YM9:&O1Y)M5APT8\T7"=0=: M&3CTA@G3^7Y MM;TK=-#?0FK$Q897+,N-,_\-6XZ2,X9KZ:,<:]=SC4%A@Z^ \0CX*PRRO+B> MDY)4KK0GU451'XG:6ZEK#C!<78Q>\G21\;3Z-:]LM5 M#+E87N*TY"36B*6KO'RV),<+TMTS+3">-=_($;Y#KO>UNE_>O>1V-^%SB?P\R4X5AQ$[ MFCI=I5L634\A.>#HHA-W,++5S8YG9B]/LR"FM&>QS&2H+M!(\N7(7(_6$W-A MV<>Y;+*X;(>5M3ZB$9$1+X=RBZ[*#JT-C^='83Y#K;1FAZ='Y/&DF%0A+D)1Z.Z;F&:LZ3S7AR.3+D85P8U.4 M)TN*R9N9!1T?%:-+!8T\7F@\IMLUSDYWX*0=)=S7^3KHH=<3T9=#H6>(TQO= MSN)D3S9KO9)L+6UWUL3+H7Q)F3C%+%['%]'4M-&BNJO*JCFBCK>/EUN-<$Q. M)22[U+2H6K6XT'4:CCS:OL,WNAHH$3A;[DW9E*:78M$>FO-H^U.\D^BDZYTE MNQCE&+4YCI+1C@-''F]?9$4SQLC1.9N1)U1GPI0KS]>6-.E7J%"A':$*I=C1R4UI%1_UJ!F= E(LO M2\8TG!'I4>)X9#YE-;AT,JNQF9$^:37*=14PJ(K4$9K"K*A):4NIX?G"AA3S MZ=Y&RJ.1QVC*E(;%:5DAI8RCM9*UVI)CR28<>80F@8;D.['S,TFIQ=E->IYL M@QH:>8RF1$S<$'%AP4KEQ7!L]O-$K#9'6SI&4X,9QG667M?P15I2N4$E;^&* M6P)CAZ8+7VK,:]K$@6*45B=%%6JNJ3B6 >W6@SAUN7&9)(FU%NUQ;&\XXZ66 M;1L*<'YLCP2A(T9;)\9M[W#>_"ID+'(%9E)E;3 MEJ4%6 ^TS&86G\OTY8Y]#N.U!W4S2&YIS(2::C#QU2A'UVO%J Q.%?$Y/R0, M8SKO:*6Q+'&U5EKC6DEC24'S3#U.%?7)'75CI.;.0IONN(&',Z_=&YYNU%0P M-.65NAK(^M+LZ>RY@[7-1-4,R(TH<607BU5T5&<&XF7_)I21+Z(N9P!Q]]ZF MTUT G#.SYS(,"!>,BM\@4+DECS#3AILQX%M-WZNUXI.(V9;X\2*87K(HQ_.V M8F\_*R@U9^.2WV\7#A?6.VU^!B:V#.I"3H3, BK03#[20!VTR1?*)P\)0!]U MZ8+=-ZIFE?3A<%"H.LET0*L;@8E)]2:$').O5(3FN]6(9N[=N9R.\ M';VOB#F%1RCB5/6]@_(1!_-K<$X!DOP.)+N_PZ@TW&^O< N2;F\63-G6L'%? MO!O*C=W+\^ BA5+>=3;R?K0?%+RY# MB&A@-=T#(E*1>("(>T!$()KN!A&!0W<7B @_K\?R1^?! A%1I^@+I?!LLWOPD/Z4S&\D%LG/ ML@?A-<"\8_)W&QQX))_9)CX^BLS[$/T?;?WJM)"*1$^>4-R<%.BG#,R !"Y% M B?C7CXW5\HZLY"G?* M%N^@@X^%"?Y6 3YPF, K[O4H O%CL=53?3,OHOT>FP[V5],":CB+/_38U/#( M4B&0_M\#SW?$[X'T#ZCAT UZ;&(X$@H^OA'J&S-O/GN^W9^^S1P#<0@*' M!2TH5.'"+6OAO?+JX9[HL)$>EWEYIJ1D3G3?%8@]XDU:;>5Y@34.&5? M(%==&=GF@C$S.&@T*YE%-D83!?I$)9;35;!/+/!Y._1M*98./^K0)2G&5/L3 M9CW(, 21&(&*08^B(^K''X((Q5/'[9("P7*YW9_.KO[:NW\KI?GB@@6)DI^! M+'E3EAR<,QR:U3[2A9+7N:+$CEMX9E304]9X5:98!TJ7^(\_9"B5/&Z-\RN0 M+I?;_>D;KU][]V]=,PW,EGL4-35@^8F57CM!]ZEQFRWW9N%4,FJ7FV,D5E(_ M_B1#"?Q8K 12Y8+.T#>V6=ZZ(?I5I,I!]GS:&"#!0I"!.Q2X0X$[%$B3O_*'8E% MML/A7!G/X(M%=X4OUM,B*I%.Q)!#%(L?-R<('*)+RI>3-T:_]N[?NJ89F"YW M*6S\/2(N6C&YA-C(X6TMTUKP R>\EJ=(L"1__$F%"#)YPFYY@/M1&=N$"P"& M5W0:-5J9B;KO$=>WD(#W?V#EDX[RV;/FX+CI_5)JQR>M0S;9RJCP8K4:9NE^ M7R*54C9/,1NMV+NJ>U4>M8E52ILH;"^UCCE3-2O&'&<4 MOPMGZ6P\_H5=G:_$UN_W<\9-0HLO8H2"*V1E;3N+2B_+($:/__A#D2$G?OQ)X"&2 MB ::_//6^L-J\N \Y&P<7BEEP_4408N2F+&GRWEN.EHSI_J5G=U3T*;/1J*X:>T^2/?C\F")9 U'35U!_Q,A6N=KH-CUC[GA];"/ MB,/SWHJY]:9O+T?/$_G8,VQGSZ\MM)^=*)W5)YV,W>!)5C'U=+(TG@^=U56/ M,O1AWB'H2;POE5==K5++-(1.%#6FIW[\B5,A,LA!O7JBV*V9[\H2QW/";KWI M!SY4N1\A\WX_;1$F,DUB;$R8N",XN6FV,B3J2.R@"S6I$!4]#KL&"607OE%S M:Q:\OMRY;2F(P-*YXCF/78ZE(!Q6&];6!KB1RU%VF9_"S:=^_*&H4#).!';. ME>_:W)KUKNY9Q>]@T[>7-V>*4+TE<.@4M1EN%D2*B3=2[-RI-;O9P55+$O0R MZ36]Z:@-!K14-CHWAJR,TU#DH&,GY%L1P26J4$P1 MLVJR[>#QP4JLMPIYU0@C6\<]!(OY9M$'WM6%K^?JF1,A^)^SW>JY^;YN+^>>HD@9H4,JZ6:B*JV3]45T M*G 9[[O1F\[^/DBW'QTMG-?W/R%U;*_A\!R+Z02^2EDXQ2J M2$2&$LD@!__O;MK=U A_.)#N6LBVA$=M0 MQF)@I0/5! C5F#4S /#.VQ2XBIF) 3CE!"O9*L H/(0A[\QM=W/X!,=$$_O/ MF0DV:QON^E Y-<\I[&@''N*&,MN]&65EF S3IJE%+-^3R.?D&_L ^1Y"I"Z\ MI. ]^<8]\JUQAC'JFKG&PIZ.:VS=LLKK<2E74^?.CS_1R'$Z, 91+R.@(-!= M&E+X(:3P42VZ$J8J(Y6DLBFV>X6%5;/:TVM"BFPGN41QL,(94MN,;+T;+C!1 M&D'J.!JV@U0(,X"I _AP">1U!/,E6;)S+%5M =ZQ*_ZK$N6PEYG@'=#I,)E-9I%-\OY!G(7$F(ZD;$2?A M2YPM7!H.APF[(,651IZJS(6\WKTJ<5KAKBPK*MMFN4)_F1O%^TX_-_WQ)Q4Y M5C][2'FR$F"FN,(^(BA?4K6GSUYHK_].Q.6?_X/_V:D/7@:<@8R^]Q4:Y^@V/4+%_L(//"!Y' MP%2X5?@ 9,^TZ_9GNV>ND;9_J)DB(H+?7C',)4"S/YO7Q8REZ;])Z"P@_0O_ MW&XL2D02L6OC:FNXG.K)EW4-X"Z:=XT5X#.X;3.$%54^LF_4=_E5OC1/3G=; MKW>8-M:I8YEZ+@ P,S9YP!L EG<2$H_F1@FA@D M4F X(M0YIH54SJ\S@^=U6W/',[$XQ1/O[K1^4H0\9P _NN9V5KK*5)AIHIU> ML':):$\[\VB+YF@HRG'$6]S!2%;*%MJYIXY&"&1WH2;RS M9,C-0%'X\@JG9M8:Y*>V'S4Z^;O?C#*[C]=BD8RW&='4]:OKA*%N,XEU^V53P7L)8 MCA<,9+ M+=LV%.",T%#B;.+U#.X7Y"@&#E-<6U6P+1M*%V3"\NAOSL^PU00_@]9$SY]9 M&"'D><'G@B;+FF/^=IG_F3EQ#K/UN8W5YF=@8LM $T[X_#EWEX?F&.-MK8,\ M]@Y<4%K6>.G'#I6$5&RQXPPYDNK.=,T-1;V1U>"K ;38=/ARR[#!G:'TF91^ M;I4>V&,/:VDA>B@C)?YG03_-Y].-P!,BVV9@42Y2Y^U=W:O#UQMJ7M M'GA&C/OD^;X/ .&-.38F+6.WL.T+"6_G[\M\A+8:<=-2_P<#WX^/OXLT4I'X MM9,];[UE,G+3?C$WV#$1B^ /NNP<]# M0_[7H_'R&^[;ZPWF'Y!Q+[B9*_'D6\[V9X_LSE7HZQ8Z%]F.E[R=ML+ M6=?G4M\3U[/=+[LZGWZC9$8??ZL%% XY,48=NFLH_#T G.%S'&O.,W4J7RRD M6:[3G>M2ERCRE29T^"G4W35%?;!*X1W**/)A3((;9X'XS$<"#6JB/MADFAN\;'8*RVBVW(]5G1'E780*)>/7*)1Z(]E$ M!?;3U[&?[FCS@9B[KIA#QE7'T7RDVTB4FYVL0--,>Y7 N5HN$:93Z/!C*]W( M4[<\'\/ B@8&UA<628'DN7_)@[(W?60/$<:SE=6Z#!ANO+(UIU[(SGOTM@-D M_(VRR0]N6<4"RRJPK ++ZDO(MYQF^X6N6MRPA"]+[9(4GU""&2>$5(V9>E7A MB6B(3% /;UK% ]/J"\ND0/3U*A1"+Q10VKS@P8P$W/#LRKBYI7MZY)>.5"C%O1=NM=!Z)O*_IHQ.(GY)_* M52K9N;VQF<4D+LP399$O.=-1$LD_,A%*O7V%\[Y-+[>0XA>PO8ZRIJYGC-W\ MUO79;Y/["JEO>9W\?@HV@3PYTGJ=59/-]*NUXKP5'T^LYBCE^H!O%FP*+I-_ M+/4=FG^8)TW ),Q!]N&FZ#(NRC2!DV.V"01;QF11 -AXC2FH2K!WB0'C4;%@ MX'N7X96K#$<7/_+0SM!'7;I@]XVJ667S4APO9%JINA:FW8LL=X*PKYO8GXQ' M$B?5V<'%LX/Y-3BG '&[@]KN[S"2K;^]*Y\.A-.;5RVW(M=]\6XH-X8FHFV! MBURQ/'[B]\?J=@+/%2UW>O&%,(:E_[.+ ^VZ]%%4/4&OHGOM<>SE7>/$6K-4Q MN FT)@W)=$MHC UTL^>RL;8+,\I-@FEOZ*3K>Z&?OYK\-^U(GJB)5B?N'S7H M;.Z:D7!B?HXN)'?%K@%7?HHK=\31.J2-+4^.TJU-MT]DUDQXUF.CZJ#< M: ^=J_'D7)C09)C#!VR]5!N;93K1;T2G(\KER>2'6/)A5.Z^9Q-F[9LV!1HW MX.V+- "+Z=-I-V8Q"U99#PIL@AXM^NOKZ5Q]TZ%[_<*,Q,.3<6_M:*5,I89R ML1%_1]_@[\,P\6%L\F[BCG<3*'Y9ULM-&L <])^[*S)('1.?:BLH]F("]27] M%16=$PT%;OJXQJ!'FS*BS?TQ!7Y0;K WK&;HC; T)!(0&7[H,*2!"C/>78'* MJT'$(E=6+/73CM^A;34 M%5XA^ JN,CT[G@<%JCOO%7W+HL4TS>GUQ90EM=5"ISYO*GAZ0/N51.BWV[U!S963F\( +^.48"6<&<<.IGY%V:H5JF&25&[( MUF<.:+<6<6Y2;OH59GV5 M&Q2K:7JG'Z;]BK*MQP/5-@>Y"1NW1*.9,RLR*:+R;4=0*LG#>1VOEFIL>1$K M*GV1S><*:.0.2A>NTM4PH/XUK'5#YE0+^KW,PA9UQ"=9T>1ES;0-GRI<*ZO< M*:XKI"R)+:$>)5KK!:LZGF2!7 FM'5BW+;PVF5J=AU%P%[7,_'(<31M]UK: M$#D9OJ2 KJ(BTPZ]D%/-\.%;MZ]1D?B33X0HGP4J=P /82[(W<#5'NCWK9B? MEJ[OEPYV2P]AHLK+-GKGTT.HGB;0KX=X1@%*3 8<*EHWADOP?#EWBNVW<.70 MT-8$RW&K:GJFH3L)KYF6&4+498KP$SH11A+;.P%&9O,URMF]RBC'[*$H-3L] MR8U$7,PM1U6C&,US2/%>A. /JL?BD?<>/N#O/W+YDL?3KSEF"3PX*+V/@U(R M@L<#1-P!(H@(?K*A38"(ZZ4.I ),W ,F MET)X@@(E0R0,0]((((9-,M\YK> MM%NOF]=TI:2ETU+XKK<,'2?T\/_]B/WX[/83$2I^]^E*ISITT*87&-&$?9., M^Z3].ZX]_#68@/PL$R"]DWQH)D#G"1X;4'C(^^#5R1U_/?+XV^36,] +%:%N M>V_T;^DE"WCW;'Q+,\03S>!O2M%SI2_A=M0Z>I]AM>6L_ M9IM^L]DXJWHQ6J@Q\0V9[*B#[I#%/W]9\]4EY0W-]*OTFI6GZ19TX>9L?%3J MTHQ>3?'FKM)K/!1/G:I'%@B!3PN!TT&5AQ,";\4FOHH0.&C:?4XID&TUNN:F M3#>9WB!I=Y>$3'. OIX4,(QE>F#(Q94DMJE.S\CU>NL<:AP7=\MVQ3Y:/.I?7=^:.6?V__<06G]GN>1V' +'Y:#H M@9]VN<-ZV-G09CAJ2;VPKM!DKE$NK4XE%G$,$\3[;)>#KNS!0SL?7@3'RMXS=S3<[]LJ.%EE;T9O%Q$8;E*4K,G8V MF@)ZFFEUF'QKX-2FI6Q/JJ%LU;C+V&3TLK7\[LE.J:!\OIDF3U!^M:$M@9M@ M_<5\L#LJ]7=7%DT0I+FJJ;/GM>(!JVU%8G4ISL>K;#C!M(FN(-#Q!CF7KABH MD95YN)E("4.V)W5G&L79J5)G6S@^%2+C\:\>I[DK&7%'UE$0P[FNV71*2(2+ M6GR@%UM1G!L/L@-S837F@RL*"7P4)\;4@)M+[5:UQQ"&20MK)"3BGI X3QCG M=@=4[[K%$/AX#VCI! ;-)0R:]I9)X+#=Q^P3NV00MVPEE]-=U*JT%-/8GM+. M%BKQ?HFEKRBYRHN.E%R,LD4FW]8*F2)0J&[)V3:.($)D])3H"OC\8:R5P"BY MB%'R?D;7>@5MJ0XG"R:3V'3 O-U.T>85CYJH62_#)*:9F;20VRR=6)1[A1X- M&3V.FAM32?+[A';^3WP]OQ$%?DP3XWC>5FR9L]!%>J ;$ E>]5UT6L4=U-6 M4 L\#/\+,,T V\20 M;KWKFXB, PMNN"G.>ZL9G6+J(V-96!3JO'JRI,_-9$:BV%$X.F$0>-LPT^7Y MM*'Q8-6-[. M=3R']1-TECFG+?2JH/+O*[,2RN6,0J@I?-W+D(N!,Y12IN,UN"(2H5CBE.OX ML%Q]Q1#1S6G]_$SL9X]\2R:^G'7R02[N"*5%D>STPTQ=F@E\6EJMYQW$QS/*RC 9IDU3BUB^)Y'/J3?V >H]-*CWU!H_*(FY[&8 M&+,S60+2IB\J#BNG.?K''RIRW,4,@[B6=]&Y2\/E16'56G0E3%5&*DEE4VSW M"@NK9K6GEX.+G %:OT^-=:DMKA8DIRZM\+()>3ARS, [N(0P Y@ZX%%U"7D= MP784:8HK[*Y)\=.56\\*\A2Q;'98'629<$DD-\Y*$),R),58Y#CYYSJD^.D: MOV>%B\!D03Y;JH69\L@0Y$HY3POF%+'H<<3K%5*\;\F]4['/_59,$%5.Y5&9 M^)FAV=/9ZS4@]X4=4>5(38!_>?>0#IU@E[? ^8GE$T[$1ZACFQ/B9N5,O"K' MSX^>#BF%#6\VY")38Y@Z&[5S/7Q3IAQ(*009.0YT7)2%/F.570PL\6A\*74J M^2*^MM()S>'*55* @@75T'\=+/!_QW+ZZ.[\5G(_%_RT3\O)4[]^]1C,K56$ M.$#;QW@^Q"3F5R![$QT5 I#F9+33]@P RZ)L6H,\E3BAK%^R"00" ME-&0MFN:!3"""F$935%$RZNQCB">T5 UZ"E0>1&83Z72G[5,<"M>'13RXB'E M&\AUGNWJP^X<8Z1M+E')Z]5B'&3TR?7=ZCJ"?%FMZW__YUD9LJ.CBJT/?["M M;?DSTM7&4Q#VJIQQJ('Z;TYVN+7YU,>3BZY5N\P;:Q3QS+U6I:IM9DL M^M2N5XI9N@/_R!5K="U3I"M8NP,?5)E:IXW]9<FRW"[W]A/VD%$B-J>7!0 M?2H$W1(>P!5 C829,S=-E;.X$!2(,DKK@$0*#$:^)D.<,X$?7?JVCWRI=_^?5G@^CV(1/\#&>&DU($!M%21 =ILCHK5XM2O2T3?*,_;ZKS3Q\-2 M+AQ-SF9CO.O;^Z'4FN;"^15K,@NKG)6RC;%5K3A^?1KFSFA97)28 A./MJ-$ M<=3/S&DT,OER)%?;#-+U\;K!D&:X/VGB5CJVIOWZ-"B=\%P<&\00%WNC2IR. M<8L1Z7B="/ BKIA-/2[U:;L-W^^/J(H422X\6RA%2U=Z4F3PN=E;IZB1- MK15A"D<>+319BJL"D1TO6&66'4_S2K)8KJ(YCQ8Z2>GT"@C1$4N.Z$1REJT5 M+ [->;S03:ZSJ'0= =HVA8J1&DX[7&;D^/7(B*MS(IVIB1#^_7(:"Z5.I?/YN)XSR ;L]A")YKYIA>6 M?3XR:XWG='ZJD/@:NMIR 52E/D!SIEZ.[."#'$5W95VJ&X.V59B0AE";CE+' MZW3">0>/X^TJ:]?;/:)1&IAYICDB\..A2YNNCK/K>5=2YFHB!_"9%N[3:"CU MCD<7$XK0 >9 I9RNI.L&4LTIUKFNX9A3=H4<+J(0S MVL;.+A(LE\NL\PLG*ZT*333T"*R:T8NI3F.=E?GC&<8ZNL:O$R4_%5*Q-ATW9R"04P M];DQUZ6EI94KOFIE/%E(9;)73#"+Z9P3BODVM\K0?FIENJ$50@D/"_B:-PL3 MJUSL9]N.GUHQ++/1Z+>8!=.;,<:F+I;ZJ>C43ZWH\S";J(*4C,?;A5Q+CI?E MOGLIZNCMV17(%ZUAI8/'HXI*9>KI,)-W?-4*3HR%;#-M22Q7PA/YBCBGFTE? MM9+ B^U-?<6OV+HPZ/5BV71UP3?]U,H@DV39H:BO\/4BN2&U<%G)F;2?6BG, M%2<9C772K%B)R7:*-,?4@O95*R(US=&M9'G Y*.]^G).SN-9B"4?M8)S5F/" MMWLM9LTTEKUI9NV0PZ:?6IE98-I,1M4^GB%3):E+Y<-7 265\*;7C@WSTCH: MTTHBV8_'=33G$9CJ/*LV5W8&9S.91'N0QAMD+#;U4U55,;\BUKE)"^?6AF%6 M.ZWJ3$5*[1B@D]RP&T\9PESB.'U3ABZ\1@T=/ZTV(#?X:K5U$^] 0SE;*:LEJ>FKU1+Y*=<><%:&!: UR!C%/%4M-GVUVBAC MA8=AIM+#E7%-'VPV2V8PF_IJ-863E]%E)TG@=FX^XCMCL\D,:5_UTTV#L63W M6G4)C'L=3BXG"@W1\54_O%;K]/.#Y%KB%GAM1BCK;)SP5S]MO#>0[8YML75R M$>,V:K//BU-?]3.@\['2N->4&=!N,QUQ(%'MG+_ZP1OIQD#L5U4MH>^RB0,AEJC M/ZS*;(\O%X9"LCZ-J=L"/2\$15US*I(>KD'V-]+\HI:*S5C:K^L<)="C=G0Q MCC&+U8@K.[.Q[HR;!RKBPDVJQB<8_%M \%BZ M\$ A<

    Q +!);4Z6-(>AY2I';. RXCB9.)[ZF<5YR\@O;,2Z46$3V4F*\4O!J0+="7?>P]I%.D"! Y81U1>C3## M+I$&M9/L-XQF1BWZL@!:05^=7E=O&>U:DQ;Y3]A<#IRZ;+P(@IQ1MSE)1F%F M'RQ6C]+14YMCB8<\ PV@G$QE@[T"Q64HS-D;=/X9SU'+ #=1!'40Z 'NP)6; MQ.X-RXZ47TF3MO5J^#I97O%QU!P_XP ?UN OE:BG#BAZT?3D&3R!X)!^HB.N M3BA'M_A"5CEAF$3J\599JY_T)VUHY\P:)^_&1OM3)RGKSP$Q[7-76-.8P7*2 M5 &S+'*U$TX7?"8J?_/>J2C*%?$H>,C8F8:Z. &6'5(779;BK:0!\FRQD@X;% .MBJHS^)4$_T ?]'H/ M2G;*ER]P1T%Y-YH%B2S>D;9G$%7*)4\0&IBSQ5.8=-9%TL;US)YM/(0_;AYA!A2OO M7P=F0]U4N@N(+"IX6:&$;R4AGW/,[I7D ']4'90990_;&V"Q+-@;[5:_^3JA MAAGUE;%<:M2;Y89E*OOJ_ P?532!1$@PX/+@.Q.E$2MH)[&)TNU]@#T#7X$K M:HU#[7_99/I6.X-U_?KK&<'DGXW/#>VC']S@-=FNX>=:6P@7E)_V>&XV64KW MGT5]17(*SLH.)]/4-#E4R!$'<4@LC '("'PBL$6#L0,\V]W$3RA=6G37RXI5 MK@I)@ P Q,>V8\MFPR1/A(&PU/4=[2RR!\3#!36'O "@6I/4"LV3ZX"?DIA4 M1;GS^T1T^,=7YP9(2PRWP?H'B4<[D>H@_@W#V,CEI.*3%5WW(_&UQ3,EA9-5 M@"ARTGA!GVVN3 :Y]O4I8:P; ["L9#)UDCUK3V1S:!G]ELKHJXS^/HX6K1:# MV002,+%I> :('BR=SB1?08(\;GX(ZCDF+"8\=!E0PC3MFC1DKG"[4XN.-LC1 M.\;?SS!U&F&V2#2C(.EE[EWB["PZ0GFX\+XT7)(VP^%;6/.;JW1$W!2PQE;D MY[:3;BOL07MEO=8NT+0/M,_YT6%+J9\J]:.O4M[Q$Y9FX_A:"PL(ZIX7[9JF MW36Y>=WJL_8U9D&OA]C?O-4?\B9KVJ-V>T57\W>: MW4&GBFG15D-+%J[ARC6Q].WPQ%:(L7JU"^52H]GKV:-.MAI M]JZM4Q9HZ;5O[:[EG'=9KW>=7_4,JZM7H?QIFD/^KWE]NN=2PQ\7&3Q M]^M.I]7I5K(6JM/0:+5:;KF5P^F1T%RIIE=WV;?:FQFVG265>%ABTS,/-3W@ MT%;AD)7AD.WW;"F]1]#&IQ6,=JLWZ%K=ZTYOP*_;3;M[W6_W>]>#=H>QKM7O M,[MH6)W_^Y>+GR^^7GQZ=_[O:[-O],WNDN;K7I_?C6$34;E%D%L[R[3!X06M MV]"2357AM +=V]U<%HFB]X23B>V0BUTV#?F;Y(_\LO#9DIN1G/! (T TD5N$ M A9'?O*%8#'ZIHBF'-Z"5- 6.2H*DH7)%QIBTY&=\@0/:)J>A)&0FF]G8R?B M)[!'"UL2S0(V31[<:71 NN1 *)>0@#/'-KE7XNE5/+60 #+Y?(*/?B-$V0Q M]Z (D5*=7IQ*R:W@0%#]%=O]D8& =*=S]&P0I.-,V&T=DV-SZ;4/KPG+PM]_R95%+4_WT8 M:#^"W]'(4@HE\6@%]RP\P>5_-]S[LYFC@B!Y1X'ZJ?"&\U"0W/(0*3R9)2I# M9EN;F;3I#A\DFYW@HQPX%HBS878>!&RK891H93[Z]=O$ZVXH]W%;SASB1K=S M;T@GM6MW3>D5 0E+EG$2!-<8ZO!^Y?<."'VT6L1^-OC$8F/T?F\VF833;W<[ -)J=]J#;_#&: M "B;G4[3-MK7_*YU8C3&T63G/4TW =B+GZXXG@K63B?N@ M7NFBONW"L_Q@ZHMZ2%T3TRV*E5#:*R>]2#3M :"*T>^8R)?FB0;R(3T *FLL MSF!6V658:*S_/738+]5RO&<=+&L!L M:I68RBI1$DY)N$,$24V9IBTC*8H1ZLX(VU/US7:OW455WVP.S.:/S#3;+:/= M_8O?G;2OJQR;( 5+7<'IP-,5'7C*!R5>)011Q=5O9'-4>0,D>ZJ[/ 0C68)T M3 0-JW5!I2_YL[Q7*\_RKC/C#'/)C,L=^%5VG++CCEQ]*3MN+=,8367('0DG M[,60,YK7_0.PY-[)SGK:A6?SB1C$2QKY%&<%D$;>+%8#_-17!H R )38JQM( M:LHT(+!,Q0E'P0F[2-J8G4X_G[0QKOE=^Z1581. E.5EE=:7LFV@P9)39D&M'Q;<<)1<,*^*C"-9J6/ MC104\!>\.,S%\(=B*C2;^-Z-]LZ/AR[_#5-V#]LDJ0R(++VQJ2*B#)\J04.+S($%24Z8!H=15 MG' 4G+"O@D6SRGF,PIF3-('Q^! '727F_7QP_2%SY=@?? A<A0A-E6 MY9#*O%!"M6X@J2G3M(R&@5LVVV\50QP%0VQF9=BWXQ/4*\UNJWG'[UJ&7>4L M2'865CN!7'A3FBM)P:*/%3HSV*_9:-+&@KSJV_$J. M8#J_DU.:3BV]J^<&1;!#7&9GUIX-]7DB^8A !)");-O&P67V2- M_.G3S'AF1+S2U'Z4_$AC5?<[>'5@WVT"*' ML8=6:I-T54MH7.Y]E@JH)VF@)X&>M(6>)(7!_#H]:;W!G)6>],0"JPIZ+YP% M!A\C@7P^;D@*^C%2+:M*;W";&P\VS(GW#\E?%S=]U+,]'_-8FHYC!"+^1<3' MJ&=BG:'Q63,^:SJLCW:XG3?3N'F%>7YACUM7;#GGKH$.]C$2,3$Z,7#@L69\ M#XFG^?B>K7$N062B$].,8FN2-KA$X87Q\\#6E]K6+R81WK:_ Q$>&A'>X9EC M.Y,YZLZ8&>_1*&=R@A-F!"X"+MH[%[7/^\!%P$6HC2TCL$(W0Y_:#SJ/Q09F M F;*C)DZW4M@)F FU"$C:E,@)B"FK#$;$5/__ *("8@)];%.+. DX"0)..GZ MI@NOZ-.)Q(SX/ MWJ#VTK& M_:S]0E(+".B5'+W W!_+W'&JGR1)8:ETL#=W1%4678GS$U-'>%Z<^)E*(5/4 M%IFL2#-;3N':)I4P;G$Z6]&<>+129X\*&]9J2CG)(;0=FR0#B'B2&2JC\EF2 M.1C^^]'OR:3>U,+S4RJ\'R7=.*U-S%QX/BHQM%V%+LB0T* [I<9N& MPMU$5@\#EX$-AK\AE[,2'74HT4$.HT2'*!= MS2]'0X(KC99:&PT;AED?5END,6P:%7/8K&K5"E.P1KB)^>CC^([;WK?!^=V/ MF^[M4&N6FUHK.KL/&HD@O)%%]*6^1#:*[E@F.[GH_Z\G^B[I(MTK85Q$?>+$ M]62FI77I4$/[&5!7U$?WDAH$"QTOK6#RTVJK4CU^JMJ-F2)L!DRM$SFAD0X: M*<.AINFQ(0QWJ^,)HSH98VO$E3[>D- MPPN.PQWL JY]B@:9N3MV7":GJ:#= MT^N*X>DPC?04_<:?K45EZF6B]5U5LGE#F9KXJ8DG8WV!B0F3PHH])=6*TESG M+DM12:IY'I$3BWR5N2I^&]/[(QF CK2;GL>XY5N"''I<:DXSCU^/A M':?B?^QN\JE\7&*G/N^9>E,7OL)?E_( K?==+KV.NE)?Z[V$U['7UU%M*;4& MO(\]O(_75)_>Q%F2K @QSACY\X-?CK2CC:+5ZHK:VK=LZQ2CSM6/BW[WS^Y- M[_)O]/VJW^D-OMT>H]Z@K22:TIIR1\(^V]EB)-F+W0&?YT^BC90HDT@%9I5- MXF2 O(OYZ:NZ&$$I4I9CC\YTAMA:1TT4.Q+V*L.)=X)^Q^X#^@??.Z[W0 %, MV8!I@"=D&SB%L,F0G M$J#ECOI6/N#R4DUO_H6P0UUB^(X+*"J*ZI0YW#Y= MN]0VZ!1;SS'W/ \&M'?0WN41"4 I RD61:L?4,.Q,#JW+$P] )E<('N/MA\A MC7M&,X890$QBB.7-1'A6SAX )1>@BFTM/-]-@5NHB_/GAN$$ML]#4,&< ',B M!R)!R'*.PBQ!)! IG_&]DG0C;V'&C9V&&:>S+*,(W^C04M1O*JJW$N+Y:73R M?PXU5PU;:W/;-A;]*UAUNK%G1%$/ MNW4HQS.-[4[=:9HT=79G]QM$0B+&$,$"H&3MK]]S >IA67+EV<11O?:,+!'$ MXP(XY]YS(>KT;U%T6>2\2$7&?KI^]PO+=%J-1>%8:@1W*)U*E[-K79:\8.^$ M,5(I]M;(;"08>]WJ=%KMULEQ%)V=HJOSNHTN$O9]W'T==]O=#FN_3MJ]I--C M']ZQ@T_7YX>^]L7[\^M_?;@,HW[X]/:7JW/6B.+XG[WS.+ZXO@@WCEKM#KLV MO+#225UP%<>7OS98(W>N3.)X.IVVIKV6-J/X^F./X>Z@YT-CL[S>2$63=3XDUC MS,U(%I'39=)KEZZ/EC%NK]6YC:8R_[9<\RV0QBI08NN2X=7*R+#)R ME"_*=)A:8H3B3DX$];W2:ZH$-\E N[R_/L"FEN6\W5 7+AKRL52SY-6U' O+ M?A53]E&/>?&J&4KP;H61PU=]7]O*_PATC>DY<>LBKN0(G9.M_3#_I)[ZX,X@ M4^&G,] JP\W+VUP.I&.]3JMS&@^P3N47L"H%1(59,XNJ;[5L(BWL4M+-DEQF MF2C0XN_?G'3;O?YI3+6?TM*'%O!<&">',N6TMTP/V0G;UVEQ#JY^9KNW<_Y)*;XT@]&K4W_ D%=-]HZ;&_9O/M+&WL@F2SVE9U@G[A)O@^,# M)=A FTR8-XUV U64JL/#XMJ6/*VOT<+@E^TWW1$L?XTETY$-()("CTU'$5;^_R<*Q8AE#D]OE-$834,U6GYY5F;Q%L!^U&0,#T6\$^@M=87?_0:/. MV$]@#&RW3795I*W^Q4*D0IKN9E1E3&_$=[O+OJT*,M@#(94Y*OGCCF5!I(>U2#R+2P!PAAV.\V9 MK>C?LOU4&%%W0A,82POM20L=D@ C; F_3Z-3OR5,TQFF"4AA40:SU65XP?GC M@-7[B^! I!_.>GM2;G,V5'IJYU0P M8B2M,R2G.!4&NV%E'?J+KI$$5$D3)%R5"[[OG1@1^N%=$N! 6JP9(> 'PYWAMDC9)>65W M;T(B82" O7JD(#MT9= !W"QE:N2\44L4OA]*C99N?S5TA-,M@+G6'4L\-NNP M0C^];+&^_JM14PR"&T M4*.2$\HJQ2E"85K>B*7R08N@HU;E'SX-!%5$$$%[D7W9H/'\N#+89Z[L['GO M469WG[TS<\"VB'C)KD78N!M/:&R,B5X8[UV2U, VAO@4X:1*"#)%.B#.\(?:%$5I$.!(OY@ M$V'HA22/0V6Z7R2YG'!5>:]+"!+#(1T/3K#W=H/T7@BO':)(N-RLQCTGT! 1 MP ;-/]"5VV[!+G&.+VH+2FB&?Y[HLL$\5?(T%V$E8$^?.G^!]:-PE.T7K"\" M8NXCCXYT:B7M[VR$]R,\/FD?G::5(7RM"(T-O8ZU=2BG$WOT9;&W\_-(=K"E MR1!$@2]>JUT;CB19^-,H.J@JJH5=A\&JG-N%*B,O[HDE,A_>_'K4H6?&E+P1 MJCZ:6JO?_)^7Z,N3Z?EEW\?/(?OVQ^_9G(?-I;"&T##?%%]S,)^WPG!V ,(HFE2(5WRF_F-!=_ M5!+F>TI7A?]FS1Z^Y-A_Z1S[!P7%C'7SW^1C8^D4)I4"\*MES2+7G0I^0SHE M*&BO5+SV]U\(S$\T'P7J.BT-)U<;'#3/T-"*A7_>2H Z8T 3H!B(:P:Q9*&4 M;#7&G+$D?C)U7-QX]OLBA!Y"SW[EP)NA#+4S-'!^30!+>'\-:/IOB&H,-X-8 MD,5$JXD@Q5#P4?U%EZE=O!B72L\$[DYS'?PZO\,0(/JSR*G6%JSMR=,']&B7 M!^&;!CT9UIB3H.XE<"%*M5*\M"*9?UBU@^">A^K$_^"0)PK;P KV<2!AXP\>FHK?Z[@0KNOFXP> M<]S!6N]PPGIB ^J=GD>1\I;YPTOV3=O_/>U48AO??6AEC41["A4V?_6Z]PE9 M.[(%'78DZ-XB[BM/=@6S%!N^,F!W "M<)P([_&RWL>O\_J\V\TGWZSR78KCI M =;GM7.A%7U.I(.I:?\9[N6IW#[=QMG! \\K0]?*LRWZ+#Q/ORC,RNBHR$FC:)'/7M_*0_MT;M4PCI"A9B*B^;M^!1?@A0%VR^MN ]5\= ME%#5T0 YW4W$AY##"9]HF=4P.#EI=8\6+CJ4M7TJ%'[-X'\>&5X,S%D,BYH M=&WM6VMOVS@6_2L<#V:; +;E1]*F=AJ@35(TB^EC.^XN]M."ENB(""5J2,J. M]]?ON:3\B&-G'$R3>K()X-BB^+@DS[GW7%H^_JG1.,]3GL1YU6I\U:KWNM;J_]DGWYR/:^#4[W?>VSSZ>#?W\Y#Z-^^?;NUXM3 M5FM$T;^ZIU%T-C@+-PZ:K38;&)Y;Z:3.N8JB\T\U5DN=*WI1-)E,FI-N4YO+ M:/ U2EVF#B*EM17-Q"6UDV,JP7_!DY/C3#C.XI0;*]R;VK?!^\81:CCIE#@Y MCF;OH>Y0)].3XT2.F753)=[4,FXN9=YPNNAU6X7KHV6$VRMUKAL3F;BTUVZU M?ND7/$ED?ME08N1ZA\VCHT61D9?IO$R'J?6,4-S)L:"^EWJ-E>"F-]0N[:\. ML*YE,6LWTKEKC'@FU;3W8B S8=DG,6%?=<;S%_50@GT]*X%/!7&R9&, M.>TMTR/VQ<@\E@57[+W,056)3Y]'J"',(R_P7687I;$EQP8XO4-6G5^#\3E\ MU=O8L:^EPL#M+F^T#_;X/N-YPMJ'2;BJ[Y#5W#*>Z()VTWW1$L?XDE4XT: 31R_7$70,E MG&6X,A3-1YR\I6$ZD^3H0[U;%7(1"VNYF5*5C%\)[W?G?5J4)3 &0RKRU3/' M'$L#28]J$/D6E@!A#+L=I\R6]&_1?B*,J#JA"6320GO20H@"^34O91"B@)H+>[+? 2O&&0L M%*PJ$_0)="[!I YD2_*D!-5*0';HTZ !NEC(U_ M'#K"Z1; 7.F.!1[K55BAFQ(A +98K63BSR!M.;0RD=Q(FH ,ZL@'LYQZ*BTI M%L]]Z^6-=_7:"ACD$%JH4<$)9:7B%*$P+6_$0OF@1=!1R_(/GX:"*B*(H+U( M'C9H/#VN#'>9*UM[WEN4V=YG;\T%U-J"A- =Y8K]WB&(#V!OB4X5+DD&0* M],$=X0^TJ K2H4 1?["),/1,DONA,MXMDIR/N2J]UR4$B=&(C@?'V'N[1GK/ MA=<64219J+L!*P MIT^=/\/Z7CA*=@O69P$QMY%'1SJ5DO9WUL+['AZ?M(^.X](0OI:$QII>,VT= MRNG$'GU9[.WL/)+M;6@R E'@BU=J5X8C21;^-(H.JO)R;M=^L"KE=J[*R(M[ M8HG$AS>_'E7HF3(EKX2JCJ96ZM?_]!(]/)F>7O9]^!2R;W_\GLQX6%]X6W+^ MRUQ8.%Y"\SUTVJVL8FX:1V;AM+%S:>0+T&662>>$N".T#37$%]U/).SSG>R! M,8@DEB(5WBF_F=%<_%Y*F.\I7>;^FS6[_YQC_Z5S[+<*BAGKYK_)Q\;2*4PL M!>!7R9IYKCL1_(IT2E#07JEX[>^_$)B=:-X+U%5:&DZNUCAHGJ"A%7/_O)$ M5<: )D Q$%_;[+(3N0L]NY<#KH0RU,S)P?G4 M2WA_#6CZ;X@J#->#6)#Y6*NQ(,60\\OJBRY3N7B1%4I/!>Y.4AW\.K_!$"#Z MN\BIY@:L[&%%;_9AV0Z">QJ>QZ!' MPFA!L-0W'SAK+>!;/6Y&)4M/C]WBT@I% B*J%@?-PZ-?EN?^@%B<] 76\=0^Z5UG]!SD%@9[ MC^2M/<0.55"8A9GBFOG33?9SR_\][E0B&]U\JF6%9;N+)39[O>S>)FWE[.:4 MV9+$NXR['SS?)>12"/G!L-T"LJB ^ ]WW*EM.[__J\U\U/TZ3:48K7O.]6GM M7&A%GWO2P=2X_P3W\EANGF[M9.^.QYHA?^7)!AD7'KO?$3$7C G_4S/7<#R^ MNC2ZS!/2<=KT9JYOZ5G^FS!(4KFHE%=MV[ (OQ>H"I9_@G!ZH\3"HCO MQA"IWU6#CZ":>WRL95+!X.BHV3F8N^A0UO(94_C1@_\5Q#,R9#$N:'1M M[5AM;]LV$/XK-Q=;$\!Z==S:LF-@=5*T1=.DK;-A^T:+E$6$(E6*CN/^^ATE MV5;<.,B -C&Z&9!M\>7X\.ZYXQV'OSC.J4R)C!F%-Y.S]T!5/,^8-!!K1@RV M+KA)8:+RG$@X8UIS(>"5YG3& /IN$+B^V^LZSFB(HL;U'"4C>.F%?2_TPP#\ M?N1WHJ /%V=P<#D9'Y:C3\['D[\N3JM5+RY?O7\[AI;C>7]VQIYW,CFI.HY< M/X"))K+@ABM)A.>=?FA!*S4FCSQOL5BXBXZK],R;?/)2DXDC3RA5,)<:VAH- M;0M^,T)'PXP9 G%*=,',<>MR\MKIX0C#C6"CH;?ZK<9.%5V.AI1?0V&6@AVW M,J)G7#I&Y5''S\T 9WK8O37FQEEP:M(H\/U?!SFAE,N9(UABHJ[;ZVV:-)^E MZS95;2W23!##KYF5W9 :"T9T-%4F'6PO<-?,?#4O4=(X"FM11:L MW,Y4"8J=ISX20%$"HRFWBIT2RPCF_$6P)O\?&]H2^'WYGW+L=_%']>0,#[!/4?[8Q M+5)NF%/D)&91KIFST"3',1<;L\(./L+=+(!_I?LVO&W#&=%7\#>9*5U<\3:, M4\Z2;^,&'-P35 ZMP!,UGPKVAU7'$MX@$_#@*G %&;MP8'%898?^8*PR3 V6 MY5LP.&P#I$RSZ1+B,HXM$3,Q;;L7.VG*BA)NMH0KJ1:"81X1->UE"*X*4Z4I MT\6W@Q$;57E Z" MQ_N@:4-$:"VX6^;W9)>#9[Q1V:TFFV]42P6'I7JV-O%D<"9HRX;E@Y># C[. MB<;((I;PB>5*HYTEO%8Z0W=Q/D*B=,F +]4H8)(BU]_-)8,.\K_,%)N\JF1L M:(4$0M/$*0KA14VN^I $;"#&D#A%B>A(S12D#BCS6;N.9E_F M7#.;[):G[,8?#PAZ@(:@>T /UUZ'/J(QW6)6/&:1$O/?VO6"?N=H $32C84\ M2TJOY/+_E,ZB.RD4/A6C=Q*:2R1I5E$J1@F$2R04ER4!:DXGA%N&8W0O+'': MMIM@2833<&F,IMB1(Y.PQ\Y*N,3BRK:C0%JFZY8I=M1<5+Q3.=.;7,]L',O= MP:<].5EMC5(2[;AE2YS6BNBUE(KO3JR$('G!HM6?)HX7N'A:Y1JVMK$Z1Z7> MKIS\#47KNLFV-,J@;_QERPTJJ]Z].C?P&"B4XA6=^^7GIVHD?AJIM5<4INL*1VM0E_CYOEV1YVR6:8(3)&=^MV_18OJ=KMN:5YX M;U^EYV3&G*EFY,HA"2;1$;E6G-8TZ/7<\&@=HJLVORQ]JBOZ\LY_] ]02P,$ M% @ FHC]4E$R_K,T!0 A!D !< !D=F@M,C R,3 V,S!X97@S,F0R M+FAT;>V9>V_32!# O\I<$$O7K_=@0MQ_/^[HP\[W1\ M6E<F3ST]JMYJ<^/,>6*R*/#]I_V")0F74T=@:J*NV^NM MBS2?9JLR54\MTBB8X==H96](C04R'4V4R?K; ]S5LUCV2Y4T3LIR+A;1LS'/ ML80+G,,GE3/YK%V7T&^)FJ?/^E7KDO^+))JF9_#&.$SP*0FWNO;K^4?-U">W M!IEC-9V)$@E5GMUD?,(-=$(W''@36J?B%V@5$Z*HM]2RS7=J=LU+TDMPLX@R MGB0HJ<>?3WJAW^D//-OZ(36];P%'J U/>, &ON21?Y73W M(:4FJ!]XA>_3NYCIS:,0ROP M5,TF O^R4UW &[(R!262]U;&+AQ8/>Q"AGY_I'(*^XOJ*>@?MB%#C9,%Q-46 MM2"5F6G;J=@^$RPK;?,%?)%J+I!2A*BR@6$T&DR43E"?M/P6]1>BB86KY[)@ M";9;'AM]8J9:$BOH*>0W9]GW*!C1\"(5-., MBG;*_)G$.!2WC-RP7'GJ ],)FL+>19*KV+Y-])Y M="="X6,1O1-H+@G2O$8J)@F,2P**RPJ ANF4<4MXH;&TX+1M-:-C#G6CH6GO MI(J"2*(:VRM=[:DD,*E2<$N*;343-7>J0+W.W\S:L=P=/.U)M+3GC@JTDY8] MMK26H#=2:MX="D*"%25&RYM-/9[3X%F=/]CSBEUS6M3;IR%_C6AS%K(E&T>; M;_QERPUJJS<]CMS.T=/-N?]"WAJ9IT1&=!?J]^K9=9]W'UC1=S,".SRN]^(? M5;A+EFA,O@P[1QHRYOVEQE87IWP6^=L-JZ5:WRG ML^XS>H\\WPUR;3AX9&Q_(_L;V>]"]D&IW'%ZO)M/ IAR34H+PM;^3>9>R]6] M['W$#:D:]_^'MASPW=-M#>]]'S#P^'!'4EJ_X=Z3U+16IO[.]"HC9?&7J58S MF=BL5.EHN<%OO#:_7='DII8406R+ MPU(Z+43L6O&DP:#7<\.C52"JR_SJC%?_OU#]83'\#U!+ 0(4 Q0 ( )J( M_5*_-EE',A #FQ 0 " 0 !D=F@M,C R,3 V,S N M>'-D4$L! A0#% @ FHC]4I[@TQX-$0 DP(! !0 ( ! M8! &1V:"TR,#(Q,#8S,%]C86PN>&UL4$L! A0#% @ FHC]4K%H;;2> M* ]]$" !0 ( !GR$ &1V:"TR,#(Q,#8S,%]D968N>&UL M4$L! A0#% @ FHC]4@;W@WOT;P 48X' !0 ( !;TH M &1V:"TR,#(Q,#8S,%]L86(N>&UL4$L! A0#% @ FHC]4G\?LC?S2P MY+H% !0 ( !E;H &1V:"TR,#(Q,#8S,%]P&UL4$L! M A0#% @ FHC]4C@EOMUX#P( +:0: !0 ( !N@8! &1V M:"TR,#(Q,#8S,'@Q,'$N:'1M4$L! A0#% @ FHC]4IPO$ENH" \C$ M !< ( !9!8# &1V:"TR,#(Q,#8S,'AE>#,Q9#$N:'1M4$L! M A0#% @ FHC]4J)U:OC " &3( !< ( !01\# &1V M:"TR,#(Q,#8S,'AE>#,Q9#(N:'1M4$L! A0#% @ FHC]4M#,R9#$N:'1M M4$L! A0#% @ FHC]4E$R_K,T!0 A!D !< ( !K2T# M &1V:"TR,#(Q,#8S,'AE>#,R9#(N:'1M4$L%!@ * H G ( !8S P ! $! end

T% MVH/N1-\9$42$) -$W $B4I$D$2#B#A 1B*8[0001B0;MNNX"$40D'LBF>\!$ M()ON!!%$! ^:.MX#(I*1>* D[@$1@6BZ$T1 CRX5(.(>$(%'8@%+G!$3'ZR6 M\&:T[Z[[3C[F9>N_VO*^=2)!?+9W8HR()+]*PUGOWW?UW@PXXYMPQM\TH;UP ML=J_)?RFK5E@XE%XE3,D5%)F_.TQ?YG0V5?<\EM!JNO<[@BDW/5I_70HY@MN M^:V@1T#J7Q/O;[GV7W'+;SG1CT3K@9G^M;GZ.YCI#4/DP=9'%57O7]J]MX:N()F!'+_+'BG(GCLKO%^H.H] MW-=1B9D ^]_"SF-5;0PG7:)K30'* T,O,/3NPM"[/WP_-%=_!_.MB.XPHQUM M(Y/NQ5TLD.G?PXBK[[6XA_ZBJMNHGW6 _6]@Q 7(/JN@3]XWJ[M]R9Z*:'B? MW&(-GTV-? T65[)S@J.*.V>(.[=\?E90OVJ/#XA?@1C\'A;/(=;) .O?P](Y M1#H5(/V;6#P'!<+,A[O^X3GBOQ^33E^KWG:>F"EY^W[/KW/E56Q+K_;-K8%P MNNGUF?'^U:@X>@==RV],Q=N4MEM#(2#CO[Q*0Q[ M:P3>6AA[![.WAL)GR-C'FC_NV<7S C"O_=FYF0YWV7+^7!OV\Q*^92OZIX+6VY+5HWVAZO1Z_[$@ H,S^-G: M#1;1*]$\'NX=F;D#B*K;.-1ORH/ 0\Z S U4?NT_WV&(8E\5>SLQ/B(<8YZK MYW#.&B5HL9,@NC3]K/4D]:'6D^:,5B?H'^9)WOC4EM\WEZ1^[+M_,*ELI[VD M1E)X'#=&99--; JH 0;UXT\JE,231PTF S%V.3%V[#K>6HS=$WC\G,I[EWIN MY7_2UY8-F.8\3'/LJ 9,<]*%#7CFV_/,L5L<\,QIA_G>F>;ZYO5Y;.%X5\5I MI4?U)+(X2.%"HC0=S)R;V,+Q]9JBN(W=9;D25:K.LERXY* 6;Z@7YEO&\ ,< M/!YT['G0T\<;!,_>: KR)3;Y5L.-:P0 K[_K;T*_MZVG\44K: 0$?#T"OFU- MNV]:Q2X@X*]R%?2+7OX\IP1^Z&-$!G:*&H]!_,T7HLKI]/S'D9NT:J 91 ME(N=.MX@5>+R)XMW%=D(PH%7.7?ZMKN_N?,0D/R-3HV^Z^ZO[F[<8_CZL]DA MU*6S0QK#8K_<8$9A%DA\?""'#;X0_WQV2-HV11689D93QJ+JVH9/-F/FT&3< MQ8?7&<]T] F14VPB7VQV&BN<'#0;=C[%5\&\.2+P4>K''R*4(!)!OLB5C_&^ MF %Z>T_R'H3379ZMG562*+5-K\2L6(4!+7;9ENIEB95<28).V]X2)0]PVO:J M8PYW%#[AG'\+$?CX5P//=D?A[F_\?<@]":@WN!+XH%<" SH/[@Q^@SN# 9E_ MO4N%Y[LP>?=W!=]!OH]\G.?60+LH%P1W MR@(V>(P[91=E@T>\)1:<&-[1B:%/@+],_[50_X2[ MD0WN:O:,XE$V9!*9TTWP>_?A\*UQ^*J95SA5X59AES;4W4+",A"LWYQM:;L' M+H%Z3[:\X(TY8([M&/1DQV?X/V@[EK%;V/:%A+?-=Y[/QB()ZI1TGHA+G_DU M.*<@:\X.:KN_PT@0_!X;@)/"#H33O[IFB@C!OPT@[4&W,O^OQ>-X :(N!(BWLHN#Q!Q)42\E1$?("(03=\+ M$6_=%P@0<2U$O'5U(NM@1(.)*B'CKCDF B$ T?2]$$)%8$..X M"T3@D7C $F?$Q$=O8[P5[;OK_EJ/F1GY5UO>MQ0CB,_V%(N1D=O>X/C;EF.T MZ259:H+W;Q;P[N''MO4<$=HV'L1)_.\ZD@7,\5A;_@X-59NV9H&)1^%5SI" M%71:?-2*?+?8\M5+; 1MH^]BR[]^Z^XY;?\Z&O8 M+>]H&1:8VU^(.[^#N=TP1!YL_4U1]?ZE>11)"LSNP.P.S.[O0^M_+^U2D<1E MJY3^K;!KPU^) MR1&@05 NOSGJS/*TJWN[-:D^] -_K\6[3@^OA_?1C[IZAB MUDRS34Z=F+\"@?YMS%/]0)-[N*];,Q!@_WN8 M<:RJC>&D2W1'*4!Y8,<%=MQ=V''WA^^+<_61Z>I3'>L[F&%%B$!W1]L HFE" MH^Q11/.5D'CW-E5]KU0] 'AE)1X%BX%-]7<<'"#[?*Q.1HC+5LO_6VRCTG^$ MQ^6HZH+WR:V]\-F$PM=@$9@=#[;E[V"N_'1K)7E43_P*A-[WL&\.L4X^#-:O M8YW>O7URB#SJ89!WYRQ[]W;*826HA[OJX'G!OQ^33CU.._YOT&'EL3NLO$!M M0)SWWT#E?'N[^[XH 74^7-N3L^WM[KN9!,3YG@/%6R/P0J+3.SF\P\V]XU+" MYSJ2W,!BSG#F# ,+6UQR,C+Y?6WG!Z[2?(66ID%OD6]:>YD@1Q2!BB_CYZPG M3URZGGPUOVJ+W3Z]84BQ&EM-JB6JVIQ^NIXSDB"T.D'_,$]R9+^2K&CRLH86 MXU/%>9Y.&TUB(P^9GB5V!';5:+6CTU%R1/WX0X:BB>A7+R)_#?$4-'VY?_GT M-9N^7(.Z@UXN 7%_6>(^]NZ^-''[NGSW3MTW,"W/8P=6V.ZL.%5G86DMAL5) M?"K18O\V=F"\.1X2"8V>X=Q"3ZV+X^$R:2,[$#7S>,L0?(!SJ5TG$Q$\ZN'4 M31KQ7O9\_!XV^5;[@6M$6*^_ZV]"O[:^O6= KH-_K MT>]M;]M]T?MUYR3@ASXYTW9-"Y'_]M2U$$->%D#E3KY4N..^VIT^H&=PWN.W MNPJ!?,T WQWA_#%]B3.?Z 0D_ZV0_I#>QWF/>>Z*XA\HA8*Z= J%GG,F\T)L MPN!*5V/G!:F8$)I7;8F=\8Q,GUBZVJ^N2^&NLV!Z"5&B>K."Q,OTB,!'*=08 MFT@EOWI2Q1WQ\6/ZH&<^S_ON8NPNC^O.*G-6*8/>S-J=+LM-AO4EW>M/G)&# M9 XZP'M+Z#S =ZKSC[<4?B$P_\MA&5P&>UQ+J-]R),)J/&@CW;M\&;OJK)G--4_E7K>9,QYS349O/2&6F/:!JAI($ M=>BI$\A3C\;)=_GI@>P*KD4&,NG+^MPG!4BB%J;U5+W39^I#RID)83X[,II( M@""W^[0$>>2C=U1+3W9)PL\G#Z*9P577;WS5]6N>3 87)8.+D@%U!Q_P]ZH V<4_9\@][[HRQ*VWFF@B7PP3!,P15/!&E/6Q W<"<>HV- 8:H4C0@5.#/%$X"$+BFQHL< I0C6C.,P\;;N!Y\WSZP%\$Z MFCL=7#I:RGYZ!'!WA+G%C0DP^:GD&\9!5(XY$\X.ERRZ3.3]&'TAH[<\=5?' M- -3->OP"<06>HN'JI#[>0(L8"C;=:&7'A##=GF$3$B/#.CHQW8'"EU-EB0LM[!XURNV *Z8U7Z MSDM)N)=Y!T4)MX)X4E?W8CC-01N*59_(T!7^\&M-Y>&OW'5TX,+2LL9+VT#V M>-3NCY0EB *65;X/?NP^&BXG#N[8(4;A5V4:>^I-H#,C:\M<,G M.Y\%_P>MW#)V;]W.1G@[>M_]N"0D^9-M(2?BTF=^#+'1<[LVW@E5!(_M MV?L5*OC(J0'C)0$& EQOA)1:))0+$7 PQ'[QV M_:9:.7/?71\8G.Q6ZS8K/882^OQ;M."&^']]?N;:UIIM0K_)_'7../)58^5O MT,OUV]PF+MV/_&7&RE&?VS."Y%Q7)2[/06^219J3.96'#J^%E3C5YHPUYL4? MB,OFJ3TP-YP_S?RJQQ+'P+AL,MM;2OMJN6J'6_XBF;5/E5A07' ?_/U$#MKV M'0F*&0YD/6NQ:Z%6"$=KZ>BB\ODD6[_ ;D^T9D=A!/-Y',%\'G78K]*=RZ_< MS$C1IS$QG&%[48&TJ9D2ZS:=$8G:AITO6>Y>9';N*1S%35",:]N;_7L;*9?Q M]2Z_Y_/E]'T+2?M&R/-!Y6ZV1)79:3QFLN1*LYL\VKR]U7Q&Z>$]6* M9II%E9?M"9@4588ST"F Z2.+A99B=L9MM<=F$N4A8?= (LTJ6]=$N%S4O_,AO>M@?!1=7%TG_/Q[+-# MG]I6P?98'P]Y'U[SK1^:W8\":5S?"[-1SNP@5_>$NP M4JME)TE^F)>4"O1IZ\W<-+_^_'6T:WG@8K&14(I&O,7D\5&Q6ANF&T)L.HIY M'GB">-/PNVRRJT]2R.NY =XW>T8BWW^DE-AH2I,)F$87'9=YBQT+_0],N> V5SF MZJQU\$S*O!R0W:ZT!1>Z%00@-S7; YT?2>'YC"?)4<OPP$7)DN4.-F MS;[XLN4MM;M?Z18W%MMV6I-6-B6)<24<94?Y>*EV=[@9%2J]?F%R"74:4O!.Q55&&H@6^:!3M:T.F+=<&#%B.$Z;1[(Z[ M\^F'HD"O);X]X:=8RSW#4-@$/,(22@0P@;I#$22*#Z '*BU('76A _B9B@RX M_:9\\5,MJMT*K3,;MAZS-_7J0AFD-?K''T&SC>,L8FLW*HJDKF>$7(0S:D?QLCS[31;)N:.,M:6V-5/@3W0 F0N(S<@ KE).,ON76 MF@WEL(+DEI?3^5)W>[D%!QD4O PX ]FSLW^?*UD*/\IYN_"),!E]JE^P5:4$ M]3(OXG__YUG^QY%GOK6L#[:US3LA72-["L)>>@DGP#?_YF2'6YO;;292D7U5 MB]][XYQRM3L>H6+_8 >?$3R.@(DR"@] ]BRIRKI1C<&"P=@<^J#*U3AO[R=9H M-EN$W__"?M(N[YG88=VLWO%,+$[QQ,>2E%X3(<\9P(^NH43R=)8G#'=IR>5NR:YFQXL, M&]?*Q6))9V;1LC-"0XD?GB [_-F?_^/<7XYF@$.4-8L0%C6+F0(:R^V_+X:8&B'UW*MX,+J*E;G+0UJ<6Q_#>>9:$$")80R]*'D M-C0'CON)M"*B7!+_-[U]Z/Y)_/LKY!J\57&2T=P?36W.@,Z+9D N1:+#O1>! M3"85ZE&@3ER;R;.17>[T_D:7,MQ/[AT"]+HQITK>!327G3$!VB70=X>V@:C" M75FVYQ?IG &-:S0"6-X"9(!<+--;5X;341X<5E=!"*NYU C_HK=77^!?[D^X M";KQ85J&RU-P-7 E(3B1!=?OFH1P%Z*%B= ?0\X;G-=TD 'BO2KTM$KX5KC5 MG^(O;Z^'^W0WU3!$S< RWG3T?M-P"1, -^C=(?$&:N[%*-OT@.__0V_QZ$W@ MV;O<.S='2#Y XLN)=LAT)_DIPO4;0)6K=OW:WBE1(N=#& M0E.8*. "7/=(DY<(@EO("MZDZV>4YI+\?N3SUZ_W*T;7NN#_IG K4P1FW8"N MLJA#+'MFVP5O+.*CEQ<6W37NEOC,&]YOY/F8K;.5SG=HQF!LEB'-03-O#69X M.?GYBW](HA0AEQBV>R$1XM%3H[[W_'+T($W2W;G)Y+55UYSRY'R%.]!4C.$^ M/M3^IM_/+7J/N&2/2_C(UA$_W 'X*^XJZX(W9 MU9EU,SKHD.\#C?%P?R MJ)C[/-0KD!%V;]CCEUN)BJUX0A-AG]/A-P?UL XQL1XFC?*0S9$T.>!87&(/:&N\00JA.7$ M-2-,3RCL1#JZF(6N$UJRY^6Z%UE-*)XFWG#(4Z["DC7(<<*3'("<#7D.>@$F M,'>"X(C%H8\-E^8=&7M!,#3L)(][[OK)(6C)T$O;71E<0.4#ERBO727!R;+W M/L%=(5)&)I29>Q7S)"K&V^.LB>U.(]BRC(ZV(-YMPR7EE^(T%L'H)Z@( *!E MB)-G"_ "=NYW: 'HC;9JF\_DWYY9$%ZVW[[D* \,3_!#4V+NG>WU[B>[]1] M ]K&HC9!SK3LS8[N@4+-/(5+,C3E[,&H)V-OSY?0VGOZPS2L40N]WN5+]%<5 MZES(&UMFY 83*;UNU2P\(R7(X29NDBGRV1WZZ%_R8F8/P1P #6 @UP:J^CTK MALD#7FP5INGE-$'*>#EMM+)D-)MJ*E JXA'2+^@'N>4. .H)F[UT$X8+"I@K MJ=Z?-.ISB>\F^.G- *HV9W%66(5QG.2I>7;8Z,>3J2D":-0G4K>].FSKFB=. M++?ZO0HLR!U+8,"W8"YTWB,BQM";,O?\C_BZ4DS76Y@N0^OJVEC[:U-A-ZK+ M&2)B=!1.?Z[JH'37U"+:+K*AZX* C' TS-WV=IJIGFI(N4JSS[3M3'-&MH?A M?+/Y6>IX;G"XQVEM'2J$25T]7"?A3QJRF1NUQYF,+I&EAK >CPMUH^B@2@-^ MO!;91O>0/%NB9'Y7G+E5*B 7NO_N[YT?:CM/*AJJJ.-ZH-8,!=Q^(\UN(WMB HD>3%#8_%^DJ9'S(8M A7\!=8JH M"KY! <84!:"A_D?1:)2LX)T]_^L581#5)=@F-X=&N9(&]5'&^=8&_I4$;Q,PX!8^OTFI;&HR-%@*P9TP36LZ7M[4)H M%)C<=L^>42\([ADY<,ZK9&3IH4CQL]_^N[4RX*YV4R,6LMUC M! RN#*HJB$X:81_"V9:MI\(1AW /(3L6&F]N70MDN\#5;P/SB&>]C>R>[#&, M@H"[62#_NC+A$$BN;#BHBJ$9KOT$IT%5;6::[)X3P#\122#3TV-L+.#L=W'V MS'5 !-$PW7HKFFLU(VY 4OA5?#[AHY22$[T)%Q"!]U&:!N6.L#A7J!# M5H1<#$4$>I$X$:%2>(]=L*\9\E)40(F J!?Q"!(:XI,.X"!]NS;6ZTK$95], M\6Q;")$5I$9(_% ,N$+J<.11].18O03D!U],']<0"6VKP[P#&>]!A7A^0_#E MX7Q&Z)!*NIFH2NMD?1&="ES&G#@?/4]'A[4GX@QNDZC*%@8MM#7?4]E&)P.Z MNI;-,V'+;#4R)5K/FI^-V3"8;IF["I);?,#> "@D>7Y$_!)L5'W*N!Y M!9"V/>F0?ENZD684('<#,J@2%^>>0F":;2%=AT[0=E$9U^8Y614-HPZ#]-"2 M<;AW"Z2_+M;X64=4C&>SY9[-66PF.4FW>Y4-7BIZ^DG^RCS! 2[L## 7Y MDK[A47S,U5,IH&YPI3]JS=OEO$+G(4=N@*$=QZEW(;%#A""87Z]ZX69DE@2*%.9U<%*N4E@ 0KB1Y*OY_ M"-=W"J\70O)68NMY)9'/9\*^3 6Z\$$XM'\U!72XU:G3<+70GA9*XD3'UU7" M*9#))-7AFS^V26TVF-#6B7';Y(";GYVGWC@[]T"!05C<=YV]CH^S\NR$ .W" MXE9(]R"B0\D;YF$8:IM_?)CZQJFJ#8U=( @>(QU.X^8 __S_4/G+?YE.R_OP MZRD=PLS7=;4.7__ W *5J(^T]AGMUPP-PAHGHADM1[ 7[ M"2)3Z'%"G@Y/P 3N1T3G*B@Y4#6!^2L"/=+]T9B_8XJ@@8Y^.#=-0418-5"@ M!AD>$+C>$''F]OQL%R$YV,BSNIO(@-0<5\>A=R#O![J3P'!K?,*M>,ZU MMS 1KHMW9T-N.#KSLK:CX!A+WD; 7+-4 "C54PYYN5.A'=0@#WBSVM8,>? MW4M/%B(F0TB'($ [,H#+C.Y1?.Y$/WI>9OBE$]$%N)^OD?\9#_,_P_S/,/_S M*^5_^IF9*1(?CU,BSH%$/,[%L314+#-QC)MDXGA&$.(B(:0?4S9/98R^J!3> MQ([//_86L&:H;[.;>P?O?Q4^=(:R55#FVPG/X.[.@3<)$C](TSBM;UT@.VRO M[<=/:OM;TF3Z,]+*T3F:HDMM+5NX?1: MEQT5JI92=B;UZA0*M)(OCP:X&(@^6MMR,1!UZ^DU7LD6LK(T8W!CL)FO\NKT MQY]$#'\61$_;V'NZFZ^^(.5]KZOOE71(=C\OEGKP4;I[3]$MO3O3'K@HP.\5 M#=GPZ,V%7S"$^J= 9H*GQBP7E.T%%F?4+6P7;!2MFNV6K5[7XQXR;2O3!&Y"I$T1#;;@%LL!_!?RX2R[N* M\#POU&RRLB*+K#B5HU@;%+$$44S97MEPYKE+9^]$\)P7G@:.O#@&W*]0CYO6(&9-*2I"[KD M7TO5KZB8OAG4+^E;@RC##02NG*4ET#0 4QQ+:A8!G3BA!GQA5?4LP)2-I;EM M-!:2G,2+4DN:L& Y0BH5ECJI^/]ZFF+Q?M\ =G^^ >P0>QC7B&\F4XV6*W+5 ME)A^:6DU+.;C%4GO,7PYHA\=9U+5*5;=]L2NW#7&2MX=]_9"$/@:PO@)B#J8 M/!J-4G9)3JJM(EF;3XJ+WG5 U)'6K0[96BZAH +E9"'38K9E"ED!S]]7'_,- M7%H"OYOL+F;?GI ,G*J#EM)EES1CUZ4<_'Q.@V!@3VP4$7276MG3# M\:CT4>WU([QNYQ3WH:YZZSW+E= H:K=KE1-4D,? 6J/N+FX8UHWR\9N'HYBC M^[Z#R.R#MS'T*UW;K]3W8/("P.X:5_/^KX*N)K0>W/O01S=>VNR5\U$\!"-_CJWG4BBC8K$ICX0? %[P##FY>)"FPDX-7RHL">&_.NH[:"!_>I"^@I M2JC4O'F*&B_LPLL*F$JFXH\*]*H_/)O)OV/=L+9I+U!(?-\D#1PU%=Z#8W_T MPR+Q'-6AF0@E6(_]"#SW%OIS-QZ^ISQ$G^I"T>'I#G/_=L4*\-B&KOAD\N!; M:EXIY>-O_)),G\0>^Q7M6QN8^TP"I&O[308@U*V9+GIUH$MDP[KC3245P<%+ M(82?(/WN:E[WIX)D+[JC,=TN2"C]W(*DB!(W_)B[]DQ&_ EU9E>$^M9(REFS MSR_ *]3)7 C$%[MN41![DCE#&MX4E1U9J$9:17FWCZT!=MA'Z1,[27(BC<*3 M*(Q'TSH:D0HEK^-GR\0B%*II< MSGDG#..ABM9LPZM58CX$WLE219)2& +E2 M<_$-.5J1MHC\KI8G]T+VDGM\5"BSK[! LF4B*0.)&MTW?8>*^U'N$G_ISF GT3$I2V31X*,T. M:D%0NH??=M%&Z8AC+U-WMQ#>MQ'*SVIQ]DQ"8'@R"O])NR=#C. M7FWGG6R%;2,MZ*@/$%R9JI:C2[675=AF@JGAV3;1BLL47)E^NI*I)*:.G:5' M,E-@%LO.5*/8)AI=$GBFGB/PNJQ72=865MC,*.B)Q:8-5P:>B>.3XKC;21;I M:IVJ;3=ZME"6UQP9?&:]V"Q5\.EB*"?Y$B#X03JAEZ9P9>+I2D TA FSMG*L MG;>W8F6=J[:3Z)F!MZOVEN78%DFPU5H%F\MB/:_5*+@2QY\N3>!*7VX*&8/. ML1E1G*DI41I-H2*./5U9L0LM%4J!C%P<#N:R))%=?HCZRP96KC.C]AA3U:Z\ M;$TI+B\+=+V*5@8!:B:C-4LI;^2ET:BDTCQ>BR[7<&7@\"J!V?79E!EBA!3M MJ NKVMWPZ)E!T*_)SG)MZP MA6YUS:6#*SG!%I?54CTC5Z5X+U?/9-ITO0U7DD]7&OUF=C4QBA/:84@[P<89 MODY0<&7FZ4IVV#:G7)1(T-$,EE_0^8<6?97)YHP ]5M; (.!\BWCF[]U5?W_5.G7['J2^J'][UD05=05_^WX_$CX\>'XL1+[+< M7Y\_O?B[S@)=-Y91]V(8M!O#.-/CP32]XWZAEI\Q+B0^D6DOB;I-L- M)W/_+0N<&& ?2K\S2K^O3!J?6SYZ/Z'?_$8-XR4AF!\2BM W\PGQ43[)Q+#4 MIV83E*\2BLR0%#Q2P$)2"$GAO%+A-3?NUR>%Q&RDXO3$U8@] ]TC,.+D M'HY/SOE95++&+B/U]^<4D\_U93X+I]]60;Z*OOM:>/#L>=1NWNKS. RI,*3" MD HO2(6?P9/\IO[$'R72$Y=RL-6T( PF?QS5[?UOG]VTKNY@17Q:V#\PM>? M@3*17Z<(^;VGO2,*/X-D.M?I;R"7_^>2Y[D'$?SF%E77:T3WGNXID".]OBF( M*X,]I\@?^WK,BK*TM>BR@_5'8U+?RK36HE I+/GC#TX\))+I0+.4D)-#3OXL MG!PA4;N,@U$/YQX@]O>MR_Z&K9]R,V@W!*R9T>HRT<9IK= 2V^-L&W)S\L>? M^ .6"C)SR,LA+W\27K[HK?SA'J<7N97SLY'2H[?1)4NLB+1#R%.RTZ$@'V=^ M_$D^9(A@9[V+7LJW=C2'C'QF1KZNS7R[2_G#S3+/>2F7^BEUK+37=;DHE9KE M29X:;VFW,PR!N#F!OW0K?P*_??ZQ=<0G]=Q?W\MX YER-G?B/2@"U\=82)8A M689D&9)E2)9?UV+X7F1Y6R,@C)O]^--W\WN &.7A+ODI0 W75&C^N-,[S<-A M\J&;[@M9]\\S\9?QU7W8Q/=(GY/)\6CD./$4!F:2VAB6M.(VHY7*8]5 M&[8Z!D9SXC85-)N/G.HV&#SA!2A(Y:Z6W'0'+%'"5O%)<)T_TMUSNEU92M4*NAW!RW-O&-4*YP.N+Z#.+ZU .9"$YY M#>-W(==_)OO]%EQ_V3C>WW(].=7+!;+:L6@&YPKK'CT?&C+2\%&) M]#U'$[=V9[@]U='L-&_@&>H8[R([.N;=$2]H*I 9^KS?([5N6-UV<9_XK<_V M+N'F3B$B/FDU1DB]WYQZ/[L97M8$PYT(R"LYUT7N7A3J3EK27.ZN5&<\F3:A0>?@A M]X?[F[KF)67N3N6DWRNK/DTX"5%(WNM$K: MIM)!H_F0K9EZP%.9]UF:7R-\+NX,T.\50 ^T%KD'?]NM93FB?UDJ M"T51*(I"4?3)O!M_+XJ6FQ%'T8K3DNV*O1FD-X;3%==0%*$T@WCR(1''0U$4 MBJ)0%'UB473+S(=WB**Y1B_GT1*YI/NZ8R78,MOK%=$H^!=S'RY+99_3;?6% M)<^U\B-N?>C/)%ANDESQ#L&2%[EMGAV)LERMC)E1S4@9P@#I.&YZ11RU14B] M(ED^03&UFUP2^:FXS=2 /[P^L@"&Y],*(U"?5N:=[.GPU=2E?U[OT9*75I(( MW%X.OK2B6PPW$EBLRQ)@/&H4[854)\_M'"+>(:QHG^]:P-@YYMV,KR?]6K"] M;&KDX]GZJM&E:=Z,VX6L3$Q6PS:'8\@7A,6P-S91"SDYY.1[X>3W!N+.P];O M=K2<@ZV?_EC_J MG;CHM3RDAJ5ZG7%:-$/WLENC8R@43B%&SKB,'/1$G.-:_IS>AI"3/Z?;X++7 M\D=] Y>XEM>-C6G/U7IY&$*Q M$(J%+R@6OH&WXE%&/!4-T5J62&57VSP=S4;CDVJADR:X*1(-[_%7A)(AE Q? M4#)\3=?'&Q2&4JM83DUJV2I+S%/KH9Y5N6+'E0KOR-[GV9]/K%$%3*S?&"*D0U*;VZ8E31SO*TF#>[%^1[U53TJ9 M<&)/?I09L68@DM-5N%(N@2>HCPBA)9Z!;<@@0_.@<54D"P#8*'H?0%W)V^W F2T36#]7[E:U_F1%Q:0NM71!/NI' _\2TK^F6VATI;MY^,'E,G]P900*^@C< MIF K[F%VOWXK$T;&0.!M$_T!<+RWW9;;WE_,I,D\4E_^*TNK/_\)_=@J"H #>0'KNS+^U=VHLB2YL7ZO'L/]< M1%L]GC),Q ]*GSUU 4]XIW!W[?[[[W\=[CZH)_DJ]\&Q9EZ&,>$J-%,0'1N MEZ/\!+[Y-Z^L> Q5!6NPA_]@\7Q6"IQ M;5R](9<[K]N027KHN4ZD!+]#O/H0*6M";)^N?/E=/E5 7]QRH]FEF4BW&G) M(--C:-TV(2_#,X.- . .]H',B,A;_ .4'PJ ZBXD4F"L)3-CQS.))"G@;RX<>U&$'#/ *;KF=^:94LMW^;' MK%E#X"Z5ENWMM$VNF@0 M;_$'*U<=1S:]7'"N)35JMR?F.RC9:;7T* M5\:?KLQ/Z]C$&7%IEE<;'6[*C[LR:,.5@;?7EKUYKE^?#K'J6HFR\R:SDI=H M)8X%CK2-.M%"O3VG"6>^ 4NR76#F:'1Q8*-#K<6T!AL\SC:-8;/>-9:K,H-6 M!C9J]SFJTS$RE*PVI:I5:(Z$>1H-7@QLM"4"&N7M=QTL]"P8C%G3::DFE8 6AEXO1"M MI7NKEF&RSBB:D=:5>GR5;Z-.)<'7)S,I>M$;3C#;H%K)'B;W5RE4X1%8*2WJ MZ34^G;&T+6676%MP,'F(5@;I7BVG1_-5.HVIBI(G9YEVG,$H5#42>"A6H2EK MLY5*+%![9:R\%MJDXF:+!98J&=JF^ HALSF[T%EN>HU,+^,N#5#48MZ<+W/3 MH2[GZ&)-K [4KFFW_1RT)YQ'KTF!6#I9UN[7MR-ZQ>+$TO78!C;0Z*33A;0* M+<]^NEV85&:+JL&Y'IS !JA<6UZ22VO.VO#=@UZCRI66%%H:9/TN:PAYH99F M;4-==4?C)M7MK7V7\9.GUN2E43(SFIPKELB2,2&;PP7<*Q'<:QLD.2D_Q#9L M4;68Y4K*L>TVA98&]EJO3(8UH0?W 6:UV4 J@)*1<)\:V&NA6L^1N051HJM$ M+H%AK)="#F=-,R M VU]S"[<0U:!BK'OC!MS?5F![\((2N[/R@L;2@916_CFAJ390*2L%]9Q:!G^ M(P*@\XKZ#O]E7 O /7_D$$1GO,.]']&#?DL6 M5'6$]VR:5A>*[D#+@E[:\'9'*ACRE*U I*7PY]SE!1R&32W"0-T)H#HZ#]J$ M:P3AJ8LC]>Z2RXOP>N M0;* 5Q!#H 4F? U\ZD_IU\7X QH+&>\FW_$'VDD#TNR>/7R@/>42N S]G<\F MVLHF.ZOIAJ$!1V9,(;O,#8CVG;-)GN\I^")76LHV):UJ#D>OBAG()B3V@&'8 M6]G$%6\_)8@DB$)>TQ ")=3($.XMHGM.N8EDF!:TV!U7WO/P1G"@O1L9 TC; MR/^(;'T(3<)]%G#+NM%7Z"?/_8>^@$8T_G!,(>V:N"YR(@JIIOY[+E(C20 M1W:"5!6*,N0C BHW"F^@(/C"CU,/Y6*O[".OK#VE(@KYB='^X:7:G!S4X!]V MJ]R36I0XH#4M*^/I 3"F&$-E-CJS;14FTO3'GV!JR7]^(7PB[![T9'R.]GSZ M4OA'\D(_2ZH*1,F+DJ"+&KC/F$AH9Q[IN42;_05E#"1&GXQXU_$4X4T(=0L8 MJJ1!X3EVW"=F=0@?MSMNZA\3[6$/5W=#DF4!X G(@%@[K?RXDO-0M8 \M"?U M1^U#VLOHX\5H_Q!JSZ@IO]ZEISRON8AN*@/B27B>%<2J=D*?B MBH#-0G+) UTT",X3(,&_@]H@NG,4[Y,YB_H[=%_XZ#+T<(TL,1=%Z/I$#(#" M%Y*B0 T2J:%C\.1&.\+D3IE[=I_WKDSX9#4&D)H!A"?D<\ETSVK:XSD:T0%% M[@J2B4:A]X6?7'9U/JIW':&/BU/J?!S#[RL7P'BA5^8 MX/?NP^&F4*C>WQ *C;J(TG;;\JB1MRU]]X67%.!^^.02(&/'=!4'(!F1X&X1$$,._.PU 67C5"=/7'O5Q].GTI8 M^=X*\CE JTW].7__JV[ID5 MD]V0#4\W\4=M/#=<)Z2/+VL&WU;67L$NO@]9&RKZH:+_[17]4%NYG,N%^*C+ M!6HN\41(1-^9B+Z)RML!*B^A:H-0S0W5W%#-#=7 *QQROVZTKDAX;"WH%V>="WQR^O#M1+ M?Z6A;^\DA6!K2N_?Y\3CV<8^73N6_]R8HT-(7:SO&DYPI#\-8;0MS_N;&96A MFYRQ*BU+34%[,FWD*JW3? 7Y@#L\/^[3UFFH_6^K9AHMK:_)*D[@O7ZQL8E* M%)=$[:3Q^$,*O^X8Q3N[R:FG5&L M[#S_OL]_9XNY5MBI6?;CYKRY7$8U6L(!MS)'\Y*57$-AD_CQ)QZ+!X>OA*+F M6MQUG0+G=W+7.QK;N*.(#EB&X%?&;-+0##JYX0I4LU&.*^!TCR74V.AL[;A> MY9%]ZLY!5*0+#)78A*QI:EC9E(S==TM1.="]WB*-I-?EX=?V_YNS;_ M"5U_R_,=M4G$DW1NE=PVQA\R^*LC4#]5\&G7"M3OO?HE MHD<[$_[^HSYW8J7__830:_)S$9&J6?:;>18-W31/<+)M).CL8C6AY2J#;>;, MJH@5W8E)T&I/9-)OTJ._HR+P'0WPT,Y^ZYSR=TN&LUK=YKLDPSLM[T(RHT65 MH5*E;6>;[D8+E*JDD,!(H%$B,3PX2204&7<:,OT0^[@-=8FSJ W?$:E?P>[[ M&N9=@)"_4C33-U?\D06G#9:O$[M\WI+Y.H'(P*'?/,SG?BTL;)HV$.&+ M]WWDO8DYAZW =SI)8&(3U$<&N50[F1FULW(2*XNY>KD9K3MH/BH*.SY@J: ) M\ROT=7M:4^G)?,R=K*(&@143&R. P MKU#^?.M8Y$LF5$@&8;#M6P;;WF*-?1*C:S]I+XP2!4VH&W8Q_I8FUE\&D0H> M+=O&HW9TP@8CMZ5!HCMNRW*N4"RM%GB6LEH4FK.-HL&9MUE@W_&&^X[VU,?, MIGN6&Z%9]4;1\4[#2B^TLZ0VM)==',9GT[XG"G>19[NL[5XFTY6 M8XS1EJ67!)48VHW!5JBW.1SSB_&P^$OIN:$[\HM'Q?[G"G&N+R9(_J;^[CVB MY'.4W[6[::'$.EB"=29IK40TUWFJMT;R!9IFB1@1=/E\;>ERA0244S;:_7/5 M^0?*?X*R.T%:F%2E88ILKIT?S41GWD_+%.(.K^XNGOA>=7=7X(Z;&[,7OU(# M=NO],_]E*N@^@V+^:@'=N#D61TMU5*?Y42XY[DYM8=%S102JH$L0V$.2_)H5 M=&"S *4IA%+CZR :;W?ZO]TQOU%0ZA?1PQ\'1.]!^D:Z@N:2/O$WM715V^Q MW.-,LSL0<"8C$PU:P1)4W)27T'+'D>5./J3QL"3ORP133^H,85;IYS2F7^?Y M=]K8FVI?9%KEFQ]@X$RK-FW2HC8+F%FAZRTH0G MC61IJ4;S:]0-"IIUR8=X.FR.&L9CP[K#+VTA'LB)=YJ"S4JZ3!:2V;;?1XWL7CS M))=[.I+;Z"2B^]:UI F*+0*OT:B)@J30WA9L2UK!K5DSWG))G)>T"#SV+ *? M) ,KZOHZ(I _(@M@N!2L"<#_%@59478U_#M1NN<2RZ M:0-MG.7K/9VZAW21TVX#ET LH=9?%C)T008Y=M)+<\NFT)BB4'"<#/H,WH)[ M'NW!])A??]S#,VA%](#.QVM.1)3$B*:[U&9"Z\QP?WGP@D=R0G)K#']GZ&// M3PAWLOMK PCZ5(-"-(*>B=)!-!-Y$DU=D'A$T6L)$C%\-/S6)_;8W0GMKW8/ MN1HJVKFOB\$+(K+VC=0([UFIGLB)B!!)D0DO&9$5TD80S3R52<>RQ-/GGQ'>36J% M?B*;P5A0D^*IV3)9*I%07!.Q9+ /U .4A2;2_:%RISBN5@8%I\4K4 OT%?X@ MC^U;.K[]QGX7@[W;S/K[AA:)ZSOA'FO2NPC@SQA8R0/,:C4>Z)Q&5K"BDL@H MLBH3Q0RZB+%8,%$S @6Y@F#[!L[Z:X"_FZD^!\ ;LC$AF X0,9"8IQ;1W'BV MF%,__F"Q4WJ/!^^G'.59N$]S[45I]>=_X3^[RU=0 &\@K\KLG^.KG$27H>]3 MP;#_7,0SJ=P=^W^^^]_'>X^Z#7RW3L'QYIY]:2$JRQ, MH29H %Z.\A/XYM^\LN8=TS]F*O,8<_R]]Q"1KG8 9_X3^3@,X)' )@JOXD> M@.Q(-_'_;/>=ZQ3:?ZF;KNKXVP *C_"'GG[T7!X(_^P>)X M+)6X-JY\3?"ERMV\ZW#KH>]_"Z?*G5YYW_%,(DD*^)LG ;\H0HX9X!1=\_O\DMYH8]0*9 -+UB9T MGQMNE\/XE'.S??_WO_S!2JUO5L98:KO%JN5L<=9QIAMC3G$$ASU=F5@VJW9% MR<]9*=&ICY1"DAAVT,K ,VOQQFK>:B\V-!\O4J.,O9792ILC@\^!*:;/:2-HR1[/)O++(K.HJDUNCE8&W]PLV7LL,A@X+ M4A5\7L29W#"ZYA+!9Q)8(5<>S^+ MJD\ABZG %6D.IB3.5*81GX)G1;@?,YNME3JY.UO5! M=H#-AO8:K@P\DQLM6XF&+F7EI+[)#<0JM.Z[TU.09S9M>C8@.U':22?G)INU M-]DD!5<&GHGU9K2VGJYRM)2;U*O=DI%,M$Y"?ILRE\JT4U7HIK5.KYC<;#-5 MVE#;"*S,497,-I6L=NAE+S_!J[I6S,MH+D1@9;2';\3IO$AA3;W3Y8JT*=2< MMC=RYGBE30X3+=TC%3Y'7U M)"WUYIEY7JTD=1E@DSC1RG>R$H^X./UTY5JG1]UD?*A@?'+9$#*:):[C)ZE. MH*>5AFDF+#E7Z=;BVM)NYKMH9>"9\]4<9ZU>:27WY\GQG,NUI#3U-H!E M6)DI6[-ZKR;.JM))HB^H239O+K)KJ"72N0Q&;9@1VX8K Z]7&^7B.,LX&SF: M6U1,?-W4TR/TS.#KQ;[*;HQ$EY.7>3/7Y%I49Q.G3O%'DDU5!M0BMZ0=6AC. M'4/L%%O4*?Y0LJ(\2J1J19;9 ISOX'EI2[9/\<>B-Y_/\50"8,ZVB2VI-*/S MX_4I_HB"C"@6&I9!J]JH:DQ'K=1ZYL]B.5X9%U4#%SK1FTM\< :!'D M;U==[R9RCLZ.?&FVN7MD5H&Z?)019CI4BJ)U8%APM;>#Z +:+FB=JHM V?M( MH1VG*/K:ZYYCVJIG<_UVE92SEUX_,0R%&1!M!30GI^V_PP;^R,KS[,;'37:1 M9[@+MY15X,(?.S+J;FV]5$IP+=H>XMUQQAENMEK[!X2@P"_@ZRT#VHMG4PL? M30@L]K*>^/B7V-O]NVY$=6^H>?%XJ' J_,($OW%[!I_0TB/=)&F/27[ M S[P3*B@F6H9N[?Z3\.]$[VM7#2=C*7PEQ(D#C3?@^?K\)D32(T[D.Q^CJ+< MA-^>S8F"<*_:>K[Y[;YXMY0?F[IB6^ B-MZ;,Q4/_N[M5'!@NO]U+6LB%>+E M_O""8[$0+Y?#RSNKW5\57S<#0OH=0+BHH/CZ$/!8\H:M'M-O\X:Y0MKK M*[?4+3M$O18<6]@&X.19MS^=+#65SJ4,@\\[5=X:3,\(W.0E#C,?Q\77KN0!#3^^X\ MP% C/U%G-?,4(KM!EFN4G234DLK MC5#X2CPP8;*;WA32D/6.*;B*6)D8<"2ABJ!]]=?WHKR=CW1/QKG3D MOT"6WZN$^X7H\RN08:@[/KVD>GM:?E517_0 O7]1+.2RN5+%HJP;HT4)=C;M058^3)\RBJY; G8A4WF]1 MP6N;[3X6AK@W5.H?,S+6(1I1Z%24#(@VW3 C/U&0$BT@L'^RZ-?N9_R?7_MZ M$$A&"LH'TXW(@G?V^HU;C&*=>(F@JRH*B\+E!I@ PP"B7QKU]H1H^,=O78SY M6:0A"00V2T4@G\)O'(0J9$9#7K'VV$!"*X+8;(6N>Z]3$$J'AH+DK3GK>2"X MI5L1$O=P$9%,]"0OZ'V[,/>A8.OLS^T&O)&$-EUQ1OE'?R;.W5E(A7A^P*&0#R6N,]P^7M!\$[/R/U> BAV'(@! M?XU;(?T:1%Z?A!?\-S ;#VH>""+_]R/^XZ,.I4PLGOE*"02/BJH',U==?36C MX//RS]=@E_N'P,65J#/S@==LP^,!??+<5,VOHD=]@ [VLI/XJ.S$$[',95W8 M9Z:)7;&_1Q5^R7\H&T/9>!;9^'5T"*^?4B@S+RKMO3X4R.@SKM\_#.SF,MS/S&>NLEU*R,FL[JUB0]=6;F_5 M9[OQ"WHOOE(W_89<732*B59KL1SVIUZ/ OR!2+Z4TWD)9KVK>_#6S?AO[8Z] M;&OFZ_A:[Z<9_]6$SU4ZQ;U=]KR[?1QJ.*'8JL4!IT@W9=F<9P2,KI.HET'B MQY]4+'7&>;!WH"$5O8KZ+V%GGB_U[[MH)A_J$?TV4>%$I;I94K<95JH/29;< MC/5$XQ[UE)?;0Z-&(&+;U*U\IT/G^#*I$9;CS$I3K^U1(O52,MMGMLE?C_^< MS?]P:U7C!D-OOX_^<5,1H$Q)4 M20@\1F)7F'UX!\J*-ZOC:WMLKE!?JVVZL]UQAZ]074G= /$^I!?RN,/J(' M==/]G&+ENS1MS_-TQRI;A36WAF"$>A".Q8A7*XL^E6^FH!L3((7>F;L+YY][ M:.07NB:_XVWX^2Z]9Q#Z%*U?R'0,9@*@.C?OP"3VX'WPFGM]9>OR+]QZ9S8_ MO^I8U+-/UGN;#DB/[,&*5:M]F>&T895?;Y/)>?L.+=+7TP(DOK <#.+3%%U- M5E8CD 7C5K[-I;VT@"3QDK/K*]JD]V2OW?RZ#M,"SID6<"W9*3\JY.&4>Y1?5L;CM).08[*U3DSF&W[6YOB,I[N$T]_ MU6R#ZQOA-]=DSB=O;J^UO,>?<$?-G9[MNG+KEC\7FJ_C3;5]=G[TR=Y!IC?: MWE.NL+>NOA!-=>*L'50;,D8>JP2ZQJ MH]:23;31,&3BV0FN9^VV=0%JIO;JZ)[BT!#+_5![GX*C;K];U*MLCX?]J/M+ M$.A3JRHWZ1)JMIVJRTZZN8Q/)WS.%#\^=9E6%XKN , 8R4)X#2A[:TDF?J*#W^/H M7WA/"3/4(0PV$69OUDCY8B#V^+:@&_Y7 M:!U^ .WII(0-9QUF+3OK4I>VB\P6M-S6YO&G5Z5WK;I-P6/WS:8N9%YG140: M!KI"),WO-8B>CY;#3VY4SYW9QJ"9M*Y@1"32A-3">\/849,Z!'\#S."?22L0 M^5G33?,7FO"KJ^!VO>K>1$T4W)G@?FI.GM(+HB0SV+6NEZ<;G8Q2&,A]K;>> M15=%$I/#Z6Q7[5V7R,3(%TV(KSMMZGFTWV;L5RP5(N(^$(&]F%@:(N)*B$C% MR&\Z./+.$!&*IKM!1"B:[@(1H6BZ$T2$HNEN$!&*IKM 1"B:[@01H6BZ&T2$ MHNDN$!&*IO,BXIT96:_Z^JYWZBOV#7U9"-_UD?>-(!,?;@29CB4NFX3W6J/' MU]+UNS,TI[ONA>!I-P1_MI8<(>KO&O6,M'D)\:%T"TG\321^QVUN7V.!$ZG( MH?0+2>--I'%W\C']!H) GW]+%MR?$!Q*\^//3S=W0K=-7A/1K/A/(R@#9S^1 M&/OW?;W3,?*^Q\B\1M1>G<7G$'!!?_)/BO.0C4,V#G%^FHW/ MU5CA%I9;R]!%6T #HU= T1WU<9O77#]L@/^ J>_? NTUYS95RM_ M?'?MX[L+5>(O%JIXZO]&J@GVC8 MI,+FN/)@44Z4HNOJQYL_^ G)0#R=K^R_^T3UXJ0*:L/IHA&E?./FVVL50;H1R(Y0;OMS #N4&=G:YD6XF1(D>+666J3")G,.JXE:X M@=SH,=EV0VKB-"LM^%7-[(PKRRT:!)/\\0=/!*O40KGQA>3&13NZ?".1\7)- M[+E$1A?;#.+1A-K ^HE5N<00)%:-4M<7&;JR350ER"NLG2DX T'-=ZTJ&M*2 M^?$GA;\THR44&:'("$7&HS8%V#C'?2*3]O<.% 8H"80,E6GW'.,?R+-4O M%IJ#87]$\TZF-2JWIMDJ\?'A#Q^69RFR8*S6B08NVVS!F$\KZLQPT%PJTNV3 MF;E0KZB0UT->ORM>_POUY55>3]9S2Z8J&!VZG^DENI7-0":<&^@N_>DZBHE& MK\"JI2J>(;BEN"RL(:\G?_PA,V_SD(2<'G+Z)^7TO_=MO,KI$]PQZ#9O+EBU MB*6R>+P;K\[7U^=TV>XP=$^-5MEEE!FE!8F;+3-MR.D9:*0\D&_L?AWR>LCK MGYO7+WFKIYK#"(W2]/]^K(W[*;7Y4GC!FH4MLD7@-FT M;*Q)K4K17"$M2R,T*8Y$:E0B'0:50]D3RI[/XJ=YF^SI#%:%57M%SC"U1 X& MJ729T<4;.&MD95@AN6V)8_L\'UV4L6623TWAT9-0JWNC6S:4/*'D"27/[?U& M;Y,\TXZ8K,RBMD$W.WI^41N1+2MZ ZVG6V2E@M6=\'*5+AA)2HWSS2R2/)D? M?^(/!)X.94\H>T+9\TG\6&^3/>/M5&QK++!9=516L6IOUL"%&V3DQ6OSAMV- M=GMR>01+>YQ"X6SF?MJ3)]&>DE:-S-$.1RT2Q+Q,W4)H*L_6\U$NU@5Q-Y?A4 M'E\K6&+*I=RJI8>W)A.'S!XR^ZW/=4_,_D3O:<0WDZE&RQ6Y:DI,O[2T&A9S M@Y ;MI:G(S!?13%"G9< .1?GVA Q>])54N)A>#WD[9"WW^=/>6XJTK5Y>]K( M5E7+*"5DQ\Y;E=X$PKW2AKR-:H(>B#<6$H:\'?+V-^;M)_=V!Y-'HU'*+LE) MM54D:_-)<=&[P;U=X>3*?)!,]K"EF33'E2E#1YDUY&W/NY")O\3<5Y@[^UKW MMO;SXR!??2 _:0$V8&K19@F-[0U(9N@;QD"HIN MV@8(#LRS58I:*52Y1_?5:*_+JX:Q:/B< &$,1,IZ81V'EN$7&J\7L,0.F!\[ M'J<(/\8WW%C]$ M:K5X1_/7E,$W]V[3W*T MQZ8D2KSAH#*_YL0EBR/W<>^@9_@.HJ5Y/9%DN(SM)DW-X)[/. MR]2')AVW#%T 0#0+AJZ63=/F-0'N!.)=U35W/UD GP/*D X$JSEA-4BS:T-" M"9D% ,R34V>;%IEWRAA-L=5ZH5#I"3U.J4Y__"&Q6- VVTV=151S0'(^[DWD MH85;\9RV:+@H'UEX0(DL=E")_#PF)HA%P38,])O VJ>D=;#6)62T!>045H!U ML*ERJQF+H/';\'F".^0V8J+;SYU #)8V)'+(&/Y*?Q'\TU=(,B^M)!&X!.D^ MS>3H%L.-!!;KL@08CQI%>R'5R9,#BN^#$%6[V9KH0CE/%WM$.A/?3OB*>D2( MQ#LT"U>A,!$5 K&%8-@"AOO=GLJP RK#*GA33\]S#@NVJ4R>(\%X)D(J(U(Q M+$AF#V@;D'B\^>F/XXE?DQ8^8F1R/!HY3CR%@9FD-H;EG)*O?BF!\1X5T'VO MAZ>\.TW>FW3KX0]>4.ZOS*_+L#>P7W@C/(OC56^&DW.>Z MS)S/.D.355O1N%P=K(F2M(8[VP1T3F!8_N@>PO4S3$'4F]#CDOAO7EGSCKGS6V1BY,YO\7OOGR!=M1R+ MD8G_1 X^(W@$@(D&9Q^ [&AVMO]GQ^.S=U^^,BG(QXRE+WX3> Q-ZCX8'Q[' M8ZG$M7'E&[8O-6C-N^Z>'GJN$RG![^"QS0W'*CV:69 M2+<9R34;>;K!T'GTB6G6RGFJ"W\HE!M4(U>F:A&F"[^HTXTN$_G)-B@V7X:_ M_Q7Y2:E(1IF1P[[Q#Q&P$0#G%]G M!L_SOH@=SR22I("_;^S3RK]03V4\52EH4R;+2OE5OJ)VARJ;@>IIYB&32CVGGB+] MY,A,Y2UDID*!) GP=Q. ]G EJ_!OT(")8Z4]HTJBG,O07'E9IS;#Y/0ZUMRD MOZ6' [D^IY=Y<\16J.J6J;6?L^8>A=N#SP22)B@V&J.$N&%B*PH4@\ 0D)SS M;?B]6GG@=-,7+@*@[;[S(]TUQS17P$#N=PLI=$UW[S[JXK7TM%6;E1@VB5-" MH;'<=&O433A(C]*)-C]N%S%)*>88R5E4\CJ%##PR<0*12$%!GU!>WDEF>L;V MNXG5=TV!=WESC4C)4+S1J296+*261;-0[0L6Y?91BP5#,7L_W02^9.?J>L5X M$R530!K*-:RXN\7->\TONDN9S6A\TY0=L=#D9]--?)I&YE?R!:P<*+1[;0#=]Y_+SSV=7+7+:!F/#NK0MBX#IU,Q]!*< HKC,N MQ-L8GV14@6?(9&%U290N+"+']04Z*S.8A"5+J?9 [".O8SIV0JO;H11AZV+X MN59=TT?PLTZ.,_U)H3*0F[93'"\7C30P+XF?JC0;=I9"#\C]\:J=[IEF?V,B M[0]_B>76 !JW>\4/VD.'72F.80*U018SU) M8F-F;.=PJ<46L7.Y0;MM+%.B:@N1C=+C8;W5H3IKY28QBYF6)QM+8D2Q]KSL MY'#,P1=+2)T)J-(&2X%W>JQK?X^=R".P(KUR.<+&F-C>016IQ5HQ+WQ)8/\\ MKG2_P/_YY5*2Z[&!! R)&5&&>9 \\ 6LGRL2VO/F4P5(>F<^GO(T+YH59S66 MCE=#H=D]@J,2A"I3SY-N/)5SL\7UW'8O(ML<]Z9I;$"6CO@ MN*\_=.6P"UWS%IH0$"=IN*HG^71J7,RQN62TKHFY*)$!Z#;''D@R6$+XG!<- M:6#P'^]R?2,"H" #G#SK]J>3I:;2N91A\'FGREN#Z3U8*M@1-J(F$!!&UKHA MFD [5)N>1<4CZ#MH_R=]:>U5DZUOQ"A.+_L9QAY4Y$Z1AC($PC( _*@UDPQX M3_&F=!QFW_.,90#>M W'P\H#@J+I7T5O3Z,XEP%)8HV."-IK'5M6DH6:7FSI M^?C9E8(>K]B@ZY_;7=,!GF?])+W7AWQ1CA>P/LLP>CDZ[:]E/;=&\/CS M"L(3>G]PDXD,_T4[/?6IE!+V^(_=5B3/;>V)3'9EL'7LAD P]-42*%]GN@%? M*1X 4S!'XA[>MR3]/@T9(=!9J72>/Q!'/0)'N/),A8%9#"FKC#YII.G5AL M5_%D\^/ZQ($GSQ/%U!Z6)PF2P2>K\_!UK)A%&I;S&:PXJIA-HL2R(UBE\/6JPEKPFH_46Q7 D;K%/9.1\M(X?; M X9AZ/\GTM+?RM)0I8VLD#2Y9-3GTK1:;A0^!OX6;S0-UZ3V1.J+$2"SLAS/ MLUP)HT%F/F 7>+0IF_#6PF(8=B(S[#&\C6RD;R$&3BEEK]!V@99+ZJ*>;6+1 MQ*S2U*?KI=.AOHLD^ # DDW1-ITM9 MI2<7^;<4#)=TZ$\ZJM@NS#"VZ*PM@P25>I]HOT;(?P.ZBY/RU6"G6;)0 M- N8)JOE];*2*$QG5*?M2M:@8'U!TL:\YD,%VT >J6-=#^[5]7(B80SA[.[, MU>[V?JN3*P1DY$PDP2\;@1JC;BQTSP9P5QX]8NPH_/JI<0_M?A-QUTK2;5-! M(6(T$^E1@VX9NNMIM0^]9?Y;()^B2)@A0=U2U45O)Z[#%]K\;M*<^S9HIT'K MP'(BOMLM]DR!%^_"G,/B:3$M )$;D_$D%Y_$)UP&$#PW)D13>"*11 E] M_.XON@(WGO3D8J?=+[#]#KEEUAM@-%)K%"-XNC+=-G("7>UBM+3M]5>+0I5F M%A1'<-C3E?QDU>-6A+R2G;38&60K: MAX&WQT?%VEPQ"8TNRB A*$-)[[907^[ RFY1K"SBBDK*_7AG2O086>L9J.E1 M<"4CBV-1[N0EK?,;&C3?+K #EKE$909:.4.2A>N MV$-ZG>2Z3DU*$W,NX4^!)DC ?*EL+]E+0DKH5G*R6K1LE=C$.QJ[#I;MG5YW M+V5[..D+O\-_#R#B!X@.8'(KZ_Q$X2KZ_!O9SY(0//.//Y0@&,CCX,<-#[,O M;[#_W6[V 3O>%<%'T3,7VGD@N#=MA,3=;S$O'@B73W1%T=?F[ZO4L0HS(-I( M&? W7I-X-ZT5DD 752L'.8)@HIMXL=)5,3!*RPU%=#@*IRY$XP>IV_"Z?V.5 M,_;V,F&W(GN?(.]5X0L0_OS"!+]W'PXWA?+)_0VA_%T7(9IUG+U^4*7OIZX' MRP,L8_=6_VFX=Z*W=9]+8;$D\5+/AX.,XX/GZ_"9$TA;.Y#L?HZBA@2_O5Q_ MY,U]-+WMP7[Q;RH]-7;$M<)'<^B<,!VDA\9+(>&^M^V/)Q%^WJ(B6.T0+Y)?P@KD<8M[9G?E5_?AF0$B_ M P@7%>!_#8'T*P (.AQ.-'^')A8Z\/_]2/SXX#F)5"Q.WK3A>_HM5;7'M/%2 M72UE>G#2)_O2UOMD@=<(X/VNG)^'E<"_/A$O7%$:[#F&^"C'X$0,3WTECD'. M-8]G2.S!^X!<8,?L<[_$@ M=?2 )J*V? MYISD)EU"S;93==E)-Y?QZ83/F>+[NTJCA&@_NN*QYZZF-N<56I[H-5L2JR.] MW)SCM$WJO=RBLF*W6ILCT4 (\B&!!:O^0DZ_&J>_Z(#Y_(S^LA_C"S'Z08;4 M:%N>]SD79W7>G47X*NW2ZD+1'>#V*%4ET]P7IXYUS3;!27WE.PJK3Z=]/#_7+]0T MKJ=I['O<>S(HZS'5\\*GS$*2)-L#278*,UGJ#+74+-KFXDC-P+$'$KO0X*GO MR*$WUAK.R:"AAO!A#>&]'*HUV%F5VR3'\I*>UDOYJ=W+T2AC% V+PA_(^$L< M^H7\&E"1,G1%.6PHL%,EW(C88\9=: A]&Y?'Y8<)A]K(^;01AE=X0WI)V'%& MERP!DQW];K<15>#Q6;93<.8)TJ(V:%FDWS()%YR<7X^QT<4$Z"D+C"]K*=Y13 M7TCW"%6,ZZL8+8^K*$UL(N.@I9N6 2S);.P7\G+H&@DUB+_6("["RW4I MT1#CQ(1D^Q*W-:E\BJ>E->3EI-?:^R5N_D)N%!>B$8O?G ZUA*;3Q?PD-TRK MN@_;"BDYMP;"74C.R_I9>*6@&UW$X"ZO=V>\YO7X=;][WAQ3ICE;#JS!YT46FU59)YM*ES""ZJ>CLM0A M>WW4D@CI/(F'>/)4O[R0Q3_JX[DYY5^!PX-:RG?E\(N'F-[$XJ,Y7FV3="TN MVX-2KTN6Z44::T,63WHLCK\44W;5DO^Z+8+^!(8#G[&'U\MED<]W//(GW>[4 M832T]XW&@K 1X:<& %XW.#2Q +6VY"5M MU^52->C9[?>M];8T905V,%C7QZ[&*)),EN/A&::VP: M/% >(EF@3"5;?8@4)$V!#X4?#-X=_%'AX5F\%S%PC_Q"-X#WEL/WNJ]:&$"5 M4*LUV^W5KD=0!;&;8KZPO=:=\"$:L-:Z(:,?P=*6%NB@@>=YD#@^ .H/?_H0 M#8 ,),6;6EP$4'KYP'_<\'T33>%HZM/STY[<0QU^@^W(P9T3YUL_;O__&\V# M*P)]"N_AF23DT/*G::[=P91=-:;#WOL$/;8)6&?SZP;Q(I;-5@BGJL7F$9W MW2^TKP#[FK95,3M=GK!J*[\&E76QV5NB]MFQ$W-??-@_G86VXRI3VGB.L?MF MK)<'^5T N4T:X]O-BL9BJK1(TS5^WFH[UV"L,H\98\N,9FFI-NUIE%[B;1'- M]8F=Z,]_S2&*UV.LFK/*LB9#9N@BEAN,4SQ-@1YU!=CGBLIVDJR.RC+!;U*U M1IIHU@ :UAL+*N#/,=8GNDP_P/B':LBGO%;S\ Y=_\O$."VITW2LW&[13>[ M.;,25\!23EU%LH]F.86L*5&VGW$:E-E/M17<'<\1=$Q_NEOU;:!O8,XDP_!Q MNEI;-JI,K]Q(EJ_!^^9ZHA'YO%6FJ]E,FM-IQL#';O]^\B.7ZOL4U=NPU1DO MU3?AMKFQ>W&GDQ1H7J3CK-%N@.@')A*_'[>;;H.EYDQ)99>-X:;)6PVKH$P1 M;I^7ZY_F3GT3Z%/R8)N3,D2:EC33G R*TKRO7$.B1>>I-5\K+>?8,I\8ZE:_ M6)_(:P3Z$S/;7KI2GWJVO+9[!\T%!6@6&\C[.?OGV'5"HJOO$MT%G^T"1,1W MSMO]Q8NGG[8,_/>_CEHC!F+0OAOVX%A^2T;"50VF(.IU7N0G\,V_>67-.^8N M])B)[9O-_=Y[AR/I1+7QI7O>7NQ19/K&.^AYSK[J<(/:"IU;-^BZ?*[ M#,P@>&G+C6:79B+=9B37;.3I!D/GT2>F62OGJ2[\H5!N4(UEHGG!_BAOO]G= [R7! !W\#@7#-U<#U L*L TO9K' M-1J([$V>^75F\#SO+-WQ3"))"OC[^G<^)T*.&> 47?N3:$ BPT]$+,4E<'S" MQ8DQSO'C>)P3,B ]&2< #]*!2335<4[/<;.HB(%5OLVF[64SL3TYB:8.-A6^ M#;4BMA_5Q0VN%:9%<7UJ$DTW.LELG;*2H\&(D?1U#TM*S?:I232SFI^3+"+,$6MJEJD67T M\5P;#G$BOYZ>FAK3FA53V7E<&K+%]FK>8++IG*.O3TV-Z6&;:#N5GS5ED"$K MR5%>!(H\/34UICEB6WFQFQ5E6^Z3XV:VG2O&45['\3XY@4_S6%)(1&6)Z"E>KS9!8VDP.8R4F M5VMOV&U>CZ]/X:I0[]9FUUPGYZF3 MN)JEMWU*+'-1&A0-9Z[.EM/M6$D<80FUAPZ2A1 MWPRI3EVDDUUNH1J@EL 9>>0'XJVHQK MC>26E9NSB8/7FVUGIL*E)W"Z3C6*RHQ?6'*T7B5J&X)CIW5WZ6X#3V9NO3QE MR)\>=,].#]NRX54%-0U)M54_D*2/X0/].63\+4?:>+NK>YOS%.I=0R:HPQ_K M^L]-N]D8W9Z3S71QEL%8OF^)]?PV.PVGW5QSVDTZ\5V;WC^/]9MTN2=BB1 1 M]X (/);XIM,Y[@T1\(;$0TR<#Q/O3 5_[6JXWJ&O-MCA-2%\YG[D_URO 3EQ MZ4KXUQJ,O^;[&0+>[R9.:VAC?S6@X>*D&\#C_0QDN#@-7Y)MST;I=]QJ_U7' M[>G>^I?IJW\#(>_-C[A<0=NM&>#6%8TOJZ\7./UENV:_I@5>+:__LY;M/''& M''EN=CZ;#E!YY)@RFI."A *BZ#H^5=93R(G;I9VG,#YI,]&ZZ% &X3?/)QY> M[MQR;W?X27,^=K)A/*E"O(E+P-REIWK2-1*7!2;>TUT8T_$'@PU_V3:3_Q4/MYCYBY=<^4BVI' MMSY<*(W*6D&WC>>$T3 E&A+#1059[=)5KC84R@-C[;703"2#Z=]?0GD*>AH/ M?6>W53UN+?CN#!RG1.1-&U-/M=A4S/)>(]YY1=!3$$^+9W4Z7(LJ,] ML>6U[&1WOZB&P%!$# (,'J*87W^[>P8ODJ(H"21!<$Z==402CYE^OZ9;8D0@ M!$AEB '>\Z1'@S@/D[:F2+FFF3L),[>CYA]_3/Y[?G[2^O.//[]Q=W@Q^]>+ MGT)^R[WELS!KVUVDS2$TD*'66)L&_JUC<[J&CG<&S M'/$#,^#./!^'8F6HL MHA\Y3B<:T9_B)1$/)AK,/TL^2#I>P$,# M;OGPXK_$'4 / 1X6\BG3G2P7KW.SQCOY[AAG/I(UMN" O\@,I_X9/S,7.WIH M5V/.HXHWQ$ 8BE)5W+(#VP5R$]6D"/+1JFK79-2VP.TRK%\YGN7&!$.'VJ^$ MT6M$P")G-_98&TM,EBN-+;#D/86Q%[W_&W?_,.:M[^S?@U9\];O&9*HP]=$2HPMBJ($(5QJK"6%48JPIC*TBZJC!6%<:JPEA5&*LJ0U1A M;-6S"850S+/*8OT/7P=_F/_MN-],>S3\8W@]_C"X/!5EL89N-!_LA%TA#:[* M8E59K)(HVY(H#Q7%>E,C&/\<3<;G)X,V-YP+_Z^OQK]$4:RI&^U'COHY(--' M%<76R?111;'UD5;K2F(-[]=__^G\\G5R[G2NQ^-K^T.O$Y^*DEA#'[1*'#6O M2F*5Y:,LG\.6)>L*6L>_AM]&AOGOB^^3KS^S/_F-^?O'2SD3OC.H[VF@CC)\ M=EF#6MDR_:W6H:KZ_3T(.^?V7KLI,CMG7TS_]N[\Y.KZTWQV]MG\LR5G0AN] M!XM1*VTUT0!793;54$0I272(DFA5P#ITHNGM1W/\_?]FDP__O?LX/OGOZ%2, M9^WH@TY-K:U?>1B^T423<"W@TX"'W(OR]:/*%E.VV%'98BCS7M5-Z%U(;KZ@ M^G!N7WC)+RMDX;S_H3/\:'7!4YQ@/3X))OB6VO1Q]XM'"[RODV.WO MYW/.)NWXVX>?[?!\=/*?W_Z84N-_,NJZK4=6(1R*45 2+1AEH)1BH%QF,V?.X@ '?:XP/CX/ MYB?=2?LF;)Z]=^Y^?O_M+[L;_ OG U'A$E4VU]'X6! QKN_=W"MAZF)E5,&H MV'=$1<61CD/B??(]ZUZA-_]P\B@:I:-#>1,\*@7-SW4:^&"(T$QH:CQDN&M91Q^Q3LL/HU"; MC;FG.1'N"!8^I(XR8BGIXT1GIB''"X7*MFEC="LNE(FLKP4T.N2P&A;Z'CQH MKN'L^0GV4VIHO^;>B7VEN)@1;V-3H>2I#>W4Q>/)-V.Q_SBR_ E/VD9M F5< M@^='N(PI/-"Q$-#8[2GIE!7-=0U(BMU0GR.0M 8<8/K\-MDZP!3\5+,W>1> M!#"ED=;)VW(=L#3<9^# RL &1;KPO3S%((,:O;=ABD%=&P%R 3,$%<^F7@\T MZ#YV(^JSY(N.?#B/%'')PK&&/27"1LK>^9FLVV_"Q&\09/"S'R!5O7-"R_7# M.%C19>DW8S;_5^29YOD9F'GA'WW>FI_/7DB"C+E]&JVY3@Z0W4Y/ID>(*Z/= MN*]5@@2&=N$)503 K;8\6^RS9G-TI8$2;4'R( $$O7'JL[:AE@\%&*Y')U[S MY-V'^>FW#[\._5[[Y\M?W_UZNI_F? F])CWYTL:6$F>KF_'YUQ>_?^L;_&OS MZB]G[/W\[MNIW3E]\9/O\>56?'[R2)(\!>6,BSIQ[DZ$9G[S"_WGNNO_^L'[ M\)_^?[]=??L/(/;=Y&;ZU^G*D'$)BME#&+D%2I=?K:"B%S\%Q-$H^%/S@?ZC M2>P6=$TJQZRQPT0B25"?L. C+@MPZ?A3DAYV2L@K*1(7%D_?:&+'1 M)D;^#2@2[2Q M/\/?X!K?@I>BK 7%:LD^@O)1^<ER("N(0GE;L3M=\N4# MG94D9B)_^L8T&M@(+]>=KVTT>IU=XTJ:]FO;L7?*GRZ_G5]K72^WL\M.[\T]7Y^_PKZO+7R_>G7Z%#^\O/IU^ M.KLX_56[^@I??#S_]/5*>_7MT^FW=Q?P^VOME:@A#+5\KQJPGN\L#BL [M3" M,1J0(#>8#HK)!6-*6&4SM)W#".7)ZY+!<[\WEO!,I]NRC,>UR;I/A!098!5= M+]A^Z\TN:4YM@5(2';*YV8&FMBT,1Q#ZB7R_X?Y-P*9C,%OS6F(J?D:Y#V([ MP+:XL136$<;/TNZNH71@G,F4=+0EO!@_?96.O^*[XPB0@ZUBA_.5UOD#6DTL M Q1;[I+48@\>J75TX43YL6M+%T2+0SZ*7;P<_@K"Q/.YIT?M^U2W7B'1B\:M MN5V#BVJ-\Q#=E^<0#T/^9PS+.[_%-2[["R?C_WP]Z[[_O=7DCO][Z_VLT[O M2-'>/8#."@\@VXXF]K,]R[^WD>7?6Q10EY[VSQ@,(6R\O=Q^FTVQ.S3?N _^[SX;OW=M9O22?9 4<7TZ@P=_G4_Y MZ9T3IM^>3Z:N/^?\*@+:N)SB@SY25ZKTBL\N\SX!;=%M]NWX^G+B.>!18]_M M: YJ$4O.;SE>AN];N'N!#I?>O_"[O/OSG^_^/.L:/Y]\^_#+[/=I[_3LH_?E MZ1')*X3FSPR8&?$!7$T .PT"YHF8Q,_S[!)9DD;@$@ )/\"%6(7[&>C'MS\$ M?K@4S22'YM)N_O4Q/)^VST\^G=[]U_R_S_\^^0 .36O0679H0H0XR#01;2"G MIF*T\86'44#A'*(.7$7XY>I;!>BCWY_]Y^RW_E_Q=_.W?_URU?<^?NI-3W=/ M'\D> 4XQJ8)+M(F^CIFWDG)6$LW<_M?)12\T[?,//W]P>E>C?Y[&\]F+G]KF MW$21)I8I(8(J"29/4$$+=)6@+;,I!32 M8M;$_O;?/[\$WS]<=/_ZM=7[>?['Q^J+GOFOOS?O_CEPK6\GH[\^?>B?][Z^ M_^L4XVG+AR_K*WJV2!G@[./,^?/V3]!Y!C-,D2.TM+O-MC%J77>;S>%U M>V1TKX?]IG7=ZK2;+6O4' WMY@OQ5G''1<0GYL6)D(/Y1OPW6VL:L90=^P_/]0"Y-/-QB,9;[B *>P!G&D2A#HGH4\6;N66E)#U_UVB(*:%8)Y@>UFZ#230XLH+V40:$P=JE@K" M0,E%,TRJ 3M$R&M4/F8[-W0 8\)MAR7Y<2I[2>57Y%B22R:.X$*'W#$@S$!, M^093M-02E^ MF *E."'("L#N[YC3<@%]@0 ^N--DS>4)@B84D6**))Z8%OA#6!L]#OU^,:MN M"7,D]A) M@4S'BS I!^#Z VA=;!UV52!ZK!4D@0WT!(]Q.%V8 Z/873R=NG/ *BPE6SP% M)3QKC)13J%G)O5M@R0ERB$CRFQ02FP"A+%P11EBD=2,*.E'YNU2>*IC0PL%3 M8"%J*"%A.XBS=E/[SN=9CI53S6? %V"-2!$92E'<28_*0V@:!\ FQ S(+AYH M$UV*!J&=)4GQ6P=44W68Y'TR A5[[6H3>/0XQ&FDL,^%&;4@)VY 1@4$@X'Q M0V*9R !QL?;?:>YN)[FIN_!XP%^9+0N=O!5M:^Y7D;(:$2@% I M7HQWKUS6$&./24WM+4B;B91!2'^D3D2,$&B2!=6KU45:-O8*;0H3'"MZ MSM?<<[2/XAJ;KC#>OFYHISGI*0L):#GO?M-.8_C# \$$%^GT4IN#_>J@UI-* M:4FX:'^"6>E@03)P.T=5A.4!I##O2)998GQKP&)XYC @4<-&'.] VR(ISL;O M$^Z>$^XXL\8YD5)<^93--3((,P]D! 2;04)L.P\,[3WG"1BH B>IRZ&*"QZ* MWYB9QA:0\ M%4.&(R=XP)30 0^;@8&5R M"N<:;HG4*5:2(&#RB*"R$D[E^/(YB[(^7%([&: \SNU0$Q91^?[ UL4X[7Y! M3@U^H&^-)0E%]?9389RZ*BU-\G.FUO: HNE>_(Q4*M&-P-%$Z>UXLW/X(,SO2SDLZ9]V 3XJ)G*32 M"XPN>,(4.(HX%L^@;?V>5O%^].L"I75%E7AL.N'-0X M_V2 G& N*8]A("&B2'SB4IA-8P B"0@.9ZW['KMU@CC3I,GV4GV!97\7*B<.$R/'L&"OY\@ ME9^,\4 2+!1V+P?;3WQ1)"_>GFP_K78< Q,QX/D;=&,L%.$@JIDX'R0X6825 M!*]F&T>= CRF)UJ$UA4)HP9 EIAIJR2XS2V$6:@77D!WK(@Q3L >&/)\)(N\ M>WQ>"$)%+AQ,L M3_$]>'<03U.4Y]458;#PS#*9_?G'+ \L46>H1)U*U.TK45<%-2<#B5B:3=:Y MU$ BL4"U(^Y<2-%4R%*B(/#M&(T5%.Q"?W"9)R'C"VX5-C/X:L*M<"8.&F&V M$TK1EJ0^/-AI*MU"!DY$9AP^,DH!K#I#Q3C2VNT?*'Y)A?&)8<9034XPT&HG M>N2A\,038PS90EK]S1:R/K@@XEGD"%/$*0$7VI-%%%"($^ ?TA$V/?%^,FV3 M' 9('3I04<21W1(TX_HMV GMP Q-.&,1VC43P$N"Q$1_1_0'T4]QBA M18.4L&XETDN3@ 3[%V-P5$>5W@"\YR5F_JJHB:[1X1@BW/9/K4EO60"'$1S #K;0RZ08@Q:4!3%'CY.+T,K*'9F+,9 MDWWE#,YBPOH>\[.A70%G2=_ABQ-^3_*A5.!@TE>A]H7$K#@'A'+A9PDW>=%Y MLDW<8A0'\G6Q)V1" J;TI6$^!L0P$2;6G)ZW28SX3#F(Q&QF%3-YR#^'Q)4G M^N]/X4L':3E7NS]?]J',IN]1$AWK1F#%*\M(*I7PI&@B>BA%9EN@2G'^>:$& M(T$9\D$:;9/GH0\GUO!%B-*JB<-BWI+\; K3ISE$/SV-O3I.F=1.W!N,RN<1 M\O;#4Z/4*],(>IHL61G[TK-W/1SJ2HH]Z"(2L&3 +$2_R,=:&2D+,*\XQA8F M]N&EW@B.JU)*A@A\#IH_+$8ZRTZ9;74)^?0+1N5E*I470_U%JD^CL8LM#^"U MF"5.GF'+G$A2@92P"O@K>'[6X05EE^7U\[D-D8Y:RG () @OZ.*S+:@O1,Y M&+GOY=TQ-_3OVZ(L#LBG6G+YD<4\6"X@G0M%8RAOR.$.NFA.M)]"XX&U?\Z_ M.-W!O6(D7R\!YBZ\ DD=;=;[TF1/E"\B_Y605#%/BMV=;CQ,-MZ[-EFX(LUO M^)0"(2F1$'FI%04;AYKB6<6K:9ID$U9=G:^8C?U4(14K3AZ7+A%L*X%/#Q)N MKQ,4$S R/$W/1$4V$Z1&_"1.)0.1'XEMG.%[TL)^]&R;\53 MR'''MF3V0AYJ90YJ#3-M*4&4N"O9(T%SDJ^P6>9H-8O!\JF#&84"$(3)8J@% M,? KT#!U)I"<3E21BQ.A1S5A6)MTRQPW\:KARDF"OV@^Q>I7#*;CP\+D20#N M">;^17\R)FJM**.?+&%_"GZIIEGX5^!_LIN;@-]0 "4!X9!',XJ_K*KG>(5" MSX^P3DSF]"7#9.*9<@RO[Z^P4FF 9Z0!3)4&4&F ?:4!A-1(2$VTOP4R<]DT MY&^2/_*;0;%\H"%PL%FK:!.> M,UC7<#D'E-SS48M@[\9$A"2?3[ ;\!O!.-C&[D&"E3*$7IQ\S>T0KO%01+_U&MZOP4CV\F(VFPDL%\0)RK*_P4CV\ M@!SK*+Q4#R\@QQ1>*HB79F-@*KQ4#R_=AM%3>*D>7I0VHV>PDL%\:+X M1>%%X>4Q?F53Q<HZ_B,!7$BY)CU<0+R#$5'ZL@7D".K1U$JO"BY)C" MBXJ/51TO*CY63;PH.59-O*CX6#7QHOAEJWBA@=_TOW+*QO8&A/YTQ4"L3:$B M*=3R7?SR'R\Z+YY*K0:)$5D*F#1XGMYIU U82XI/MP@_A,.#,Q"+ %UW6O(K M'6'X*$KNS].2>]%"J=74Q1_I8R#V637B.:,^ M$D=%',E[S^ 9P\"!]_S"W5N.&\5W,B\\60GUG=-2M]$W%"U5FI8JI->,06/0 MJI->NW+N:J/5'@^:Y5F@R8Z5OCHN&:/TU0YI23E;I9+$H-&OE:^%1YC+$SYK ML_%5V_I]"ND>15P*[=3*GL%3[X>BN Z==H194Q_:>:D(9S>$(VR8^A#.#XIP M=D,X_<9 63J*=IY*.\K24;2C+!UEZ2A+IR1+1P9R%@H/FO?$Q8H@;:,^S;J6 ]:!;: M3O'H$8)D-YQ393YYJ$*R8K*CSF2RA6QO?;;[I*Z73[,X9%F$LC@.RE4JF0>4 M_:#LAPKP@;(?E/VP+_NA(3>A^43. UV%Z,?NKK*9A)?;W-W6\PH+FGK)F&FMI??\NJC9BK\IB MZYF&[;!\9Z #^NO"]N4&4TLD_!H[%%O/)&R'\-L=O3^HC;ZK)N$K]Z""A&^T M]%9S4 ?"/UQ3Z$#] [,69/,(_^#@3BL4L@K3P+\)V&3"8,'U.8QP",<0MN2> M]_1^OZE.&AST28-=$OE!ZIBV;IC]0TM]'Q:1[]TN+XW(#]<&[W76)7XK2>15 M)ND#M:@[ZU*:B@@4! XMQEZ:9#_0>'K/T'N#0Y+L>Z]!WGMTO$R2/$\? M]-9%=A3)*ONY6B1KMO2^L2YK6362K;SA<*CV<[GAL'H007V*Y*_BZ=2=P[4V M3QOL;+]*?H_-J)\N^,LMI=\S",H7%%U]T%>5]A5+@XI@^[&SVW[GM6Q)+^M& MOSXUR#5A-^&V'#6["7^G=NR&0:?Z'(XY2.82#E3M**NU.RF^1]@=+MDIT#WS M/,)1JT.19*F=T#):NF'4PORL;FVW2-L<._>T]PZ"+7!/4V]UNXI[E"NF7+$G MI*;T7KL69?*':]C5U!4S=^?A'X$_<7!'.[[Z$7.U0$R<*.TX1Q'3+<"T[<=# MEU=!!ZT\O5=".FOWN]Q"G5E7[YCKCJ]6+6^U]Z*=5L\COJP"%F2^\TR]4(=7,P2O CZD I[=*I9-\PVO X M]P'OLO+,LBJ;4BU"*$-YK$J8U$$D&.VV;AB'9%]5P)]83H#4DN"7J^\Q5-7]Z!5>O>-?<-H0_> 4@(_1@Q6MH4 MT!]Q&#FCN?C*\8 HHS>M;F%UBQ@2OZ1I&'-SRM[:ZA= B6NZGQWQ[S=.!$^P MED OL(-E_B+].71:-_&"BC>%RA,&(\U#7;!8Q3=@H<#E>[_LT\!:Z>^YENE,-1X+4L#'W+ 1#;VLR)QN(=CC<*6!@% ML17% 7^K ;9"W_.XF[S6\2PW1I&BA3.\*(]_Z?C)D(3S3\B>X M!,"U[]$BAMSC(P>?<>\2$/UA/)WZ042WV-QU0$3.$3(^$$^ZYQ1,=!4N//3= M&%\5OJ7OQ%Y'@3]) 'X2CF&YL&X6!,R[X1. 9BA>BX^>LB#R8+.- Z&TSX%O M Y( 1+?<]:>XFSRUK?@Y8[@ETB/*VP:FH[$3V 3;N098L/T@% 091R% W8*[ MN0?[YYQ0 V"\=:R$:AG( 8N(PP?IU^BV0C#4&6D+B!9H0Z\CQ M0I&F=2 (3Y"7;UDQ"$@+X "T<0.0$1N"V_&YEA\#4+6UH$1BE!]LL00K#@)N MZ_"MQ0&7D4]4#6C'^Z(QB\1R!8$2_RXP04KD^1?2C7_&@/P1( )D)+ SFQ(U M_$4;UC6P&A ,<".\T(-=6F@GT*K22^'CRL>+U0B,PS6.A[L&BHCFNO;991)> MYW_&#EVO Q-$"";DG#,?R1GW#W]180/MY6<@&L_BVM68\R@4F)L 8\,B-ET/ MP,[F8$LA=!+:DL^@+PZ%5Z^8BS0-MW_G*-0%>2YX'$??+W9) MM&[V1L ',#/)SG(D1(48G8!.UZ=02" ,:PG]A#_"1+L $TY!P_BX#N;F[F)6 MY-PZ$0&$R1ZB9- (R1X MB!U=<_D-#*@0\,I?!\#)F8"Y199!,L[0#==BI'\TA@2'6"5EI=Z3O1#<4%Y89PJ M3_P-6($H/(@3X1;PF]@EV0F?IU-X"+KHR?7,0_O"!4(5\I%IWQI7#2 I6"5) M-#1LQFA Z\LD0R]TA&"C-Z'.P"7YL-8;^)AC.2[K%WT@(D&_DW&D3>-@8L."A MH?;/V.-:JZEK9M,T""CY;YJ9:YD)1@"LDSQ?6G!HC4=P,V)J*,RV4(OA!8$D M8P?>?P8*Q8FT]\S">(DC48:_$T#YK>_>X@.*U\T3/997GS8?1AHHKY@HA:@( MY*6G75J1/X27&F+U@FEHK6B22G)9^[:$[)A#NA.MQ1B5:WZ'#VZLH7U]\#U# MSH(P R2H\5\O?K[\ HYIC(#),Y:@$-1"\(,73T"#A4MK[[B(<($Z'I"_B!]6BP<:QRTT2V8/HFM!%92 M$)W ]1,I'Z11>@.*0%SA^B&*47@(\ ^'_6MD%J$92&(>K318AK1T2::AYS-B M3J#!F^)EUTS([1OAH7C81R>0\B@G!''%R[KS1]NY_>GO\$\"3LN%36+$=_RV M&)AL(>!E4K39_&$'Y7-F.PGEIF@W6[E5T[__\__RJU\ND)>QY]RVQB(\:5(8 M^H:?# /.OI^P$;SY#7-G;!XF6=%!HY6$M=^DX>L646*ST>K\H.7^1G@L 7/" M[DYR()-1[Q.7CZ(W\K;D.PKKIU_Z DEOA&:YY?CTPG,),Y$_?6,:#>(4^"@W MUC8:OOEV:K0\%/?DF-I#QTJMQ!7EE_ER ;AB;7S M)-> 7\'AQ[!&%FAF/VU [$54K<+ #N+M^)IAX37%:/H7LKO(#I&!=6#EO_\X MW%E"8&4.(+_&FJ::0 MV:"LF'#TA89;'4-;283[RX64EU"3^Y>Z1.0S08^X;!KR-\D?^<7B0J3810%B M"<%3%/2Y?*>4\LN:- J2M\JG&6);&QY; AVPMKMN3N3EGH^^]P@PGX D^4PY MXC="+G%R*1M2ZH-O60UM7#!@/*)@(+,NGET]MGXZA\++?O#2 M;W04OU00+V:CN;91L<++ON28V5)XJ1Y>0(XI?JD@7AXZ9ZOPLA^\-!M]Q2\5 MQ$NWT5X[:D'A17O5Q O2HY5$R\J/E9-O*CX6#7QHN18-?&B MXF/5Q(N*CVT5+X_M=OU0V=C>@-!_!! D05J^BU_^XT7GQ5.%N4E>W!Z[HN.V M']E,=EVML"A,72I(%0<@6DT]Z1DU+*D'S Y&HCZ.EI*WG,$6AH$#3_V%N[<< MMX5O8%YXLA('2[!\*BV:3Z7%7F.M_JH:I9W1*15%24LPWCGA=!K=[0XP4)1S M8#+HR?K0Z^QW^53*MK3R>H;2ATH9*IBEM6%G*44[=:)E;;2_E*T_>:/YOL;+_RZ!X/FD N9.S0BE>2@ZZ+ (I9>U!:@#H;Q4 M5+(-*A&V1WW(Y =%)ML@D_Z^9P17VCY1E%*@E)H1BK)/E'VB[!-EGVS#/I%A MDX5R@N8],8@B2-LI3!?V7(> S([FQ*UO?+)U7KN?D58Q4?NI3&0V'ZAHV0>7 M+(??\.\U/:U>77@".E_'?APRSPY?']#,Z>?$(Y^;V]A.F>TAA6BW4]!:?PA4 MFBUV-%EK?9%F_2'P4#ED_2%0:2[8CW)XZ$SLCDRGD@TEHT]S])2A5#?_M"3G M7)E$RB2JM#)0)I$RB1X#@151HN7F]);%^6CT=K_AHP?5PCT :73HYR]BCN$: M$GCLOM<'E?82QI[C_75'V67)HU7TN6[+3TA:$&VV/)BAH)%6!)X4DIEGS8 MUSH"EC1;>J>Y(RVI6'*]6W<$Y-;>!:D)%_%P!=P/BAWW;;0:^V?'BFM(T0'R M"$26T6[KAE$+J_699)7$\W?!?_NWOJK/?_NWXG?"?\VV;K8&BO]VQW_*0U0> M8LI_K8'>[QEU8+]#-DF/QD-L]96'^ 0/L7(UY_WLF6+*::]A)B0DI[2>B*^> M 8$8=,?W:+8NF_@ DK_$%SC$%O[E M4Q:PB+MS;2]R?:TX\*;-8 Q%DF+HY6*?Q5(*P] &1-62&[;?. MV$D:7>]V.L=0PK4[7MAZ*6/%>&'KA8L[RU[HW597\<)!%33NBC:Z)1H,U:UQ MW!UA*.:HP$F/'2N*AZ:*'8PP,$V]/5B7ZE;,4/H(K1HR0ST\"*.M#[K*A5 N MA'(AT)WNF.MRF8H7CM>%Z*PK,CE>%^)H#DI]#GP[MB+-YK?<]:<3[D4[.S15 M7:CLK.JA/OF+CF[LZIA%_1(;Y9Y\4GQ5GU2(T=0'S77Q7U4)L[/B-,57]?&) MVKIIJ"-(E2@PJP$U[:14N$;NE>*S'9N%!Y[3*?< 40T$CCG0S4$MSB<<.%\= M=GJHW(-!=> K0S=;/<57RMVJ!%_5QMWJZ\VNJ=A*N5OEN%N[.Z]3"U(ZSH,Z M5\SEH:[!$[[S"-Y$QW&L.(2-\D +X^G4#]8ENXXMIW6TJ:N!WNF7F :O98;J MV!)11YMO,O5^JZ6*A53AG"J. M:75T8VTY@6(&=?;F:'(HP R==<%>Q0S*A3@6%V*@#]8F/A0O'*\+T59G;X[Z M[,T'[O& N:)-F#UQ/">, A8YM[N;6U1=X*@C.(]V0DR]:>RH=J5^"0YU!*=\ MOJJ'/]/7356[LF^V.G@'2)6$+4\!ZJWM\J?X2M6$/8*<^JHH3)W!J2YP#CZW MH\[@+(9O6GI_;9Q;\94Z@Z/.X#R^!*VO#SJ[4.:*KY3#=4P.5UOOKVT0JOA* M.5R/$-.M70QHJI'#5_8( MM ,@+,5<2>9)*:IB NH(A(W1UML#=7YU"Z>2%#,5LT['P$RFWBRY2\C1,Y-R MH8[4A3+U]MI*=<5+RH6ZEW9*/S5U%"[489VJ>DYSN$ZCU]E$>K_ZU0_#UYKC M6?Z$:Z/ GVC^E >4O@K5":PC.H'U.,C<)YA>#?2!V7ZM#F#MNR!0'<"JUP&L MGFX:JAY0U0-6@ZWV7@]8DK8R>KK1-G>DKA1?5;8>L"1R,EN]7=!2C>H!%:/M MV"Y4!["J<0"K+ 6&-4U*?^V?K=3YJWJ=OS+T_MJVQXJOE+^E_*U'JRM3'PQ: M2E\I?ZL</W'RZ*,?HF$42,_03&' M&F%T.,F4TDZ(]U5!MII?I.87X>$$HZD.^BCG03D/KPR];:Q-62A>.%[W86V] MU_&Z#X=UT.890O,R&O,@23YHK\0YFM>ZYO%H9Z=G:GQVM-S3-4=P,+ ]4$=O M]ET+5H$SJ ?"D_L_^+Z36K*!.KA3B4(RQ92'WWVA+*>NO38CI)AR9U5H]:>U M7F=W16I'T<9!\>F.+=J:]\XK]U!1A05:618MTIYA*L;CHDG%'>K,U>&C]EJJN5Z>NU*DK;-B@ M][OK"G@5+R@7XEA<"$/O-==F,Q4S'*T+81C*A3CNM3-WF.^F5&U)$K=>1J6VS9;*[K?:>*;E0E7'78\F@JXS1-ML%W&-(W(V*WGJ:O7.NYO(]T\\TEZY MN0-591^>*E)%"ZC"]N.ARP] ][TL^V#5OF&QFSF*G5)'5]0ROUA"&O&(.6G) MH*X6)Y76,55O]M9E\)4]^,2:RWT33S48:97#52U&*DLE=?7N^E'TBI.>6+!Y M!-33;I8_B&O?8'N& /I!L5'YA\,.F!Y*5$BK\F6U%"E=?6"J,\C;.%FV;^*I M#"-5P,K=36>+CJ%<).4B*1?IF2Y22V^WU9DVY2(]B7K,9IG>=0U=)$H:_1@Q M6']9I)]#ZQ]Q&#FC>:'17JM;V,/BHL4O::K.W)PE]K3ZKV.NC7S7]6> :(T@ MJ84\"N'+(!IK?AQH9S[>''(;_Z+,(XO@PQ<>QBY- "N+-IR-\D?^07BPL9;/Z RX^"Y*WR:8;8UF9IUH[9:*UMU&@[MRN>[\,S1T!3"4B2SR3:W@P# MSKZ?S (;Z=^Z"#AO FX"Q1TRQ>>*2%-+TXN94,@PCCB"QLM6_/=+X^,1R@Z MV$OZ[S/3,SU#(:("B# ;O;46F$+$CA#Q4 ]9A0@EFHX+$2":%$=4 1'-![QT MA8@=(:+7&"C15 5$**NI(HA05E-%$ &B2>&A GA01E.YB'AD(?^#$:;=[;K_ M^ 2&Y;OXY3]>=%X\E?S:C?T>\5C(96!XE@<+\!H67C(3;##T79LBR 'GVD?X M81QJYY[-;>V?L! X_YA;NW'/>! MCV1>>+(2RDO VSVQF8U!I8[./YK:KIR[1]+:<_#C/@B2BFVVTYT?:JG]"*-I=*J5J.3E XM"\I[6T,T=],88GV, MAF+)P'DH%W?L7*%TA](=#Z:% MCIU)=JXZJAY(?.Q@>'CSF1]&6'Z=E%Z_XG>6&X?.+15EVQP0:SE4SZTQS];8 MQ(==_B6^",?^#/[E4Q:PB+MS;"%33<(J*HU0JCG*HW+&;P0(5,LKK&7O?>Q#Q((E?J0:E M&E2(?;_,<#<73K3B$5?% "^/IU ]6^@A'8NRH ML,WQ2.\C(>G#CMNHV/G1Q, CHOK8*$RP-L=C%[KE*R7,5)5 B]E&* PZ4J!"Z"J$_2/PM%4)7JD&% MT._1#.M&6ARP9JAS"/W=NG+TTN*,^QZQO(4#&65'=?8-(A7UV6WH?=_X+I\E MUGG-3Q+R^P:1"MV7&KK?-SJ5$E!*H#)*@"S\?:-;Z0"5.MAD/AG\KTO/?_6K M'X:O-<>S_ G71H$_T?QT.%&M8Z6;;JP.E#90V4 F#>Y1!34]CU3EA<($]0'D8:?QNBF-+C[<6&9%HF"7& M!"HEQI6T/E:Z+CV&EU1DHTHOCTO\UXT-MI!,/?S:2Q77 MKW']?3GE-$KN*[E_="7W@UI+_:/,(ERD9G^:2MA^:'3?:"^_51588?/H6'?+X;$]P*4 A@=GJBN-<03\\#35L*XY M70D:H&ZL40='I 1_HUJ4O[$FZ"A%H!1!^?F2:G'#T_1 N4.1#D4/D*'_8\1@ M797Q0$HGD#_B,')&\T7_P3!74XAX$/[]QHG@"99X](PCG0'R71ON^,)ON1?S MG:R;OG(\ %CTIM5==H1R&_GJPXJU0"P.G:& LY#;VG"NO32!+S18E.OXGJ[Y M@=9N_Z"+;DTO.ZU&,_D-;M.B,8?_!9QK$UC>.-0XO-[6_AE[7&LU=YG 4HB,;RX:F5OR'>F:]$L_ M=+#%V9N NS0T!9]>>"YA)O*G;X">B''AH]Q8VP ML25<%>F-:<"/HW^\^-O7 MR[-U]L5CWY*3DYX?3)A;D)/RJQS9(#Q11*&RT?R1=@97 R6%*:&S38B]B*I5 M&*B"'#ZUR6: 1VOOG(!;42KL;@)8PLM^)FZ%C$-1O*'XU%BH6?YDR@+X!:3; M)K):U^P P.-IT\"!50-$4-8"#\ZB,>*B/_@!7_^1VP[3O@9@4S*+NO?!5RR, M\4TC6.;9U]^H&S@"?Y/K0]]R0-!;8^9YW T;POQX"#A&J]$J0,<<9-!9+[57 MP6:]?G@0,N:C(-/O/0DPE3$@EC#T.?!O C:9 'M9RWCJ%_#4Z>V#BBVXWH%5 MX0@K?TH=ZP%O?AS 97SBQ),3N-R"GT]C>(F'^_@Y0%Q=L1&/YAB@C_&NAK;9 MMLVE;3=W39ZE;;EB='<53Z?N_.3*L?DBK2W '/3OEDDM [C$ , ]LU3C:<2^ M\P3J"3Q#V?P4$0$*"3A]0E)A"HZ?$^(A\&0,<=C0[M\L.)!%^=?;)H%M>Z,Y MG_,@7+LS/XQPO]+%TU[Q.\N-0P -?FNOFXRAA6-_!@#DKC][737?,-G7:K>K MW>@6:*YKI%Y7+R/'1_F&AIGI\4?XAN-L:=H,Z#E'G[!J>/ 8L 44!D0>>4AI ML"])CW)K)^$8;L#!WP%(O1L^03-3FSFHT8%B[Q/S\H&ACEPTXZZ+_Y4O"_U1 M- .N(I3[U,\AXM;8 _?E9BZ7 $N3P\7I-1E\;X%K *\-;3T*>@O^.>D5Z?AV MEOWS#?Q>TUSVSA]P>^L,_\.100 7.P;#^!T U/6G"$#M7!3]AE63*\E:[=Q: M98%RN"1DS*(6'^1".UG8YW%2IK,.P7"]-%8E\0&7/RRU6AG MVYF-'6L,'#!RP:,)B0(S,VWL$#\0ZX?PD\67R'4JP'A2 .,(-&L$@N,1,.YG MX%@,G\'&GQ(],P?+,*XSPD ['+3 MAO E^&XC#N] :73/Q:G$2O!T0.+GBKDS2EB7O8I[OHW+4R$65FOSU.1 TRXVK'(JJ3X_@%A@@13!D+8,A# MP@R]R)![%CW5P6"O1^8M4+VX()1N:8X# 9S,0];(]#R_1+F%I@FC!\ M/?"N#4)DS"*-619W<9X%^4.^0" ^SN6)[XW?7'R^U!=Q@M][\60(JX6K.-SB MSU%PS,8^F#@H'8#*'8R((A# L^ 5H#FG[$#?KIF:PG DZ M(+AAV/=S6& Q =/.[%"S\R0-TEJAHW>B008YU^5PR+^AJ>33TY-/'95\4LFG MVB6?RC3O/G!PLT&:H> YM8$N0! %M(7*VG3Y);/BDN_18DMA>K.?>4+]1T>F MI"(S'UTGL9$J>VGD5Y19.%&609):C864.T)3A#0-K@#TU90%64ARV30YPYBP M-Z>>4+VWH315LBC+@BI=92H)A9H/**TP2QZRR)*'I$ \7A/M"13=7C#,C%86 MI 4?XRD1PG9K.>SR?,L,5S,X!'+NY!RS)Y-S*V?<8@S382Z PA^-0K E 7&N M/UL5/- 1'+=@KOXOFTS?:F37(%UC9$)8BK['3R(0J@)61\LJ)2JA#=3C_3IH M:2CZZ>)0]"IHRK6CVQJ*.0A2/[2^0[+39% MO J&L)TH#C#M\AB0F/F8+H*DF8__/,Z+38H/MY&$>0Y JL)0Z="@\]S0H"KP MT.(T(\T)P?5W/ !_#K8HJ#X'#E;_!!Q@J[UG%KK3C@P,TVKYK>_>HI=?O&:> M!+0M%@0@&D'\!0XY)T[R;I30#6UI*3;/DVLSG[859/K41$KSJ=G:9$5$J"R* M F<84TDYT2E #./N\JE^'(41 IVPFPZOCRK#<\4A"8M4;BP0 9[V)>.KN1R0W(3:6?X)C\X? MZBOD<48I\)#8@S]=@(Q-[P$PYF7R&)/B%.3F=^(#,3MH*@$$V>#U(1C(R^[9 MP\,LD=WO@F&*QJ'W^"<]#(L4$C<@04,J?\Q!8,2<0-I^>1!18/4&^Y\,@9B!3S:8QT%<:Y.7@JBK,+?N" M?65W"6-KKWX&YW+D1*\KP]T;G<&20:<5C_4_%>>I_&;(0Y\0%J MS/OA8^2TG(!/:]D@WT!;[B1A4SYL5-[DZ7F3KLJ;J+S)8>=-GJ5'3TF.@%P[ M__GBZ[O3O:E.4NF%\@L!%BEVP@FP.S 0D">O$N!X(R,!FF*NF\.F'T]// MX%GBJ #7X;=<1/R2**#G>R=XA39R/+@'3Z!,Q*D4*H&RW)AC(%F8?*$AMKEAXZM^H]-:UR B)Q!SS_?A MF2.@I@1JR6]L8O"BT*+0HMFTJQOL)+]?#R4',Z MA9=]B3%#:?T*XJ6O^*62>%'\4EF\*+U?0;R '%O;IE/AY5EX>6PW^(>"8GL# MPA-:!EN^BU_^XT7GQ1.)TS0:O;W.!>BO2P2N!M^P\,[BX9&OE"3_*!+!YVDB M6'1Y:37UI-W+L(Q6JKMN-[T)*6W>C[>(@R58[IP4\1SR?L=[E$R+5\[=(REQ M2I-/)4'SR238;)C[G=Y4,@EB[4M)PNZ!:-]>U69IPNLYE(/6 M=ZTHIUEC-5DATADTS/V./:NRS%D?:E"4TZX9Y317&D0+_G'S'MN@ %4C ^O" MMNOG-FY06;8U.#5A2>,\J]C/P:KU Y+'$AS'$IP,VJ1GMX1 MD$MI$]WW+WXV&F-8WE34]152V]_NR^T.V%Y?:+3]*43KZ?_^88VFWNGVUXG% M$BF@0N)ROV-O]PZ+;3/#VKS5SD9R/9H=VGJSMVY"XZ'.5]]FRJ)TUMBWA[AE MWM@%YK>@*+KZP&SO1D]LF0#Z#^!_%R/BUR?V#Y_&=S#& M49!!E3EDS\["3CBD>L[!9AQBZLW^LE%U>-'U^^8BU"*Z?C\%'XWQW]9[1KM& M$>;24+KWG:A8^2/$+5CLZUQ899@?G.%5HFP^5#.[IYL=LTXXK0!55]9F/A[3 M6!^TEZFZ1F'VQ:DK*K)^K)%U\5>JV#ZL0;3NT<12Z]0H%G!H@[FO&KQLN^88I4,Q7UST:&Z#^W! M\=%*Q=BHLMZ&"LV;9JL&@?G+T0CN\6ZDLX$'9"\^7VH!9S:-VDZ CZ3_S="-%-]KK8DB'C7V5 M CC.%("IF^8R5==BEAJ[# MDXR^?1/*#H\1['NK^XE1*5?@21;_OHEEAUF(?6]U*Y,WS9J.E^W2*T[M/^(P MXK9V_O/%UW>GV\]1%&FD!31B^_'0Y97@AQU,G]W[_K?B/1NZT5^NI*M[3+]: MX:4E!^;(F&M)U]:$N8R.WNVHPQ#[#MY607;OD;V6_9Z:L%?;U ?-7;!7#1VB MR>O?;+7DOM4$_9J&7JS78=#%@N>DIK56[N3%V8ITTWKYZ(<&@#*3 )6 MKVJJU50S>.L1GZYW(@=6]A>6@ >F, MYDO AO\9_65B$Y>EZ10S1=.)RT<1 6U#"J0-I4Z+<#/ 87'9-.1ODC_>ED! MR6)SWT3^E#[2&DY<-O?CZ,W(N>/V*M!(FF\V$W.C<:1-XUCC4N&>#I_//V.-:JZEK9M,TX#8O=,)( M\T=:P.W8PF%JH1;YFLU'/ @6QJQIKL.(,AW87-64.R>2$+BN@/C\'_JT#)I;%5RVJ M:GAI:.\?J4=US<_A$F2(&]O\/KQDP-!8J,VXZ^)_EU0JOM]& 13% 4\[&#A]IYW?+<<-GT#(@Z$ M+MX;P%IM1WR&!T8,[KCX^J,U'W+8!SP%S&5MPJ((/L*+&-"?E3W[(PNL,0%$ M"<4]"D7[\(7BTBD,*>Y"9 0GF;4F?M0U:\R\&XX4.&).H-TR-T;>"GW+(6Z: M.=$8GX!D#:PH'@;X)-4>)EP##Y@ @$FD I_!4L'01=KVK+D6!0R,7S+Z"L'I+ 7 MO6EU"Q$86,GO7(N!\^TGTH?2>QC%;B:E_4 8"?!@QR<%(?]"JY0%3H@>I=02Q;7@ M4O'.;/6)M)<;P(\1D+F-FH(>()%+2BWV1MDU7-OTCQ[BP)S MS4:K\X.6^YO4XR(P)^SN) ;$'L15:LPL">Q__5!J3IF('A<9^)$0C*CW&<@Y.=D<8%$]5TA+,.Q M'[NV%%^IL2!,7)"SKH@(@$2%!X3Q$%87Q1$7XIEYXIDH':602T0H0_-^Z@>H M@$@6:[C2AG:%DZ$H&%%X.W MU8^B SG/$\, 9*++P=@6MCM:'CJRE,7",?SV9^P$TFT&KM*)CV9^\)W\4C8% M'G$UCW,[?*L<345W#]'=HMUO^_#B/!&2+2K)BEQ/VXF$.Q!HHY@",(LT>>_U MZ&<&X"G&\!O8YB#/Z1Y%J(I0GR0@G:71D9J,3B[+2O0*V3QW"U=TI^CN:72' M,C&-M#U(>1ZW>!ABS MH$)9WZU@\NQWC%@%0I3,%H0@4*N[Q1;#!YL/H+1K> MBE(5I3Y$JIKUD*';(4>3,WT9M_/OHGBOZPK/$AXW1#-AZ@+ R5=$ M3A'6@[XR_+ADAC!OOMH !C?3&B?/IF\WB2%O)[1?C,_T$S]2.N8G],VJ*JW6 MJFCS\DH*[Q/W'%;\^0)H!R"$9)BE!2>P*H>G\56X&9X58"H-,>Y:,5+F!I%A MV\$2"7@QTB]X3B+2JHNX <5QQ]P)9/!81']#"MQ.1"7#;1I-:&C_\>,DU)$6 M]_ D$1T68Q'#.7+/G(*T@0/[!5@F\IO6F@8Y@,XQ\$PK6;L5'WDPC*=3ERB: MN>Z\H>TDZIN7-4/?M7=+4$MO+RST5PWC1GWUP MH1 X9M;9+4MI4-P/E(,@2)#%&3E'XX T"TG@&^[A]7#!*/ GA7S.*87F"M48 M.O+AF-GB7OCU9:O5;+0TV*R;Z">/1XLA##W)J.!W<)?(-D:)[GF5Y5;PN:\U MEVJ@Y$6YA*).K^RV&MWDC:5RTO. _Q7DP!D)0)0A%@<9! KTYB;@-RAO$"S3 MP+JV>Y? M?9H1!P ';.9I0^8BN\BX-?Y"Y,-O??<6%WH65O M%^].C %XI?"6B6,AL!;@6"IAY5P?I C'6F<0+.[Q';C*VN70I9(M8/S* !^, MWDL@E"%0CZB'>T?'KW_#5\VU"\]JZ A8<(D#?Y84JGUT[#.?OK^)P3KU(HST M4W*;_"=9 [=6T.!SD ]0FGE@'.0H!W7TF+#HCB$/3% W@ 2.H[0&(I-F MGP,'A$OQX:)2IR( OO2T=R"_)P3AMGX?E$7-,FSY9;>?4UDRNYC?>Q:/$9#9 M5+0+#<,T3&3F'EU4-VR%2N'@N1#GP4V?@*MH*T8_V0K@<#9VP,M-'/"L[&4* MIB_P,_G>.2T-;^X:>K/91>D7AR)SRY(BGAA#3LGA!7B.]5TL+182,'F+O#35 MN'3E&+B0!UE"-WUELA+= D#)WRI#E"+6L\K<7]Z?4#B%;=V"7T&J'(TV]/E!>G,[ MK0"+O@#(]I@PX$E#9R.F2%^9_$IV:VO$P\THE+J M[!(&WB(@@@*5XCQ"&(&JI<\6& T>O+3@^) U@F<:Y-MH$5)TPD=B?6%+HC_% M1*0Q7\TMGH9WR: M_)P7U;IV@Z8IN!8,$RAW%Z MKA.743 EJ-S6NV&B3#W_?K$%6C=LWL4D [BRRPK&"86=.YG"-:@MA2'FNAE@ M-E:@*W1:F0KD$1[-&08VWH/JW9\O(^E_E%D (ML83S P^!?:D[$L3!KA0M.S M6J( .TSJFKF]Y>*\]7O8?;6>6"PN1"H)%'>6$)-%M93/&PF=M*SWHR!YJWR: M(1.G&W6YZK4;YMI64#D!G7L^<$Z 2$U DGRF'EQOA!*? 1 >5)ZYO'%Z*1N& MOAM'?,M*<^.^&\;F5)"SA9[9N,)LF HMU4.+T6BM;36E\+(?O S(5%=XJ1I> ME!BK)%J4&*LF7D",M15>MH:71[: ?= XKG\KN ?D][,!D-;!K8HYKH2("/LN M_UO8+#A<"(%_O.B\N&?C$P"9FQ"UV6IT]CLWY_%P^/OPWKJL%S]=.7?:1\KN M:^?+C7T2@ V?WAU9L<;666-]/'[+($D9R+R/@1XT,9J-[GYGM)7,4QCM*_*, M(IWGD4Y*)[62O9B77RE;%RRWYCV@+<"PE\)P8==*:->%\THR:![Z6QQ_7BUME7?I,LTESWPKYTY9K^ME@O+PS$Y? M-WL=Y>(I)MD!DQRJ1NVU5EB*A^?FG=-!2"S YW>R)\I<*Y?SPS M?LO<],QXXM5WON38T'+X[(54RBFV%PQ'M3>-U.< M_6:M_= +SPHXGLEWA-[4EY2FOJG6K*>177C+&>Q@&#CPU%^X>\MQ5_@&YH4G MRZ]Y3(GJ-DWT(E.V@"EM.AY93:[<01:ST@!YLA,\Z.G-YCH%KOA3\6?U^7/) MBJ@80)[*GWV].3!66Q);'U^VDZ//%6CP=9D61)T68^95Z!)QN7 ,/M>$L!#D MIP:;65]-QQNY,:=FF\.Y!DPVB\8+@\9\.4\/?L_F@:QJ%-C0+CP-1ULZV#(7 M^XA9ENCK)9HYTN%U1UJ$LF&"]T?LB0WM/NAY9Y<=5JC)<-:UP_,E6[!0]6'U([K9=O,&H<"C46BN0<1%P MVX/BY$?1=;4QR%V9=/C&%A%+_>;( M%K]ZR*3V:?']&4LF@_QLT9"TW>BDKX-'KVVMCNW+C-P>L/%+86RW\+9>]G); M0 [#9B@G@J?RH^0%RV!'=LT.G%ND8]E1[A%[U68<) Y+F5>V6*$1O(E4$#2"*[I/(9KC%QKXR+7^'&4L8V9NVH';&,VC,>PC='H MY2\?,IM&7R3$(?G&R!'A_OCF?JK6I1)EP<;*2D.)UDZA6^4B;R==,>EJ MX#N@.FP!/769;*&(L;AIUE?:3ZPYFJ 1^J-HAA:CS6^YZXOK2)-D<]@W$E,/ M[J.=$P\[W8?JS;C9L:)5O1D'JC(EM5&RBG M/^1]'Y32F?EEQR2F7YJ#0L>C,Y2[WYGZ2DJ#JWD>^'7SKUM-?2,G-6ZPGE[N; G9H'2$ZQ! M#3OA4J'8Q%1D8>TF@0YIPS9S-BR%3<3P Y<,O^3:\KOJ;]AQ$L>%X,#G4Q$Z MPKU_]ET<4B$,SG-@ ^SG71TV^\@\T%L(-53H1N]M.J(@S>4N *-'7 M-$F"TI@FO"P+O3FY:!?>#>+41F/?QK\H_TU31]ZG#[V*X N)<=&UG4:@T; % MLM?EM&R,S@5VUJU4#+S^2OWBN9A(E;:0#WENU6'Z@F1D1HB=VW&$"/9;Y0F* M9(?N,)Y,9:A+LE,Z:3OM^S^ZSPD2+KK5I!,".@Z2EN%@0M2D7;4-%""ZW$S ="U@8.]C^GD@5'Q@X&$,5WA<% MYAP?("(<,3D1!$>"13B**!DFPVB$"@M]3XP4$?UJ<1%_Q/:-G$(R!!]:3G4, M@KEH7.[&? W$Z#5BQ![*.V:C?&%31#N.WZ%H(ZU+3JVBL"7'IV93SK*-$VG" MOS>^Z 4/9-Q 91?3O!1!KQ-JNXNB*I7QA6>(QK?I=+0"28B9O(())+)PB@J- MU$ON@$72.X8\'1:ROV -<'Q^)GR&*H+[)!4&Q LB[CN=BN%L#F(KDVL9@,3@ MEI!(@@EBRZ:<.#B1 3!CIAV48P#7)NR/;P:+BEXMJ#8W&D:[2$A^>G\$\#&7)-5B*W<_N;YN5VNEGE;SW=WVHUE;^E_*U]^5M,<^Q_ MO+CF0[-E]EO]ZV[+'EVW>\WN-=CLQK71[;=Z9FMD-7N]%^*MXHX+$$>M?\78 MD3ZBAX$\@(^N_/0NT>KRIG)05>QPW>@]+.=/Q%5%'*]KP8/[DMW.WHC_YC=) M4B^W3>U=WGHAM?Z1!=_!6<%17FDKGTKMODJ9^T=K:0E=.5P6G.(\@T]UG!&_B2>0.7 MJ3<@1[V5J40K12M2Q@R,)FOUF7W=84;GNMTW>M>#9FMP/>H:+=8UVW;3MI9D M3!L%7^"[V+#G,P8=;.2UZ\$ 4&"6*EP>G,ZZF=AH-[1DR83Q;-&:D@?EUR$Y MA?<60GXO?CH7#I#T>#-9?1^&_OZCL^7=/-NXW'E==PEK/P.\>Q AYSH7? M1*0C=X7-0W@CC176N$2@3&D>?DV\)NS:39H>S@C M)UO+U?E9:F0$<9*6Q[U0P9N3U++13"8>;D#6SP:1&&>7"C7N< MYWA8/'KY-,Q0*@@)U!:DMID %A4R:,2G$GR5/$V2*]$XBQ_"K>P[BONLF-7! MX(LG@O+X-@T;W.=BREF,&!C$"IPA)LLX$%-#^\6?\5NDKY+)%8=0%B&CXW91 M.*1S+'%7./ L$F*AC WJ8OCRYGD&(8R G<'?!?$5 &=]H8=I(^;@IRE@2P*% MAJ*EJY3#X4"7%A,C20!"OR1C^G/*+MW MB^DIK/[/! ?3O)BF/E.J?(21>X^B]TGV34I081T(XRJM8%RRH!=E#L1E6%LP M0@$C$F%R9J,GQD9/ QSVJ+E8+T;OY=;86TQQ?/?\&1@X-SS+NL%BP+OPH@1> M^5RJ3$7B4B1JSOP)T-;\?__6&H !MW%"-P7F>HD?SD.X<14^&MKI\HUDD&6@ MG>MHVS*TR8:PEBBMH\A KXN2OHWU"J7U"%0BMT0OS.5 0>PG;"@AFJURXH1I M6I?2GU1R2\"3]B_S/$Q+^E+5.9/5.>N9 QH(K8:AX 6A*. NFT?I$'26F(@R MY:D$52GZ8BDP^@4^VK(L^WPT0J=!Z86-E_J[3,^BVR0.<4V F<@V!O$32-CR M#8Q$6;*>W"W]16WL4/HX-WY7L)1(;^23O3P )O9 5I(4!>GI!_G*B.2H6%8? MA4(<(SKR$-9(F\9#(!/)U4G>>*78S9ZKBR-61%.B> WLT, ^P0?/8B..57Z!$S4F)Z7IZ5$)!*90/LX.-_VT*IP#%6%HZIP#OO4PU,LS405 MSD3IJJQ5!?5W0Q92Y,]8@#;A&*Y:J696R31YL'\YUBL,TL2T2D0IOC@2+\8_ MPWCX![9KQ"I$J2!#[CE42;O@_%.J;<9!$F.%)990DM6,:1M.@C5$Q%(Q;-Y! M3(Z?)6%8<,"Y,/'P6$#$I^'"LNCF48SU) _KI$<+>C0EW51UHJGL4UJ)$I=EN?ET4/F[3J(> M^#*/HS6+-54\OZ %6XK,_6ROZ,IGF)66!:$5:ZB1=N_+ F^.&3*^L/Q=$,42 M(#!4Y*T$!WHSM!$,R:E(0RF1AK/LG+6*1Y>_U/,[BT\C2K:A,)PY%))-[< MAATOJ1_'@TY@%LN\[Z,EGL@'DJF-.=GLS(;T2"R\,W7]5Z2@Z &826Y%6 M;7#P,6\O6?Z-!X]*SA*EE"[R";H\" )LH(W]F3"JTJ(1&<1*0G(Z10/DZ5+ M'YE%2;R?LME:,OM=7Q4N*+XZ#1O[9/GSC#4,@OI$C(I>I+4N/'?+T M ":7A]CW!R]RW1Y [ M@15/;G,18=P'>%R.'5-$5B M]$5=54@'S[ 1C>^Z<9C8QC.?7N5CMS3N3Y%8 MX3-C/+$^ KE$#"=9^?(&"BN8OO$4&Q9*2B@5WBW"/J6="8<8 Y ]0 M)R%0B#:X!6C_YI"9:X"3G?O3J'PC.=+)P9^47=( \4YV0)6T?G*HS"^4]=$1 M1([ZVL=V_4FTNVI![WT735>S#CRI&O9\C[]]W/ZHS#@WZGH+&\Q F 6?GK+= M0XMRFBK*68$H9])H((>9M:=+/I]^^:I=7%!UD&&^U2Z__G+^1;OX]/[RR\?3 MKQ>7G[*A\>4Q[P>M,WF->^:@UZGU[0,BQ6.ZN * M+RYH7;EE79O=MFD6+L2#,L:O_(:YGT4+$4!>>-WJ]MJMYFZ/\RR+@[7]8O)G M?(R&1EO0FBTL@G>9 *@+$ M?NR"Q\$=BM!F-A\VA@F2)!F[N<%B;_0WR.K-E1@Q&^/ 22@P:?4P!*,0C2)] M9>,./]\<-@F?ZO(,(9;NH[$$_]71*G.\6]^]%35\RWM@8%#ELGDBQP"OB@-A M.R4+$::Y'T=)Q\;E1SEX/'$*_H=CB0YJ:!JBD22V[*5;%4UN%[>J^2N[E-3] MV"'K,*O?,]EUJ]UAUVV;=ZX'=@M$6XOWAKUNISML]I=%U"F68,H*S.M>WQP, MRA5/S^I0E9-$IPTM7RQ:9G2J'&1^W:S?1.IZ)(U5LLBCY)RD_C5R(CQ^LJ92 M=NE4;]U)O-GNC;HM4-<<%/1UVVSQ:V:WVJ"S#:O5-.UVVS:62-S\YH'(Q.:J M(%&NL!VW/SK_,X977G&0T>3_5Y'DS8:67[E&2T>!*1:O9:LG^?A-B%FIJ