0001558370-24-010381.txt : 20240730 0001558370-24-010381.hdr.sgml : 20240730 20240730161542 ACCESSION NUMBER: 0001558370-24-010381 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 81 CONFORMED PERIOD OF REPORT: 20240630 FILED AS OF DATE: 20240730 DATE AS OF CHANGE: 20240730 FILER: COMPANY DATA: COMPANY CONFORMED NAME: DoubleVerify Holdings, Inc. CENTRAL INDEX KEY: 0001819928 STANDARD INDUSTRIAL CLASSIFICATION: SERVICES-COMPUTER PROGRAMMING, DATA PROCESSING, ETC. [7370] ORGANIZATION NAME: 06 Technology 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: 241157600 BUSINESS ADDRESS: STREET 1: 462 BROADWAY CITY: NEW YORK STATE: NY ZIP: 10013 BUSINESS PHONE: 212-631-2111 MAIL ADDRESS: STREET 1: 462 BROADWAY CITY: NEW YORK STATE: NY ZIP: 10013 10-Q 1 dv-20240630x10q.htm 10-Q
0001819928--12-312024Q2false00P1Y300000P2Y10001819928us-gaap:OperatingLeaseLeaseNotYetCommencedMember2024-06-3000018199282024-07-302024-07-300001819928dvh:ShareRepurchaseProgramMemberus-gaap:SubsequentEventMember2024-07-302024-07-300001819928dvh:ShareRepurchaseProgramMemberus-gaap:CommonStockMember2024-04-012024-06-3000018199282024-07-300001819928dvh:ShareRepurchaseProgramMemberus-gaap:CommonStockMember2024-06-300001819928us-gaap:CommonStockMember2024-01-012024-03-310001819928us-gaap:CommonStockMember2023-01-012023-03-310001819928us-gaap:CommonStockMember2024-04-012024-06-300001819928us-gaap:CommonStockMember2023-04-012023-06-300001819928us-gaap:RetainedEarningsMember2024-06-300001819928us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember2024-06-300001819928us-gaap:AdditionalPaidInCapitalMember2024-06-300001819928us-gaap:RetainedEarningsMember2024-03-310001819928us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember2024-03-310001819928us-gaap:AdditionalPaidInCapitalMember2024-03-3100018199282024-03-310001819928us-gaap:RetainedEarningsMember2023-12-310001819928us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember2023-12-310001819928us-gaap:AdditionalPaidInCapitalMember2023-12-310001819928us-gaap:RetainedEarningsMember2023-06-300001819928us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember2023-06-300001819928us-gaap:AdditionalPaidInCapitalMember2023-06-300001819928us-gaap:RetainedEarningsMember2023-03-310001819928us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember2023-03-310001819928us-gaap:AdditionalPaidInCapitalMember2023-03-3100018199282023-03-310001819928us-gaap:RetainedEarningsMember2022-12-310001819928us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember2022-12-310001819928us-gaap:AdditionalPaidInCapitalMember2022-12-310001819928us-gaap:TreasuryStockCommonMember2024-06-300001819928us-gaap:CommonStockMember2024-06-300001819928us-gaap:TreasuryStockCommonMember2024-03-310001819928us-gaap:CommonStockMember2024-03-310001819928us-gaap:TreasuryStockCommonMember2023-12-310001819928us-gaap:CommonStockMember2023-12-310001819928us-gaap:TreasuryStockCommonMember2023-06-300001819928us-gaap:CommonStockMember2023-06-300001819928us-gaap:TreasuryStockCommonMember2023-03-310001819928us-gaap:CommonStockMember2023-03-310001819928us-gaap:TreasuryStockCommonMember2022-12-310001819928us-gaap:CommonStockMember2022-12-3100018199282023-01-012023-12-310001819928dvh:PerformanceAndMarketBasedSharesMember2024-06-300001819928dvh:PerformanceAndMarketBasedSharesMember2024-01-012024-06-300001819928dvh:EquityIncentiveProgramMember2024-01-012024-06-300001819928us-gaap:RestrictedStockUnitsRSUMember2024-06-300001819928us-gaap:PerformanceSharesMember2024-06-300001819928us-gaap:RestrictedStockUnitsRSUMember2023-12-310001819928us-gaap:PerformanceSharesMember2023-12-310001819928us-gaap:RestrictedStockUnitsRSUMember2024-01-012024-06-300001819928us-gaap:EmployeeStockOptionMember2024-01-012024-06-300001819928us-gaap:PerformanceSharesMember2024-01-012024-06-300001819928srt:MinimumMember2024-07-012024-06-300001819928srt:MaximumMember2024-07-012024-06-300001819928dvh:SupplySideCustomerMember2024-04-012024-06-300001819928dvh:MeasurementMember2024-04-012024-06-300001819928dvh:ActivationMember2024-04-012024-06-300001819928dvh:SupplySideCustomerMember2024-01-012024-06-300001819928dvh:MeasurementMember2024-01-012024-06-300001819928dvh:ActivationMember2024-01-012024-06-300001819928dvh:SupplySideCustomerMember2023-04-012023-06-300001819928dvh:MeasurementMember2023-04-012023-06-300001819928dvh:ActivationMember2023-04-012023-06-300001819928dvh:SupplySideCustomerMember2023-01-012023-06-300001819928dvh:MeasurementMember2023-01-012023-06-300001819928dvh:ActivationMember2023-01-012023-06-300001819928us-gaap:SoftwareAndSoftwareDevelopmentCostsMember2024-06-300001819928us-gaap:LeaseholdImprovementsMember2024-06-300001819928us-gaap:FurnitureAndFixturesMember2024-06-300001819928us-gaap:SoftwareAndSoftwareDevelopmentCostsMember2023-12-310001819928us-gaap:LeaseholdImprovementsMember2023-12-310001819928us-gaap:FurnitureAndFixturesMember2023-12-310001819928us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember2024-04-012024-06-300001819928us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember2024-01-012024-03-310001819928us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember2023-04-012023-06-300001819928us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember2023-01-012023-03-310001819928us-gaap:RetainedEarningsMember2024-04-012024-06-300001819928us-gaap:RetainedEarningsMember2024-01-012024-03-310001819928us-gaap:RetainedEarningsMember2023-04-012023-06-300001819928us-gaap:RetainedEarningsMember2023-01-012023-03-310001819928us-gaap:RevolvingCreditFacilityMember2024-06-300001819928us-gaap:RevolvingCreditFacilityMember2023-12-310001819928us-gaap:LetterOfCreditMember2020-10-010001819928srt:MinimumMember2020-10-012020-10-010001819928srt:MaximumMember2020-10-012020-10-010001819928srt:MinimumMember2024-06-300001819928srt:MaximumMember2024-06-300001819928us-gaap:USTreasurySecuritiesMember2024-06-300001819928us-gaap:PropertyPlantAndEquipmentMember2024-01-012024-06-300001819928us-gaap:PropertyPlantAndEquipmentMember2023-01-012023-06-300001819928us-gaap:TrademarksAndTradeNamesMember2024-06-300001819928us-gaap:NoncompeteAgreementsMember2024-06-300001819928us-gaap:DevelopedTechnologyRightsMember2024-06-300001819928us-gaap:CustomerRelationshipsMember2024-06-300001819928us-gaap:TrademarksAndTradeNamesMember2023-12-310001819928us-gaap:NoncompeteAgreementsMember2023-12-310001819928us-gaap:DevelopedTechnologyRightsMember2023-12-310001819928us-gaap:CustomerRelationshipsMember2023-12-310001819928us-gaap:ComputerEquipmentMember2024-06-300001819928us-gaap:ComputerEquipmentMember2023-12-310001819928us-gaap:RevolvingCreditFacilityMember2020-10-010001819928us-gaap:RevolvingCreditFacilityMemberus-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember2023-03-292023-03-290001819928us-gaap:RevolvingCreditFacilityMemberus-gaap:BaseRateMember2023-03-292023-03-2900018199282022-12-310001819928us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2024-06-300001819928dvh:MoneyMarketFundsAndTimeDepositsMemberus-gaap:FairValueInputsLevel1Member2024-06-300001819928us-gaap:FairValueMeasurementsRecurringMember2024-06-300001819928us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2023-12-310001819928dvh:MoneyMarketFundsAndTimeDepositsMemberus-gaap:FairValueInputsLevel1Member2023-12-310001819928us-gaap:FairValueMeasurementsRecurringMember2023-12-3100018199282023-06-300001819928dvh:ScibidsTechnologySasMember2024-04-012024-06-300001819928dvh:DoubleverifyInc.Member2017-08-180001819928us-gaap:SellingAndMarketingExpenseMember2024-04-012024-06-300001819928us-gaap:ResearchAndDevelopmentExpenseMember2024-04-012024-06-300001819928us-gaap:GeneralAndAdministrativeExpenseMember2024-04-012024-06-300001819928dvh:EmployeeStockPurchasePlan2021Member2024-04-012024-06-300001819928us-gaap:SellingAndMarketingExpenseMember2024-01-012024-06-300001819928us-gaap:ResearchAndDevelopmentExpenseMember2024-01-012024-06-300001819928us-gaap:GeneralAndAdministrativeExpenseMember2024-01-012024-06-300001819928dvh:EmployeeStockPurchasePlan2021Member2024-01-012024-06-300001819928us-gaap:SellingAndMarketingExpenseMember2023-04-012023-06-300001819928us-gaap:ResearchAndDevelopmentExpenseMember2023-04-012023-06-300001819928us-gaap:GeneralAndAdministrativeExpenseMember2023-04-012023-06-300001819928dvh:EmployeeStockPurchasePlan2021Member2023-04-012023-06-300001819928us-gaap:SellingAndMarketingExpenseMember2023-01-012023-06-300001819928us-gaap:ResearchAndDevelopmentExpenseMember2023-01-012023-06-300001819928us-gaap:GeneralAndAdministrativeExpenseMember2023-01-012023-06-300001819928dvh:EmployeeStockPurchasePlan2021Member2023-01-012023-06-300001819928us-gaap:AdditionalPaidInCapitalMember2024-04-012024-06-300001819928us-gaap:AdditionalPaidInCapitalMember2024-01-012024-03-310001819928us-gaap:AdditionalPaidInCapitalMember2023-04-012023-06-300001819928us-gaap:AdditionalPaidInCapitalMember2023-01-012023-03-310001819928dvh:ShareRepurchaseProgramMember2024-05-160001819928us-gaap:TreasuryStockCommonMember2024-04-012024-06-300001819928us-gaap:TreasuryStockCommonMember2024-01-012024-03-3100018199282024-01-012024-03-310001819928us-gaap:TreasuryStockCommonMember2023-04-012023-06-300001819928us-gaap:TreasuryStockCommonMember2023-01-012023-03-3100018199282023-01-012023-03-310001819928dvh:SupplySideCustomerMember2024-06-3000018199282024-04-012024-06-3000018199282023-04-012023-06-3000018199282023-01-012023-06-3000018199282024-06-3000018199282023-12-3100018199282024-07-2200018199282024-01-012024-06-30xbrli:sharesiso4217:USDxbrli:pureiso4217: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, 2024

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)

462 Broadway

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 22, 2024, there were 170,044,811 shares of the registrant’s common stock, par value $0.001 per share, outstanding.

 

 

DoubleVerify Holdings, Inc.

Quarterly Report on Form 10-Q

For the Quarter Ended June 30, 2024

TABLE OF CONTENTS

0

`

    

    

    

    

 

Part I

FINANCIAL INFORMATION (Unaudited)

    

    

Page

Item 1.

Condensed Consolidated Financial Statements

4

Condensed Consolidated Balance Sheets as of June 30, 2024 and December 31, 2023

4

Condensed Consolidated Statements of Operations and Comprehensive Income for the three and six months ended June 30, 2024 and 2023

5

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

6

Condensed Consolidated Statements of Cash Flows for the six months ended June 30, 2024 and 2023

7

Notes to Condensed Consolidated Financial Statements

8

Item 2.

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

22

Item 3.

Quantitative and Qualitative Disclosures about Market Risk

31

Item 4.

Controls and Procedures

31

Part II

OTHER INFORMATION

Item 1.

Legal Proceedings

32

Item 1A.

Risk Factors

32

Item 2.

Unregistered Sales of Equity Securities and Use of Proceeds

32

Item 3.

Defaults Upon Senior Securities

32

Item 4.

Mine Safety Disclosures

32

Item 5.

Other Information

32

Item 6.

Exhibits

33

Signatures

34

2

Special Note Regarding 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,” “plan,” “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 Annual Report on Form 10-K for the year ended December 31, 2023 and filed with the Securities and Exchange Commission (“SEC”), on February 28, 2024, 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 this report. 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 and in the Annual Report on Form 10-K for the year ended December 31, 2023. We undertake no obligation to publicly update or revise any 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 Suitability,” “DV Pinnacle” and other trademarks of ours appearing in this report are our property and we deem them 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.

3

Table of Contents

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, 2024

December 31, 2023

Assets:

 

  

 

  

Current assets

 

  

 

  

Cash and cash equivalents

$

256,066

$

310,131

Short-term investments

82,754

Trade receivables, net of allowances for doubtful accounts of $9,564 and $9,442 as of June 30, 2024 and December 31, 2023, respectively

187,761

206,941

Prepaid expenses and other current assets

 

32,977

 

15,930

Total current assets

 

559,558

 

533,002

Property, plant and equipment, net

 

64,521

 

58,020

Operating lease right-of-use assets, net

66,155

60,470

Goodwill

 

431,496

 

436,008

Intangible assets, net

 

125,420

 

140,883

Deferred tax assets

 

23,766

 

13,077

Other non-current assets

 

1,727

 

1,571

Total assets

$

1,272,643

$

1,243,031

Liabilities and Stockholders' Equity:

 

Current liabilities

 

Trade payables

$

10,604

$

12,932

Accrued expenses

 

44,136

 

44,264

Operating lease liabilities, current

10,113

9,029

Income tax liabilities

 

832

 

5,833

Current portion of finance lease obligations

 

2,393

 

2,934

Other current liabilities

 

11,447

 

8,863

Total current liabilities

 

79,525

 

83,855

Operating lease liabilities, non-current

76,265

71,563

Finance lease obligations

 

1,844

 

2,865

Deferred tax liabilities

 

7,031

 

8,119

Other non-current liabilities

 

2,815

 

2,690

Total liabilities

167,480

169,092

Commitments and contingencies (Note 15)

 

Stockholders’ equity

 

Common stock, $0.001 par value, 1,000,000 shares authorized, 172,634 shares issued and 171,244 outstanding as of June 30, 2024; 1,000,000 shares authorized, 171,168 shares issued and 171,146 outstanding as of December 31, 2023

173

171

Additional paid-in capital

926,062

878,331

Treasury stock, at cost, 1,390 shares and 22 shares as of June 30, 2024 and December 31, 2023, respectively

(25,443)

(743)

Retained earnings

 

213,613

 

198,983

Accumulated other comprehensive loss, net of income taxes

 

(9,242)

 

(2,803)

Total stockholders’ equity

 

1,105,163

 

1,073,939

Total liabilities and stockholders' equity

$

1,272,643

$

1,243,031

See accompanying Notes to unaudited Condensed Consolidated Financial Statements.

4

DoubleVerify Holdings, Inc.

CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME (UNAUDITED)

Three Months Ended June 30, 

Six Months Ended June 30, 

(in thousands, except per share data)

    

2024

    

2023

    

2024

    

2023

Revenue

$

155,890

$

133,744

$

296,672

$

256,338

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

 

26,102

26,191

 

52,720

 

50,143

Product development

 

39,806

31,941

 

76,200

 

60,496

Sales, marketing and customer support

 

44,863

31,537

 

82,735

 

57,249

General and administrative

 

23,066

19,755

 

45,141

 

39,943

Depreciation and amortization

 

11,004

9,676

 

21,932

 

18,659

Income from operations

 

11,049

 

14,644

 

17,944

 

29,848

Interest expense

 

233

247

 

465

503

Other income, net

 

(2,064)

(2,476)

 

(4,336)

(5,210)

Income before income taxes

 

12,880

16,873

 

21,815

 

34,555

Income tax expense

 

5,406

4,034

 

7,185

9,541

Net income

$

7,474

$

12,839

$

14,630

$

25,014

Earnings per share:

 

 

Basic

$

0.04

$

0.08

$

0.09

$

0.15

Diluted

$

0.04

$

0.07

$

0.08

$

0.15

Weighted-average common stock outstanding:

 

 

 

 

Basic

 

171,628

166,540

171,467

166,088

Diluted

 

175,961

172,488

176,850

172,129

Comprehensive income:

 

 

Net income

$

7,474

$

12,839

$

14,630

$

25,014

Other comprehensive (loss) income:

 

 

Foreign currency cumulative translation adjustment

 

(1,814)

 

(377)

 

(6,439)

 

816

Total comprehensive income

$

5,660

$

12,462

$

8,191

$

25,830

See accompanying Notes to unaudited Condensed Consolidated Financial Statements.

5

DoubleVerify Holdings, Inc.

CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS’ EQUITY (UNAUDITED)

Accumulated

    

Other

Comprehensive

Additional

(Loss) Income

Total

Common Stock

Treasury Stock

Paid-in

Retained

Net of

Stockholders’

(in thousands)

  

Shares

  

Amount

  

Shares

  

Amount

  

Capital

  

Earnings

  

Income Taxes

  

Equity

Balance as of January 1, 2024

171,168

$

171

22

$

(743)

$

878,331

$

198,983

$

(2,803)

$

1,073,939

Foreign currency translation adjustment

 

 

 

 

 

(4,625)

 

(4,625)

Shares repurchased for settlement of employee tax withholdings

48

(1,792)

(1,792)

Stock-based compensation expense

 

 

 

20,718

 

 

 

20,718

Common stock issued upon exercise of stock options

153

1,695

1,695

Common stock issued upon vesting of restricted stock units

435

 

1

 

 

(1)

 

 

 

Treasury stock reissued upon settlement of equity awards

(38)

1,389

(1,389)

Net income

 

 

 

 

7,156

 

 

7,156

Balance as of March 31, 2024

171,756

172

32

(1,146)

899,354

206,139

(7,428)

1,097,091

Foreign currency translation adjustment

(1,814)

(1,814)

Shares repurchased for settlement of employee tax withholdings

30

(660)

(660)

Stock-based compensation expense

25,315

25,315

Common stock issued under employee purchase plan

124

1,914

1,914

Common stock issued upon exercise of stock options

126

870

870

Common stock issued upon vesting of restricted stock units

628

1

(1)

Shares repurchased under the Repurchase Program

1,369

(25,027)

(25,027)

Treasury stock reissued upon settlement of equity awards

(41)

1,390

(1,390)

Net income

7,474

7,474

Balance as of June 30, 2024

172,634

$

173

1,390

$

(25,443)

$

926,062

$

213,613

$

(9,242)

$

1,105,163

Balance as of January 1, 2023

165,448

$

165

31

$

(796)

$

756,299

$

127,517

$

(6,326)

$

876,859

Foreign currency translation adjustment

 

 

 

 

 

1,193

 

1,193

Shares repurchased for settlement of employee tax withholdings

 

30

 

(787)

 

 

 

 

(787)

Stock-based compensation expense

 

 

 

11,992

 

 

 

11,992

Common stock issued upon exercise of stock options

527

1

1,765

1,766

Common stock issued upon vesting of restricted stock units

182

Treasury stock reissued upon settlement of equity awards

(35)

914

(914)

Net income

 

 

 

 

12,175

 

 

12,175

Balance as of March 31, 2023

166,157

166

26

(669)

769,142

139,692

(5,133)

903,198

Foreign currency translation adjustment

(377)

(377)

Shares repurchased for settlement of employee tax withholdings

57

(1,966)

(1,966)

Stock-based compensation expense

15,399

15,399

Common stock issued under employee purchase plan

49

1,138

1,138

Common stock issued upon exercise of stock options

711

1

3,990

3,991

Common stock issued upon vesting of restricted stock units

333

Treasury stock reissued upon settlement of equity awards

(67)

2,107

(2,107)

Net income

12,839

12,839

Balance as of June 30, 2023

167,250

$

167

16

$

(528)

$

787,562

$

152,531

$

(5,510)

$

934,222

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)

    

2024

    

2023

Operating activities:

 

  

 

  

Net income

$

14,630

$

25,014

Adjustments to reconcile net income to net cash provided by operating activities

 

Bad debt expense

 

1,453

 

3,706

Depreciation and amortization expense

 

21,932

 

18,659

Amortization of debt issuance costs

 

147

 

147

Non-cash lease expense

3,191

3,293

Deferred taxes

 

(11,530)

 

(16,639)

Stock-based compensation expense

 

44,956

 

26,980

Interest (income) expense, net

 

(784)

 

25

Loss on disposal of fixed assets

5

Other

1,582

209

Changes in operating assets and liabilities

 

Trade receivables

 

16,397

 

(12,214)

Prepaid expenses and other assets

 

(17,208)

 

(11,168)

Trade payables

 

(2,076)

 

2,126

Accrued expenses and other liabilities

 

(5,035)

 

(7,979)

Net cash provided by operating activities

 

67,655

 

32,164

Investing activities:

 

 

Purchase of property, plant and equipment

 

(13,558)

 

(7,671)

Purchase of short-term investments

(81,937)

Net cash used in investing activities

 

(95,495)

 

(7,671)

Financing activities:

 

 

Proceeds from revolving credit facility

50,000

Payments to revolving credit facility

(50,000)

Proceeds from common stock issued upon exercise of stock options

2,565

5,757

Proceeds from common stock issued under employee purchase plan

1,914

1,138

Finance lease payments

(1,562)

(1,028)

Shares repurchased under the Repurchase Program

(25,027)

Shares repurchased for settlement of employee tax withholdings

(2,452)

(2,753)

Net cash (used in) provided by financing activities

 

(24,562)

 

3,114

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

 

(850)

 

15

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

 

(53,252)

 

27,622

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

 

310,257

 

267,938

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

$

257,005

$

295,560

Cash and cash equivalents

$

256,066

$

295,437

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

 

939

 

123

Total cash and cash equivalents and restricted cash

$

257,005

$

295,560

Supplemental cash flow information:

 

 

Cash paid for taxes

$

29,491

$

41,284

Cash paid for interest

$

350

$

389

Non-cash investing and financing activities:

 

 

Right-of-use assets obtained in exchange for new operating lease liabilities, net of impairments and tenant improvement allowances

$

9,211

$

1,261

Acquisition of equipment under finance lease

$

$

5,479

Capital assets financed by accounts payable and accrued expenses

$

18

$

480

Stock-based compensation included in capitalized software development costs

$

1,064

$

411

See accompanying Notes to unaudited Condensed Consolidated Financial Statements.

7

Table of Contents

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 Holdings, Inc. (the “Company”) is one of the industry’s leading media effectiveness platforms that leverages artificial intelligence (“AI”) to drive superior outcomes for global brands. By creating more effective, transparent ad transactions, we make the digital advertising ecosystem stronger, safer and more secure, thereby preserving the fair value exchange between buyers and sellers of digital media. The Company’s solutions provide advertisers unbiased data analytics that enable advertisers to increase the effectiveness, quality and return on their digital advertising investments. The DV Authentic Ad is our proprietary metric of digital media quality, which measures whether a digital ad was delivered in a brand suitable environment, fully viewable, by a real person and in the intended geography. The Company’s software interface, DV Pinnacle, delivers these metrics to our customers in real time, allowing them to access critical performance data on their digital transactions. The Company’s software solutions are integrated across the entire digital advertising ecosystem, including programmatic platforms, 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 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., (the “Acquisition”) 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 is headquartered in New York, New York and has wholly-owned subsidiaries in numerous jurisdictions, including Israel, the United Kingdom, the United Arab Emirates, Germany, Singapore, Australia, Canada, Brazil, Belgium, Mexico, France, Japan, Spain, Finland, Italy and India, and operates in one reportable segment.  

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, 2024 and December 31, 2023, the Condensed Consolidated Statements of Operations and Comprehensive Income for the three and six months ended June 30, 2024 and 2023, the Condensed Consolidated Statements of Stockholders’ Equity for the three and six months ended June 30, 2024 and 2023, and the Condensed Consolidated Statements of Cash Flows for the six months ended June 30, 2024 and 2023 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 Company’s audited consolidated financial statements and related notes included in its Annual Report on Form 10-K for the year ended December 31, 2023.

8

Table of Contents

DoubleVerify Holdings, Inc.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)

(Amounts in thousands, except per share data, unless otherwise stated)

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 including, 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, assumptions in valuing acquired assets and liabilities assumed in business combinations, 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.

Short-term Investments

Debt Securities

The Company’s accounting for debt securities varies depending on the legal form of the security, our intended holding period for the security, and the nature of the transaction. Investments in marketable debt securities include U.S. treasury bills. The Company considers all of its marketable debt securities as available for use in current operations and, therefore, classifies these securities as Short-term investments on the Condensed Consolidated Balance Sheets. Marketable debt securities are classified as available-for-sale and are initially recorded at fair value. Unrealized gains and losses related to available-for-sale debt securities are recorded as a separate component of Other comprehensive (loss) income, net of tax on the Condensed Consolidated Statements of Operations and Comprehensive Income until realized. Interest on marketable debt securities classified as available-for-sale is included as a component of Other income, net on the Condensed Consolidated Statements of Operations and Comprehensive Income. Refer to Footnote 8, Fair Value Measurement, for further information.

The Company accounts for credit losses on available-for-sale debt securities in accordance with ASC 326, “Financial Instruments - Credit Losses” (“ASC 326”). The Company uses ASC 326 to assess the investment portfolio for impairment at the individual security level and evaluates all securities in an unrealized loss position to determine if the impairment is credit related (realized loss recorded in earnings) or non-credit related (unrealized loss).

Recently Issued Accounting Pronouncements

Segment Reporting – Improvements to Reportable Segment Disclosures

In November 2023, the FASB issued Accounting Standards Update (“ASU”) No. 2023-07, “Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures”, which expands annual and interim disclosure requirements for reportable segments, primarily through enhanced disclosures about significant segment expenses. The updated standard is effective for fiscal years beginning after December 15, 2023 and interim periods within fiscal years beginning after December 15, 2024. Early adoption is permitted and the update requires retrospective application to all prior periods presented. The Company is currently in the process of evaluating the impact of this standard on the Company’s Condensed Consolidated Financial Statements.

9

Table of Contents

DoubleVerify Holdings, Inc.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)

(Amounts in thousands, except per share data, unless otherwise stated)

Income Taxes – Improvements to Income Tax Disclosures

In December 2023, the FASB issued ASU No. 2023-09, “Income Taxes (Topic 740): Improvements to Income Tax Disclosures” (“ASU 2023-09”), which expands annual disclosure requirements related to the rate reconciliation and income taxes paid disclosures. ASU 2023-09 requires consistent categories and greater disaggregation of information in the rate reconciliation and income taxes paid to be disaggregated by jurisdiction. The updated standard is effective for fiscal years beginning after December 15, 2024. Early adoption is permitted and the update may be applied on a prospective basis with retrospective application permitted. The Company is currently in the process of evaluating the impact of this standard on the Company’s Condensed Consolidated Financial Statements.

3.     Revenue

The following table disaggregates revenue between advertiser customers, where revenue is generated based on the number of ads measured for Measurement or measured and purchased for Activation, 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 was as follows:

Three Months Ended

    

Six Months Ended

June 30, 

June 30, 

(in thousands)

    

2024

    

2023

    

2024

    

2023

Activation

$

87,471

$

77,942

$

166,793

$

147,834

Measurement

 

54,817

 

44,989

 

104,092

 

86,374

Supply-side customer

 

13,602

 

10,813

 

25,787

 

22,130

Total revenue

$

155,890

$

133,744

$

296,672

$

256,338

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 $54.6 million and $55.0 million as of June 30, 2024 and December 31, 2023, respectively.

Remaining Performance Obligations

As of June 30, 2024, the Company had $16.9 million of remaining performance obligations which are expected to be recognized over the next one to three years. These non-cancelable supply-side arrangements have original expected durations longer than one year and for which the consideration is not variable. These obligations relate primarily to the Company’s supply-side revenue which represented $25.8 million, or 8.7% of the Company’s total revenue for the six months ended June 30, 2024. The vast majority of the Company’s revenue is derived primarily from our advertising customers and partners based on the volume of media transactions, or ads, that our software platform measures, and not from supply-side arrangements. In determining the remaining performance obligations, the Company applied the allowable practical expedient and did not disclose information about (1) contracts remaining performance obligations that have original expected durations of one year or less and (2) contracts for which the Company recognizes revenue at the amount to which it has the right to invoice for services performed.

10

Table of Contents

DoubleVerify Holdings, Inc.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)

(Amounts in thousands, except per share data, unless otherwise stated)

4.      Business Combinations

Scibids Technology SAS

On August 14, 2023, the Company acquired all of the outstanding stock of Scibids Technology SAS (“Scibids”), a global leader in AI technology for digital campaign optimization. The acquisition combines DoubleVerify’s proprietary data with Scibids’ AI-powered optimization technology to provide advertiser customers with enhanced insights and control over their advertising performance.

The total purchase price of $121.1 million, net of cash acquired, includes measurement period adjustments of $0.3 million recorded during the three months ended June 30, 2024. The effect of these adjustments on the preliminary purchase price allocation was a decrease to the purchase consideration of $0.3 million and a corresponding decrease recorded to Goodwill on the Condensed Consolidated Balance Sheets.

The preliminary allocations of the purchase price for Scibids are subject to revisions as additional information is obtained about the facts and circumstances that existed as of the acquisition date. The revisions may have a significant impact on the accompanying Condensed Consolidated Financial Statements. The allocations of the purchase price will be finalized once all information is obtained and assessed, not to exceed one year from the acquisition date. As of June 30, 2024, the purchase price allocation for Scibids is subject to the finalization of working capital adjustments.

5.    Goodwill and Intangible Assets

The following is a summary of changes to the goodwill carrying value from December 31, 2023 to June 30, 2024:

(in thousands)

    

    

Goodwill at December 31, 2023

$

436,008

Measurement period adjustments

(300)

Foreign exchange impact

(4,212)

Goodwill at June 30, 2024

$

431,496

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

(in thousands)

June 30, 2024

    

December 31, 2023

Gross Carrying

Accumulated

Net Carrying

Gross Carrying

Accumulated

Net Carrying

    

Amount

    

Amortization

    

Amount

    

Amount

    

Amortization

    

Amount

Trademarks and brands

$

11,733

$

(5,561)

$

6,172

$

11,734

$

(5,140)

$

6,594

Customer relationships

 

160,520

(69,985)

 

90,535

 

161,173

 

(62,955)

 

98,218

Developed technology

 

92,243

(63,530)

 

28,713

 

93,013

 

(56,942)

 

36,071

Non-compete agreements

64

(64)

66

(66)

Total intangible assets

$

264,560

$

(139,140)

$

125,420

$

265,986

$

(125,103)

$

140,883

Amortization expense related to intangible assets for the three months ended June 30, 2024 and June 30, 2023 was $7.1 million and $6.4 million, respectively. Amortization expense related to intangible assets amounted to $14.4 million and $12.6 million for the six months ended June 30, 2024 and June 30, 2023, respectively.

11

Table of Contents

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, 2024 is as follows:

(in thousands)

    

    

2024 (for remaining six months)

$

14,247

2025

26,702

2026

21,948

2027

18,045

2028

14,913

2029

12,562

Thereafter

 

17,003

Total

$

125,420

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

    

(In years)

Trademarks and brands

 

8

Customer relationships

 

6

Developed technology

2

There were no impairments of Goodwill or Intangible assets identified during the six months ended June 30, 2024 and June 30, 2023.

6.     Property, Plant and Equipment

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

As of

(in thousands)

June 30, 2024

December 31, 2023

Computers and peripheral equipment

    

$

26,360

    

$

25,013

Office furniture and equipment

 

3,554

 

3,170

Leasehold improvements

 

34,766

 

32,595

Capitalized software development costs

 

44,865

 

35,039

Less accumulated depreciation and amortization

 

(45,024)

 

(37,797)

Total property, plant and equipment, net

$

64,521

$

58,020

For the three months ended June 30, 2024 and June 30, 2023, total depreciation expense was $3.9 million and $3.3 million, respectively. For the six months ended June 30, 2024 and June 30, 2023, total depreciation expense was $7.5 million and $6.1 million, respectively.

Property and equipment under finance lease obligations, consisting of computer equipment, totaled $17.8 million as of June 30, 2024 and December 31, 2023, respectively. As of June 30, 2024 and December 31, 2023, accumulated depreciation related to property and equipment under finance lease obligations totaled $14.0 million and $12.9 million, respectively. Refer to Note 7, Leases.

There were no impairments of Property, plant and equipment identified during the six months ended June 30, 2024 and June 30, 2023.

12

Table of Contents

DoubleVerify Holdings, Inc.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)

(Amounts in thousands, except per share data, unless otherwise stated)

7.     Leases

The following table presents lease cost and cash paid for amounts included in the measurement of lease liabilities for finance and operating leases for the three and six months ended June 30, 2024 and 2023, respectively.

    

Three Months Ended June 30, 

 

Six Months Ended June 30, 

(in thousands)

2024

2023

 

2024

2023

Lease cost:

Operating lease cost (1)

$

2,690

$

2,582

$

5,327

$

5,169

Finance lease cost:

Depreciation of finance lease assets (2)

493

314

1,112

531

Interest on finance lease liabilities (3)

57

43

121

66

Short-term lease cost (1)

327

243

644

489

Sublease income (1)

(267)

(534)

Total lease cost

$

3,567

$

2,915

$

7,204

$

5,721

 

 

 

 

Other information:

Cash paid for amounts included in the measurement of lease liabilities

Operating cash outflows from operating leases

$

2,522

$

1,516

$

5,038

$

2,852

Operating cash outflows from finance leases

$

81

$

17

$

155

$

40

Financing cash outflows from finance leases

$

747

$

515

$

1,562

$

1,028

(1)Included in Cost of revenue, Sales, marketing and customer support, Product development and General and administrative expenses in the accompanying Condensed Consolidated Statements of Operations and Comprehensive Income.
(2)Included in Depreciation and amortization in the accompanying Condensed Consolidated Statements of Operations and Comprehensive Income.
(3)Included in Interest expense in the accompanying Condensed Consolidated Statements of Operations and Comprehensive Income.

The following table presents weighted-average remaining lease terms and weighted-average discount rates for finance and operating leases as of June 30, 2024 and 2023, respectively:

    

June 30, 

2024

 

2023

Weighted-average remaining lease term - operating leases (in years)

 

12.5

13.8

Weighted-average remaining lease term - finance leases (in years)

 

1.9

2.6

Weighted-average discount rate - operating leases

4.8%

4.5%

Weighted-average discount rate - finance leases

 

5.5%

5.2%

13

Table of Contents

DoubleVerify Holdings, Inc.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)

(Amounts in thousands, except per share data, unless otherwise stated)

Maturities of lease liabilities as of June 30, 2024 were as follows:

    

June 30, 2024

(in thousands)

Operating Leases

Finance Leases

2024 (for remaining six months)

$

5,327

$

1,497

2025

 

10,153

 

2,150

2026

 

9,414

 

819

2027

 

8,863

 

2028

 

7,722

 

2029

8,145

Thereafter

67,156

Total lease payments

 

116,780

 

4,466

Less amount representing interest

 

(30,402)

 

(229)

Present value of total lease payments

$

86,378

$

4,237

As of June 30, 2024, the Company has entered into additional international office space leases that have not yet commenced with contractual commitments of $1.5 million. These operating leases will commence in fiscal year 2025 with lease terms of two to three years.

There were no impairments of Operating lease right-of-use assets identified during the six months ended June 30, 2024 and June 30, 2023.

8.     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, 2024

Quoted Market

Prices in Active

Significant

Markets for

Significant Other

Unobservable

Identical Assets

Observable Inputs

Inputs

Total Fair Value

(in thousands)

(Level 1)

(Level 2)

(Level 3)

Measurements

Assets:

    

  

    

  

    

  

    

  

Cash equivalents

$

707

$

$

$

707

Short-term investments

$

82,754

$

$

$

82,754

As of December 31, 2023

Quoted Market

 

Prices in Active

Significant

Markets for

Significant Other

Unobservable

 

Identical Assets

 

Observable Inputs

Inputs

Tota1 Fair Value

(in thousands)

(Level 1)

(Level 2)

 

(Level 3)

Measurements

Assets:

    

 

  

    

 

  

    

 

  

    

 

  

Cash equivalents

 

$

61,463

$

$

 

$

61,463

 

As of June 30, 2024, Cash equivalents consisted of money market funds of $0.7 million. As of December 31, 2023, Cash equivalents consisted of treasury bills with original maturities at the date of purchase of three months or less and money market funds of $61.5 million.

14

Table of Contents

DoubleVerify Holdings, Inc.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)

(Amounts in thousands, except per share data, unless otherwise stated)

Short-term investments consisted of treasury bills of $82.8 million as of June 30, 2024. As of June 30, 2024, all of the Company’s Short-term investments are contractually due within one year.

As of June 30, 2024 and December 31, 2023, the amortized cost of the Company’s treasury bills approximated fair value. The Company did not record any unrealized gains, unrealized losses, or credit losses for the three and six months ended June 30, 2024.

9.     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 Company’s prior credit agreement, as amended and restated on October 1, 2020 (the “Credit Agreement”) and (ii) replace the Company’s prior credit facilities 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 Borrower’s total net leverage ratio calculated in accordance with the Credit Agreement.

On March 29, 2023, the Company entered into an amendment to the New Revolving Credit Facility to replace the LIBOR based interest rate with a Secured Overnight Financing Rate (“SOFR”) based interest rate. The New Revolving Credit Facility bears interest at SOFR plus 2.00% or the Alternate Base Rate plus 1.00% (at the Company’s option), 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 on its ability 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 holders of its 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, each as defined in the Credit Agreement.

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

As of June 30, 2024 and December 31, 2023, there was no outstanding debt under the New Revolving Credit Facility.

10.     Income Tax

The Company’s quarterly income tax provision is calculated using an estimated annual effective income tax rate (“ETR”) based on historical information and forward-looking estimates. The Company’s estimated annual ETR may fluctuate due to changes in forecasted annual pre-tax income, and changes to forecasted permanent book to tax differences (e.g., non-deductible expenses).

15

Table of Contents

DoubleVerify Holdings, Inc.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)

(Amounts in thousands, except per share data, unless otherwise stated)

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 treats 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, 2024, the Company recorded an income tax provision of $5.4 million and $7.2 million, respectively, resulting in an effective tax rate of 42.0% and 32.9%, that includes the effects of various permanent book-to-tax adjustments, foreign tax rate differences, U.S. tax on foreign operations, and U.S. state/local taxes. During the three and six months ended June 30, 2023, the Company recorded an income tax provision of $4.0 million and $9.5 million, respectively, resulting in an effective tax rate of 23.1% and 27.2%.

A valuation allowance has been established against a small amount of foreign capital losses and certain U.S. tax loss carryforwards. All other net deferred tax assets have been determined to be more likely than not realizable. The Company regularly reviews its deferred tax assets for recoverability and would establish a valuation allowance if it believed that such assets may not be recovered, taking into consideration historical operating results, expectations of future earnings, changes in its operations, and the expected timing of the reversals of existing temporary differences.

The Company accounts for uncertainty in income taxes utilizing ASC 740-10, “Income Taxes.” ASC 740-10 clarifies whether or not to recognize assets or liabilities for tax positions taken that may be challenged by a tax authority. It prescribes a recognition threshold and measurement attribute for financial statement disclosure of tax positions taken or expected to be taken. This interpretation also provides guidance on derecognition, classification, interest and penalties, accounting in interim periods, and disclosures. The application of ASC 740-10 requires judgment related to the uncertainty in income taxes and could impact the Company’s effective tax rate.

The Company and its subsidiaries file income tax returns with the Internal Revenue Service (“IRS”) in various state and international jurisdictions. The Company’s Israeli subsidiary is under audit by the Israeli Tax Authority for the 2021 and later tax years. The Company is also under audit by the Commonwealth of Massachusetts for the 2019 and 2020 tax years. These examinations may lead to ordinary course adjustments or proposed adjustments to the Company’s taxes. Aside from the aforementioned, the Company is not currently under audit in any other jurisdiction.

11.   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, 2024 and June 30, 2023:

Three Months Ended

Six Months Ended

June 30, 

June 30, 

2024

2023

2024

2023

Numerator:

    

  

    

  

    

Net Income (basic and diluted)

$

7,474

$

12,839

$

14,630

$

25,014

Denominator:

 

 

 

 

Weighted-average common shares outstanding

 

171,628

 

166,540

 

171,467

 

166,088

Dilutive effect of share-based awards

 

4,333

 

5,948

 

5,383

 

6,041

Weighted-average dilutive shares outstanding

 

175,961

 

172,488

 

176,850

 

172,129

Basic earnings per share

$

0.04

$

0.08

$

0.09

$

0.15

Diluted earnings per share

$

0.04

$

0.07

$

0.08

$

0.15

16

Table of Contents

DoubleVerify Holdings, Inc.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)

(Amounts in thousands, except per share data, unless otherwise stated)

Approximately 8.9 million and 3.9 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, 2024, respectively, because they were antidilutive. Approximately 8.6 million and 7.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, 2023, respectively, because they were also antidilutive.

12.   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.

On April 19, 2021, the Company established its 2021 Omnibus Equity Incentive Plan (“2021 Equity Plan”). 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.

Stock Options

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.

A summary of stock option activity as of and for the six months ended June 30, 2024 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, 2023

    

9,992

$

17.01

6.91

$

197,598

Options granted

 

Options exercised

 

(363)

7.09

Options forfeited

 

(46)

31.01

Outstanding as of June 30, 2024

 

9,583

$

17.32

6.42

$

61,419

Options expected to vest as of June 30, 2024

 

2,194

$

25.96

7.94

$

1,271

Options exercisable as of June 30, 2024

 

7,297

$

14.61

5.94

$

60,147

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, 2024. During the six months ended June 30, 2024, 50 stock options were exercised and 1,323 market-based and performance-based stock options remain outstanding as of June 30, 2024.

The total intrinsic value of options exercised during the six months ended June 30, 2024 and June 30, 2023 was $8.3 million and $34.1 million, respectively.

The Company’s board of directors (the “Board”) did not declare or pay dividends on any Company stock during the six months ended June 30, 2024 and June 30, 2023.

17

Table of Contents

DoubleVerify Holdings, Inc.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)

(Amounts in thousands, except per share data, unless otherwise stated)

Restricted Stock Units (“RSUs”)

RSUs are subject to vesting schedules up to four years from the date of the grant and subject to certain restrictions upon employee separation.

A summary of RSUs activity as of and for the six months ended June 30, 2024 is as follows:

    

RSUs

Number of

Weighted Average

Shares

Grant Date Fair Value

Outstanding as of December 31, 2023

4,720

$

28.03

Granted

 

2,727

32.97

Vested

 

(1,063)

28.96

Forfeited

 

(152)

29.00

Outstanding as of June 30, 2024

 

6,232

$

30.01

The total grant date fair value of RSUs that vested during the six months ended June 30, 2024 was $30.8 million.

Performance Stock Units (“PSUs”)

PSUs are subject to vesting and performance periods of up to approximately three years from the date of the grant.

A summary of PSUs activity as of and for the six months ended June 30, 2024 is as follows:

PSUs

Weighted 

Average Grant 

Number of 

Date Fair 

    

Shares (1)

    

Value

Outstanding as of December 31, 2023

480

$

41.31

Granted

186

41.28

Vested

Forfeited

Outstanding as of June 30, 2024

 

666

$

41.30

(1) For awards for which the performance period is complete, the number of outstanding PSUs is based on the actual shares that will vest upon completion of the service period. For awards for which the performance period is not yet complete, the number of outstanding PSUs is based on the participants earning 100% of their target PSUs.

The fair market value of PSUs with market-based and service-based vesting conditions granted for the years presented has been estimated on the grant date using the Monte Carlo Simulation model with the following assumptions:

    

2024

Risk‑free interest rate (percentage)

 

3.9 - 4.1

Expected dividend yield (percentage)

 

Expected volatility (percentage)

 

46.7

18

Table of Contents

DoubleVerify Holdings, Inc.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)

(Amounts in thousands, except per share data, unless otherwise stated)

Stock-based Compensation Expense

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

Three Months Ended

Six Months Ended

June 30, 

June 30, 

(in thousands)

 

2024

 

2023

 

2024

 

2023

Product development

$

9,734

$

5,975

$

17,107

$

10,354

Sales, marketing and customer support

 

7,503

 

4,746

 

13,439

 

8,253

General and administrative

 

7,478

 

4,446

 

14,410

 

8,373

Total stock-based compensation

$

24,715

$

15,167

$

44,956

$

26,980

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

Employee Stock Purchase Plan (“ESPP”)

In March 2021, the Board approved the Company’s 2021 ESPP. Purchases are accomplished through participation in discrete offering periods. The ESPP is available to U.S.-based employees and most of the Company’s non-U.S.-based employees. The current offering period began on June 1, 2024 and will end on November 30, 2024. The Company expects the program to continue consecutively for six-month offering periods for the foreseeable future.

Under the ESPP, eligible employees are able to acquire shares of the Company’s common stock by accumulating funds through payroll deductions. The purchase price for shares of common stock purchased under the ESPP is 85% of the lesser of the fair market value of the common stock on (i) the first trading day of the applicable offering period and (ii) the last trading day of the applicable offering period. Employees are required to hold shares purchased for a minimum of six months following the purchase date.

Stock-based compensation expense for the ESPP is recognized on a straight-line basis over the requisite service period of each award. Stock-based compensation expense related to the ESPP totaled $0.3 million and $0.5 million for the three and six months ended June 30, 2024, respectively. Stock-based compensation expense related to the ESPP totaled $0.2 million and $0.3 million for the three and six months ended June 30, 2023, respectively.

13.   Stockholders’ Equity

Repurchase Program

On May 16, 2024, the Company announced that the Board authorized the repurchase of up to $150.0 million of the Company’s outstanding common stock (the “Repurchase Program”). Under the Repurchase Program, the Company may repurchase for cash from time to time shares of its common stock through open market purchases pursuant to Rule 10b-18 and/or Rule 10b5-1 plans, in compliance with applicable securities laws and other legal requirements. The Repurchase Program does not obligate the Company to repurchase any specific number of shares, has no time limit, and may be modified, suspended, or discontinued at any time at the Company’s discretion.

During the three months ended June 30, 2024, the Company repurchased 1.4 million shares of its common stock for an aggregate repurchase amount of $25.0 million, which included immaterial amounts of broker commissions. As of June 30, 2024, $125.0 million remained available and authorized for repurchase under the Repurchase Program. Activity under the Repurchase Program was recognized in the Condensed Consolidated Balance Sheets on a trade-date basis.

19

Table of Contents

DoubleVerify Holdings, Inc.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)

(Amounts in thousands, except per share data, unless otherwise stated)

14.   Supplemental Financial Statement Information

Accrued Expenses

Accrued expenses as of June 30, 2024 and December 31, 2023 were as follows:

    

As of

(in thousands)

June 30, 2024

    

December 31, 2023

Vendor payments

$

6,060

$

6,286

Employee commissions and bonuses

 

18,105

 

20,809

Payroll and other employee related expense

 

13,489

 

10,602

401k and pension expense

 

1,857

 

2,982

Other taxes

 

4,625

 

3,585

Total accrued expenses

$

44,136

$

44,264

Other Income, Net

The components of Other income, net recorded in the Condensed Consolidated Statements of Operations and Comprehensive Income were as follows:

Three Months Ended

Six Months Ended

June 30, 

June 30, 

(in thousands)

 

2024

 

2023

 

2024

 

2023

Interest income

$

(3,311)

$

(2,686)

$

(6,590)

$

(5,442)

Foreign currency exchange loss

 

1,239

 

209

 

2,217

 

229

Other miscellaneous expense, net

 

8

 

1

 

37

 

3

Other income, net

$

(2,064)

$

(2,476)

$

(4,336)

$

(5,210)

15.   Commitments and Contingencies

Contingencies

Litigation

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.

16.    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.

20

Table of Contents

DoubleVerify Holdings, Inc.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)

(Amounts in thousands, except per share data, unless otherwise stated)

17.    Subsequent Events

In July 2024, the Company repurchased 1.3 million shares of its common stock for an aggregate repurchase amount of $25.0 million, which included immaterial amounts of broker commissions. As of July 30, 2024, $100.0 million remained available and authorized for repurchase under the Repurchase Program.

21

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 audited financial statements and notes contained in our Annual Report on Form 10-K for the year ended December 31, 2023. 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 Annual Report on Form 10-K for the year ended December 31, 2023 and elsewhere in this Quarterly Report, including under the heading “Special Note Regarding Forward-Looking Statements.”

Company Overview

We are one of the industry’s leading media effectiveness platforms that leverages AI to drive superior outcomes for global brands. By creating more effective, transparent ad transactions, we make the digital advertising ecosystem stronger, safer and more secure, thereby preserving the fair value exchange between buyers and sellers of digital media.

Our software platform is integrated across the entire digital advertising ecosystem, including programmatic platforms, social media channels, and digital publishers. We deliver unique data analytics through our customer interface, DV Pinnacle, to provide detailed insights into our customers’ media performance on both direct and programmatic media buying platforms and across all key digital media channels, formats, and devices. In 2023, our coverage spanned 110 countries where our customers activate our services. Our customers include many of the largest global advertisers and digital ad platforms and publishers. We provide a consistent, cross-platform measurement standard across all major forms of digital media, making it easier for advertisers and supply-side customers to benchmark performance across all of their digital ads and optimize business outcomes in real-time.

We derive revenue primarily 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. The price of most of our solutions is fixed. On platforms that charge based on percent of media spend, our pricing includes caps which effectively mirror our standard fixed fees. We maintain an expansive set of direct integrations across the entire digital advertising ecosystem, including with leading programmatic, CTV, and social platforms, which enable 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.

We generate revenue from supply-side customers based on monthly or annual contracts with minimum guarantees and tiered pricing when guarantees are met.

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 the effectiveness of their digital advertisements. We generate revenue from our advertising customers based primarily 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. Our existing customer base has remained largely stable, and our gross revenue retention rate was over 95% for the three months ended June 30, 2024. 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.

22

For the three months ended June 30, 2024 and June 30, 2023, we generated 91% and 92% of our revenue, respectively, from advertiser customers. For each of the six months ended June 30, 2024 and June 30, 2023, we generated 91% of our revenue from advertiser customers. Advertisers can purchase our services to measure the quality and performance of ads after they are purchased directly from digital properties, including publishers and social media platforms, which we track as Measurement revenue. Advertisers can also purchase our services through programmatic and social media platforms to evaluate the quality of ad inventories before they are purchased, which we track as Activation revenue. We generate the majority of our 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 and activation solutions.

For the three months ended June 30, 2024 and June 30, 2023, we generated 9% and 8% of our revenue, respectively, 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 each of the six months ended June 30, 2024 and June 30, 2023, Supply-side revenue comprised 9% of revenue. We generate revenue for certain supply-side arrangements that include minimum guaranteed fees that reset monthly and are recognized on a straight-line basis over the access period, which is usually twelve months. For contracts that contain overages, once the minimum guaranteed amount is achieved, overages are recognized as earned over time based on a tiered pricing structure.

The following table disaggregates revenue between advertiser customers, where revenue is generated based on number of ads measured for Measurement or measured and purchased for Activation, and Supply-side customers.

Three Months Ended June 30, 

Change

Change

Six Months Ended June 30, 

    

Change

Change

2024

     

2023

     

$

     

%

     

2024

     

2023

     

$

     

%

(In Thousands)

    

(In Thousands)

  

    

Revenue by customer type:

  

  

  

  

  

Activation

$

87,471

$

77,942

$

9,529

12

%

$

166,793

  

$

147,834

  

$

18,959

13

%

Measurement

 

54,817

 

44,989

 

9,828

22

 

104,092

  

 

86,374

  

 

17,718

21

Supply-side customer

 

13,602

 

10,813

 

2,789

26

 

25,787

  

 

22,130

  

 

3,657

17

Total revenue

$

155,890

  

$

133,744

$

22,146

17

%

$

296,672

  

$

256,338

  

$

40,334

16

%

Operating Expenses

Our operating expenses consist of the following categories:

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

Product development.  Product development expenses consist primarily of personnel costs, including salaries, bonuses, stock-based compensation and benefits, third party vendors and outsourced engineering services, and allocated overhead. Overhead costs such as information technology infrastructure, rent and occupancy charges are allocated 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. Capitalized software development costs are amortized to depreciation and amortization.

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

23

General and administrative.  General and administrative expenses consist primarily of personnel expenses associated with our executive, finance, legal, human resources and other administrative employees. General and administrative expenses also include professional fees for external accounting, legal, investor relations and other consulting services, expenses to operate 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, other overhead expenses including insurance, as well as third-party costs related to acquisitions.

Interest expense.  Interest expense for the three months ended June 30, 2024 and June 30, 2023 consists primarily of debt issuance costs, commitment fees associated with the unused portion of the New Revolving Credit Facility, interest on balances that were outstanding under the New Revolving Credit Facility and interest on finance leases. The New Revolving Credit Facility bears interest at SOFR plus an applicable margin per annum. See “Liquidity and Capital Resources—Debt Obligations.”

Other income, net.  Other income, net consists primarily of interest earned on interest-bearing monetary assets and gains and losses on foreign currency transactions.

Results of Operations

Comparison of the Three and Six Months Ended June 30, 2024 and June 30, 2023

The following table shows our Condensed Consolidated Results of Operations:

Three Months Ended June 30, 

Change

Change

Six Months Ended June 30, 

Change

Change

2024

     

2023

     

$

     

%

     

2024

     

2023

     

$

     

%

    

(In Thousands)

 

(In Thousands)

    

Revenue

$

155,890

$

133,744

$

22,146

17

%

$

296,672

 

$

256,338

 

$

40,334

16

%

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

 

26,102

 

26,191

 

(89)

(0)

 

52,720

 

50,143

 

2,577

5

Product development

 

39,806

 

31,941

 

7,865

25

 

76,200

 

60,496

 

15,704

26

Sales, marketing and customer support

 

44,863

 

31,537

 

13,326

42

 

82,735

 

57,249

 

25,486

45

General and administrative

 

23,066

 

19,755

 

3,311

17

 

45,141

 

39,943

 

5,198

13

Depreciation and amortization

 

11,004

 

9,676

 

1,328

14

 

21,932

 

18,659

 

3,273

18

Income from operations

 

11,049

 

14,644

 

(3,595)

(25)

 

17,944

 

29,848

 

(11,904)

(40)

Interest expense

 

233

 

247

 

(14)

(6)

 

465

 

503

 

(38)

(8)

Other income, net

 

(2,064)

 

(2,476)

 

(412)

(17)

 

(4,336)

 

(5,210)

 

(874)

(17)

Income before income taxes

 

12,880

 

16,873

 

(3,993)

(24)

 

21,815

 

34,555

 

(12,740)

(37)

Income tax expense

 

5,406

 

4,034

 

1,372

34

 

7,185

 

9,541

 

(2,356)

(25)

Net income

$

7,474

$

12,839

$

(5,365)

(42)

%

$

14,630

$

25,014

$

(10,384)

(42)

%

24

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, 

2024

    

2023

    

2024

    

2023

Revenue

100

%  

100

%  

100

%  

100

%

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

17

 

20

 

18

 

20

Product development

26

 

24

 

26

 

24

Sales, marketing and customer support

29

 

24

 

28

 

22

General and administrative

15

 

15

 

15

 

16

Depreciation and amortization

7

 

7

 

7

 

7

Income from operations

7

 

11

 

6

 

12

Interest expense

 

 

 

Other income, net

(1)

 

(2)

 

(1)

 

(2)

Income before income taxes

8

 

13

 

7

 

13

Income tax expense

3

 

3

 

2

 

4

Net income

5

%  

10

%  

5

%  

10

%  

Note: Percentages may not sum due to rounding.

Revenue

Total revenue increased by $22.1 million, or 17%, from $133.7 million in the three months ended June 30, 2023 to $155.9 million in the three months ended June 30, 2024. Total revenue increased by $40.3 million, or 16%, from $256.3 million in the six months ended June 30, 2023 to $296.7 million in the six months ended June 30, 2024.

Total Advertiser revenue increased by $19.4 million, or 16%, in the three months ended June 30, 2024 as compared to the three months ended June 30, 2023, driven primarily by an 22% increase in Media Transactions Measured, partially offset by a 5% decrease in Measured Transaction Fees. Total Advertiser revenue increased by $36.7 million, or 16%, in the six months ended June 30, 2024 as compared to the six months ended June 30, 2023, driven primarily by an 20% increase in Media Transactions Measured, partially offset by a 4% decrease in Measured Transaction Fees.

Activation revenue increased by $9.5 million, or 12%, in the three months ended June 30, 2024 as compared to the three months ended June 30, 2023, driven primarily by greater adoption of our programmatic solutions, including Scibids Technology SAS (“Scibids”), as well as our Authentic Brand Suitability (ABS) solution. For the six months ended June 30, 2024, Activation revenue increased by $19.0 million, or 13%, compared to the same period in 2023 driven by the same factors.

Measurement revenue increased $9.8 million, or 22%, in the three months ended June 30, 2024 as compared to the three months ended June 30, 2023, driven primarily by the increased adoption of our social measurement solutions by existing and new customers both within and outside the United States. For the six months ended June 30, 2024, Measurement revenue increased by $17.7 million, or 21%, compared to the same period in 2023 driven by the same factors.

Supply-side revenue increased $2.8 million, or 26%, in the three months ended June 30, 2024 as compared to the three months ended June 30, 2023, driven primarily by increased revenue from platform customers. For the six months ended June 30, 2024, Supply-side revenue increased by $3.7 million, or 17%, compared to the same period in 2023 driven by the same factors.

25

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

Cost of revenue decreased by $0.1 million, or less than 1%, from $26.2 million in the three months ended June 30, 2023 to $26.1 million in the three months ended June 30, 2024. The decrease was primarily due to savings from eliminating duplicative costs as the Company migrated to cloud services for better scale and flexibility, along with efficiencies gained from DV’s AI-powered video classification technology, partially offset by growth in Activation revenue which drove increases in partner costs from revenue-sharing arrangements. Cost of revenue increased by $2.6 million, or 5%, from $50.1 million in the six months ended June 30, 2023 to $52.7 million in the six months ended June 30, 2024. The increase was primarily due to continued investments in cloud services to provide scale and flexibility necessary to support future growth, as well as growth in Activation revenue which drove increases in partner costs from revenue-sharing arrangements.

Product Development Expenses

Product development expenses increased by $7.9 million, or 25%, from $31.9 million in the three months ended June 30, 2023 to $39.8 million in the three months ended June 30, 2024. The increase was primarily due to an increase in personnel costs, including stock-based compensation, of $6.6 million, and an increase in third-party software costs and professional fees of $1.6 million primarily to support product development efforts. Product development expenses increased by $15.7 million, or 26%, from $60.5 million in the six months ended June 30, 2023 to $76.2 million in the six months ended June 30, 2024. The increase was primarily due to an increase in personnel costs, including stock-based compensation, of $12.9 million, and an increase in third-party software costs and professional fees of $2.8 million primarily to support product development efforts.

Sales, Marketing and Customer Support Expenses

Sales, marketing and customer support expenses increased by $13.3 million, or 42%, from $31.5 million in the three months ended June 30, 2023 to $44.9 million in the three months ended June 30, 2024. The increase was primarily due to an increase in personnel costs, including stock-based compensation and sales commissions, of $9.9 million, an increase in marketing activities, including advertising, promotions, events and other activities of $0.7 million, and an increase in personnel travel and entertainment expenses to support marketing and sales activities of $1.3 million. Sales, marketing and customer support expenses increased by $25.5 million, or 45%, from $57.2 million in the six months ended June 30, 2023 to $82.7 million in the six months ended June 30, 2024. The increase was primarily due to an increase in personnel costs, including stock-based compensation and sales commissions, of $19.6 million, an increase in marketing activities, including advertising, promotions, events and other activities of $1.0 million, and an increase in personnel travel and entertainment expenses to support marketing and sales activities of $2.1 million.

General and Administrative Expenses

General and administrative expenses increased by $3.3 million, or 17%, from $19.8 million in the three months ended June 30, 2023 to $23.1 million in the three months ended June 30, 2024. The increase was primarily due to an increase in personnel costs, including stock-based compensation, of $3.7 million, partially offset by a reduction in general corporate insurance costs of $0.3 million. General and administrative expenses increased by $5.2 million, or 13%, from $39.9 million in the six months ended June 30, 2023 to $45.1 million in the six months ended June 30, 2024. The increase was primarily due to an increase in personnel costs, including stock-based compensation, of $6.4 million, partially offset by a reduction in general corporate insurance costs of $0.9 million.

Depreciation and Amortization

Depreciation and amortization increased by $1.3 million, or 14%, from $9.7 million in the three months ended June 30, 2023, to $11.0 million in the three months ended June 30, 2024. The increase was primarily due to an increase in intangible assets related to the acquisition of Scibids. Depreciation and amortization increased by $3.3 million, or 18%, from $18.7 million in the six months ended June 30, 2023, to $21.9 million in the six months ended June 30, 2024. The increase was primarily due to an increase in intangible assets related to the acquisition of Scibids.

26

Interest Expense

Interest expense was materially unchanged at $0.2 million in the three months ended June 30, 2023 and $0.2 million in the three months ended June 30, 2024. Interest expense was materially unchanged at $0.5 million in the six months ended June 30, 2023 and $0.5 million in the six months ended June 30, 2024.

Other Income, Net

Other income, net decreased by $0.4 million, from income of $2.5 million in the three months ended June 30, 2023 to income of $2.1 million in the three months ended June 30, 2024. The decrease was primarily due to an increase in losses from changes in foreign exchange rates, partially offset by an increase in interest earned on interest-bearing monetary assets. Other income, net decreased by $0.9 million, from income of $5.2 million in the six months ended June 30, 2023 to income of $4.3 million in the six months ended June 30, 2024. The decrease was primarily due to an increase in losses from changes in foreign exchange rates, partially offset by an increase in interest earned on interest-bearing monetary assets.

Income Tax Expense

Income tax expense increased by $1.4 million from a $4.0 million expense in the three months ended June 30, 2023 to a $5.4 million expense in the three months ended June 30, 2024. The increase was primarily due to an increase in permanent book-to-tax income adjustments. Income tax expense decreased by $2.4 million from a $9.5 million expense in the six months ended June 30, 2023 to a $7.2 million expense in the six months ended June 30, 2024. The decrease was primarily due to a decrease in pre-tax book income and permanent book-to-tax income adjustments.

Adjusted EBITDA

In addition to our results determined in accordance with GAAP, management believes that certain non-GAAP financial measures, including Adjusted EBITDA and Adjusted EBITDA Margin, are useful in evaluating our business. 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, 

2024

    

2023

    

2024

    

2023

(In Thousands)

(In Thousands)

Net income

$

7,474

$

12,839

$

14,630

 

$

25,014

Net income margin

5%

10%

5%

10%

Depreciation and amortization

 

11,004

 

9,676

 

21,932

 

18,659

Stock-based compensation

 

24,715

 

15,167

 

44,956

 

26,980

Interest expense

 

233

 

247

 

465

 

503

Income tax expense

 

5,406

 

4,034

 

7,185

 

9,541

M&A and restructuring (recoveries) costs (a)

 

(11)

700

 

700

Offering and secondary offering costs (b)

 

10

122

68

 

309

Other recoveries (c)

 

(266)

 

(533)

Other income (d)

 

(2,064)

 

(2,476)

 

(4,336)

 

(5,210)

Adjusted EBITDA

$

46,767

$

40,043

$

84,900

$

75,963

Adjusted EBITDA margin

30%

 

30%

 

29%

 

30%

(a)M&A and restructuring (recoveries) costs for the three and six months ended June 30, 2024 and June 30, 2023 consist of transaction costs related to the acquisition of Scibids.
(b)Offering and secondary offering costs for the three and six months ended June 30, 2024 and June 30, 2023 consist of third-party costs incurred for underwritten secondary public offerings by certain stockholders of the Company.
(c)Other recoveries for the three and six months ended June 30, 2023 consist of sublease income for leased office space.

27

(d)Other income for the three and six months ended June 30, 2024 and June 30, 2023 consist of interest income earned on interest-bearing monetary assets, and the impact of changes in foreign currency exchange rates.

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 operating results on a consistent basis by excluding items that we do not believe are indicative of our core operating performance.

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, working capital needs;
Adjusted EBITDA does not reflect 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 interest expense or the cash requirements necessary to service interest or principal debt payments; 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, therefore 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, 2024, we had cash and cash equivalents of $256.1 million and net working capital, consisting of current assets (excluding cash and cash equivalents) less current liabilities, of $224.0 million.

We believe existing cash and cash generated from operations, together with the $150.0 million undrawn balance under the New Revolving Credit Facility as of June 30, 2024, will be sufficient to meet working capital and capital expenditure requirements on a short-term and long-term basis.

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 our Annual Report on Form 10-K for the year ended December 31, 2023.

Debt Obligations

As of June 30, 2024, there was no outstanding debt under the New Revolving Credit Facility.

Repurchase Program

On May 16, 2024, the Company announced that its Board of Directors authorized the repurchase of up to $150.0 million of the Company’s outstanding common stock (the “Repurchase Program”). Under the Repurchase Program, the Company may repurchase for cash from time to time shares of its common stock through open market purchases pursuant to Rule 10b-18 and/or Rule 10b5-1 plans, in compliance with applicable securities laws and other legal requirements. The Repurchase Program does not obligate the Company to repurchase any specific number of shares, has no time limit, and may be modified, suspended, or discontinued at any time at the Company’s discretion. Repurchases under the Repurchase Program commenced in June 2024.

28

During the three months ended June 30, 2024, the Company repurchased 1.4 million shares of its common stock for an aggregate repurchase amount of $25.0 million.

In July 2024, the Company repurchased 1.3 million shares of its common stock for an aggregate repurchase amount of $25.0 million. As of July 30, 2024, $100.0 million remained available and authorized for repurchase under the Repurchase Program.

Cash Flows

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

    

Six Months Ended June 30, 

2024

2023

    

(In Thousands)

Cash flows provided by operating activities

$

67,655

$

32,164

Cash flows used in investing activities

 

(95,495)

 

(7,671)

Cash flows (used in) provided by financing activities

 

(24,562)

 

3,114

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

 

(850)

 

15

(Decrease) increase in cash, cash equivalents, and restricted cash

$

(53,252)

$

27,622

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, trade receivables increase in conjunction with our rapid growth in sales and decrease based on timing of cash receipts from our customers. The timing of payments of trade payables 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, 2024, cash provided by operating activities was $67.7 million, attributable to net income of $14.6 million, adjusted for non-cash charges of $60.9 million and $7.9 million use of cash from changes in operating assets and liabilities. Non-cash charges primarily consisted of $21.9 million in depreciation and amortization and $45.0 million in stock-based compensation, offset by $11.5 million in deferred taxes. The main drivers of the changes in operating assets and liabilities were a $0.8 million increase in trade receivables, prepaid expenses and other assets due mainly to increases in prepayments, and a $7.1 million decrease in trade payables, accrued expenses and other liabilities primarily related to the timing of income tax payments.

For the six months ended June 30, 2023, cash provided by operating activities was $32.2 million, attributable to net income of $25.0 million, adjusted for non-cash charges of $36.4 million and $29.2 million use of cash from changes in operating assets and liabilities. Non-cash charges primarily consisted of $18.7 million in depreciation and amortization and $27.0 million in stock-based compensation, offset by $16.6 million in deferred taxes. The main drivers of the changes in operating assets and liabilities were a $23.4 million increase in trade receivables, prepaid assets and other assets due mainly to increases in sales and prepayments, and a $5.9 million decrease in trade payables, accrued expenses and other liabilities primarily related to income tax payments.

Investing Activities

For the six months ended June 30, 2024, cash used in investing activities was $95.5 million, including $81.9 million attributable to investments in short-term financial instruments and $13.6 million attributable to purchases of property, plant and equipment, and capitalized software development costs. For the six months ended June 30, 2023, cash used in investing activities of $7.7 million was attributable to purchases of property, plant and equipment, and capitalized software development costs.

29

Financing Activities

For the six months ended June 30, 2024, cash used in financing activities of $24.6 million was primarily due to $25.0 million related to shares repurchased under the Repurchase Program. For the six months ended June 30, 2023, cash provided by financing activities of $3.1 million was primarily due to $5.8 million proceeds from common stock issued upon exercise of stock options, offset by $2.8 million related to shares repurchased for settlement of employee tax withholding.

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 Annual Report on Form 10-K for the year ended December 31, 2023. Since the date of our most recent Annual Report on Form 10-K, 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, 2024 have not materially changed from those discussed in the Annual Report on Form 10-K for the year ended December 31, 2023 under the heading “Quantitative and Qualitative Disclosures about Market Risk.”

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, 2024. Our disclosure controls and procedures are designed to provide reasonable assurance that information required to be disclosed in the reports we file or submit under the Exchange Act is recorded, processed, summarized, and reported as and when required, and that such information is accumulated and communicated to our management, including our Chief Executive Officer and Chief Financial Officer, to allow timely decisions regarding its required disclosure. Based on this evaluation, our Chief Executive Officer and Chief Financial Officer concluded that our disclosure controls and procedures were effective as of June 30, 2024.

Changes in Internal Control over Financial Reporting

There have been no changes in our internal control over financial reporting during the quarter ended June 30, 2024 that have materially affected, or are 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 and instances of fraud or error, if any, 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. Additionally, 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. The design of any system of controls also is based in part upon certain assumptions about the likelihood of future events, and there can be no assurance that any design will succeed in achieving its stated goal under all potential future conditions. 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. Because of the inherent limitations in a cost-effective control system, misstatements due to error or fraud may occur and not be detected.

31

Table of Contents

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, be expected to 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 Annual Report on Form 10-K for the year ended December 31, 2023.

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

(a)Recent Sales of Unregistered Securities

Not applicable.

(b)Use of Proceeds

Not applicable.

(c)Issuer Purchases of Equity Securities

The following table summarizes share repurchase activity for the three months ended June 30, 2024:

Total Number of Shares

Maximum Approximate Dollar

Purchased as Part of

Value of Shares that

Total Number of Shares

Average Price Paid

Publicly Announced Plans or

May Yet Be Purchased

Period

Purchased (1)

Per Share (2)

Programs (1)

Under the Plans or Programs (1)

(in thousands)

(in thousands)

(in thousands)

April 1 - 30

$

$

May 1 - 31

 

 

 

 

150,000

June 1 - 30

 

1,369

$

18.27

 

1,369

$

125,000

Total for the three months ended June 30, 2024

1,369

1,369

(1) On May 16, 2024, the Company announced that its Board of Directors had authorized the repurchase of up to $150 million of the Company’s outstanding common stock (the “Repurchase Program”). Under the Repurchase Program, the Company may repurchase for cash from time to time shares of its common stock through open market purchases pursuant to Rule 10b-18 and/or Rule 10b5-1 plans, in compliance with applicable securities laws and other legal requirements. The Repurchase Program does not obligate the Company to repurchase any specific number of shares, has no time limit, and may be modified, suspended, or discontinued at any time at the Company’s discretion.

(2) Excludes other costs such as broker commissions.

Item 3. Defaults Upon Senior Securities

Not applicable.

Item 4. Mine Safety Disclosures

Not applicable.

Item 5. Other Information

Not applicable.

32

Item 6. Exhibits

Exhibit
No.

    

Description

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

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.

33

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 30, 2024

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)

34

EX-31.1 2 dv-20240630xex31d1.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 30, 2024

/s/ Mark Zagorski

Mark Zagorski

Chief Executive Officer

(Principal Executive Officer)


EX-31.2 3 dv-20240630xex31d2.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 30, 2024

/s/ Nicola Allais

Nicola Allais

Chief Financial Officer

(Principal Financial Officer)


EX-32.1 4 dv-20240630xex32d1.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, 2024 (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 30, 2024

/s/ Mark Zagorski

Mark Zagorski

Chief Executive Officer

(Principal Executive Officer)


EX-32.2 5 dv-20240630xex32d2.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, 2024 (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 30, 2024

/s/ Nicola Allais

Nicola Allais

Chief Financial Officer

(Principal Financial Officer)


EX-101.SCH 6 dv-20240630.xsd EX-101.SCH 99900 - Disclosure - Standard And Custom Axis Domain Defaults link:presentationLink link:calculationLink link:definitionLink 995200100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (UNAUDITED) link:presentationLink link:calculationLink link:definitionLink 995200200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME (UNAUDITED) link:presentationLink link:calculationLink link:definitionLink 995200400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (UNAUDITED) link:presentationLink link:calculationLink link:definitionLink 995200405 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (UNAUDITED) link:presentationLink link:calculationLink link:definitionLink 99940502 - Disclosure - Goodwill and Intangible Assets - Summary of Company's intangible assets (Details) link:presentationLink link:calculationLink link:definitionLink 99940503 - Disclosure - Goodwill and Intangible Assets - Estimated future expected amortization expense (Details) link:presentationLink link:calculationLink link:definitionLink 99940601 - Disclosure - Property, Plant and Equipment (Details) link:presentationLink link:calculationLink link:definitionLink 40603 - Disclosure - Leases - Maturities of Operating Lease Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 99940701 - Disclosure - Leases - Leases Cost (Details) link:presentationLink link:calculationLink link:definitionLink 99940704 - Disclosure - Leases - Maturities of Finance Lease Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 40706 - Disclosure - Leases - Operating Leases (Details) Calc 2 link:presentationLink link:calculationLink link:definitionLink 99941401 - Disclosure - Supplemental Financial Statement Information (Details) link:presentationLink link:calculationLink link:definitionLink 995200300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (UNAUDITED) link:presentationLink link:calculationLink link:definitionLink 99930703 - Disclosure - Leases (Tables) link:presentationLink link:calculationLink link:definitionLink 99931203 - Disclosure - Stock-Based Compensation (Tables) link:presentationLink link:calculationLink link:definitionLink 99940101 - Disclosure - Description of Business (Details) link:presentationLink link:calculationLink link:definitionLink 99940301 - Disclosure - Revenue (Details) link:presentationLink link:calculationLink link:definitionLink 40301 - Disclosure - Revenue Default (Details) link:presentationLink link:calculationLink link:definitionLink 99940401 - Disclosure - Business Combinations - Acquisition (Details) link:presentationLink link:calculationLink link:definitionLink 99940501 - Disclosure - Goodwill and Intangible Assets - Goodwill (Details) link:presentationLink link:calculationLink link:definitionLink 99940504 - Disclosure - Goodwill and Intangible Assets - Weighted-average remaining useful life (Details) link:presentationLink link:calculationLink link:definitionLink 99940705 - Disclosure - Leases - Narratives (Details) link:presentationLink link:calculationLink link:definitionLink 99940801 - Disclosure - Fair Value Measurement - Fair value on a recurring basis (Details) link:presentationLink link:calculationLink link:definitionLink 99940802 - Disclosure - Fair Value Measurement - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 99940901 - Disclosure - Long-term Debt (Details) link:presentationLink link:calculationLink link:definitionLink 99941001 - Disclosure - Income Tax (Details) link:presentationLink link:calculationLink link:definitionLink 99941201 - Disclosure - Stock-Based Compensation (Details) link:presentationLink link:calculationLink link:definitionLink 99941203 - Disclosure - Stock-Based Compensation - Additional information (Details) link:presentationLink link:calculationLink link:definitionLink 99941204 - Disclosure - Stock-Based Compensation - RSUs and PSUs (Details) link:presentationLink link:calculationLink link:definitionLink 99941205 - Disclosure - Stock-Based Compensation - Valuation Assumptions (Details) link:presentationLink link:calculationLink link:definitionLink 99941206 - Disclosure - Stock-Based Compensation - Stock-based compensation expense (Details) link:presentationLink link:calculationLink link:definitionLink 99941301 - Disclosure - Stockholders' Equity (Details) link:presentationLink link:calculationLink link:definitionLink 99941701 - Disclosure - Subsequent Events (Details) link:presentationLink link:calculationLink link:definitionLink 995200090 - Document - Document and Entity Information link:presentationLink link:calculationLink link:definitionLink 995200105 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (UNAUDITED) (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 995210101 - Disclosure - Description of Business link:presentationLink link:calculationLink link:definitionLink 995210201 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies link:presentationLink link:calculationLink link:definitionLink 995210301 - Disclosure - Revenue link:presentationLink link:calculationLink link:definitionLink 995210401 - Disclosure - Business Combinations link:presentationLink link:calculationLink link:definitionLink 995210501 - Disclosure - Goodwill and Intangible Assets link:presentationLink link:calculationLink link:definitionLink 995210601 - Disclosure - Property, Plant and Equipment link:presentationLink link:calculationLink link:definitionLink 995210701 - Disclosure - Leases link:presentationLink link:calculationLink link:definitionLink 995210801 - Disclosure - Fair Value Measurement link:presentationLink link:calculationLink link:definitionLink 995210901 - Disclosure - Long-term Debt link:presentationLink link:calculationLink link:definitionLink 995211001 - Disclosure - Income Tax link:presentationLink link:calculationLink link:definitionLink 995211101 - Disclosure - Earnings Per Share link:presentationLink link:calculationLink link:definitionLink 995211201 - Disclosure - Stock-Based Compensation link:presentationLink link:calculationLink link:definitionLink 995211301 - Disclosure - Stockholders' Equity link:presentationLink link:calculationLink link:definitionLink 995211401 - Disclosure - Supplemental Financial Statement Information link:presentationLink link:calculationLink link:definitionLink 995211501 - Disclosure - Commitments and Contingencies link:presentationLink link:calculationLink link:definitionLink 995211601 - Disclosure - Segment Information link:presentationLink link:calculationLink link:definitionLink 995211701 - Disclosure - Subsequent Events link:presentationLink link:calculationLink link:definitionLink 99920202 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies (Policies) link:presentationLink link:calculationLink link:definitionLink 99930303 - Disclosure - Revenue (Tables) link:presentationLink link:calculationLink link:definitionLink 99930503 - Disclosure - Goodwill and Intangible Assets (Tables) link:presentationLink link:calculationLink link:definitionLink 99930603 - Disclosure - Property, Plant and Equipment (Tables) link:presentationLink link:calculationLink link:definitionLink 99930803 - Disclosure - Fair Value Measurement (Tables) link:presentationLink link:calculationLink link:definitionLink 99931103 - Disclosure - Earnings Per Share (Tables) link:presentationLink link:calculationLink link:definitionLink 99931403 - Disclosure - Supplemental Financial Statement Information (Tables) link:presentationLink link:calculationLink link:definitionLink 99940702 - Disclosure - Leases - Weighted-average remaining lease terms and discount rates (Details) link:presentationLink link:calculationLink link:definitionLink 99940703 - Disclosure - Leases - Maturities of Operating Lease Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 99941101 - Disclosure - Earnings Per Share (Details) link:presentationLink link:calculationLink link:definitionLink 99941202 - Disclosure - Stock-Based Compensation - Stock option activity (Details) link:presentationLink link:calculationLink link:definitionLink 99941601 - Disclosure - Segment Information (Details) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 7 dv-20240630_cal.xml EX-101.CAL EX-101.DEF 8 dv-20240630_def.xml EX-101.DEF EX-101.LAB 9 dv-20240630_lab.xml EX-101.LAB EX-101.PRE 10 dv-20240630_pre.xml EX-101.PRE XML 12 R1.htm IDEA: XBRL DOCUMENT v3.24.2
Document and Entity Information - shares
6 Months Ended
Jun. 30, 2024
Jul. 22, 2024
Document and Entity Information [Abstract]    
Document Type 10-Q  
Document Quarterly Report true  
Document Period End Date Jun. 30, 2024  
Document Transition Report false  
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 462 Broadway  
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 Large Accelerated Filer  
Entity Small Business false  
Entity Emerging Growth Company false  
Entity Shell Company false  
Entity Common Stock, Shares Outstanding   170,044,811
Entity Central Index Key 0001819928  
Current Fiscal Year End Date --12-31  
Document Fiscal Year Focus 2024  
Document Fiscal Period Focus Q2  
Amendment Flag false  
XML 13 R2.htm IDEA: XBRL DOCUMENT v3.24.2
CONDENSED CONSOLIDATED BALANCE SHEETS (UNAUDITED) - USD ($)
$ in Thousands
Jun. 30, 2024
Dec. 31, 2023
Current assets    
Cash and cash equivalents $ 256,066 $ 310,131
Short-term investments 82,754  
Trade receivables, net of allowances for doubtful accounts of $9,564 and $9,442 as of June 30, 2024 and December 31, 2023, respectively 187,761 206,941
Prepaid expenses and other current assets 32,977 15,930
Total current assets 559,558 533,002
Property, plant and equipment, net 64,521 58,020
Operating lease right-of-use assets, net 66,155 60,470
Goodwill 431,496 436,008
Intangible assets, net 125,420 140,883
Deferred tax assets 23,766 13,077
Other non-current assets 1,727 1,571
Total assets 1,272,643 1,243,031
Current liabilities    
Trade payables 10,604 12,932
Accrued expenses 44,136 44,264
Operating lease liabilities, current 10,113 9,029
Income tax liabilities 832 5,833
Current portion of finance lease obligations 2,393 2,934
Other current liabilities 11,447 8,863
Total current liabilities 79,525 83,855
Operating lease liabilities, non-current 76,265 71,563
Finance lease obligations 1,844 2,865
Deferred tax liabilities 7,031 8,119
Other non-current liabilities 2,815 2,690
Total liabilities 167,480 169,092
Commitments and contingencies (Note 15)
Stockholders' equity    
Common stock, $0.001 par value, 1,000,000 shares authorized, 172,634 shares issued and 171,244 outstanding as of June 30, 2024; 1,000,000 shares authorized, 171,168 shares issued and 171,146 outstanding as of December 31, 2023 173 171
Additional paid-in capital 926,062 878,331
Treasury stock, at cost, 1,390 shares and 22 shares as of June 30, 2024 and December 31, 2023, respectively (25,443) (743)
Retained earnings 213,613 198,983
Accumulated other comprehensive loss, net of income taxes (9,242) (2,803)
Total stockholders' equity 1,105,163 1,073,939
Total liabilities and stockholders' equity $ 1,272,643 $ 1,243,031
XML 14 R3.htm IDEA: XBRL DOCUMENT v3.24.2
CONDENSED CONSOLIDATED BALANCE SHEETS (UNAUDITED) (Parenthetical) - USD ($)
shares in Thousands, $ in Thousands
Jun. 30, 2024
Dec. 31, 2023
CONDENSED CONSOLIDATED BALANCE SHEETS (UNAUDITED)    
Trade receivables, net of allowances $ 9,564 $ 9,442
Common stock, par value $ 0.001 $ 0.001
Common stock, shares authorized 1,000,000 1,000,000
Common stock, shares issued 172,634 171,168
Common stock, shares outstanding 171,244 171,146
Treasury stock, shares 1,390 22
XML 15 R4.htm IDEA: XBRL DOCUMENT v3.24.2
CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME (UNAUDITED) - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2024
Jun. 30, 2023
Jun. 30, 2024
Jun. 30, 2023
CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME (UNAUDITED)        
Revenue $ 155,890 $ 133,744 $ 296,672 $ 256,338
Cost of revenue (exclusive of depreciation and amortization shown separately below) 26,102 26,191 52,720 50,143
Product development 39,806 31,941 76,200 60,496
Sales, marketing and customer support 44,863 31,537 82,735 57,249
General and administrative 23,066 19,755 45,141 39,943
Depreciation and amortization 11,004 9,676 21,932 18,659
Income from operations 11,049 14,644 17,944 29,848
Interest expense 233 247 465 503
Other income, net (2,064) (2,476) (4,336) (5,210)
Income before income taxes 12,880 16,873 21,815 34,555
Income tax expense 5,406 4,034 7,185 9,541
Net income $ 7,474 $ 12,839 $ 14,630 $ 25,014
Earnings per share:        
Basic $ 0.04 $ 0.08 $ 0.09 $ 0.15
Diluted $ 0.04 $ 0.07 $ 0.08 $ 0.15
Weighted-average common stock outstanding:        
Basic 171,628 166,540 171,467 166,088
Diluted 175,961 172,488 176,850 172,129
Comprehensive income:        
Net income $ 7,474 $ 12,839 $ 14,630 $ 25,014
Other comprehensive (loss) income:        
Foreign currency cumulative translation adjustment (1,814) (377) (6,439) 816
Total comprehensive income $ 5,660 $ 12,462 $ 8,191 $ 25,830
XML 16 R5.htm IDEA: XBRL DOCUMENT v3.24.2
CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (UNAUDITED) - USD ($)
shares in Thousands, $ in Thousands
Common Stock
Treasury Stock
Additional Paid-in Capital
Retained Earnings
Accumulated Other Comprehensive (Loss) Income Net of Income Taxes
Total
Balance at Dec. 31, 2022 $ 165 $ (796) $ 756,299 $ 127,517 $ (6,326) $ 876,859
Balance (in shares) at Dec. 31, 2022 165,448 31        
Foreign currency translation adjustment         1,193 1,193
Shares repurchased for settlement of employee tax withholdings   $ (787)       (787)
Shares repurchased for settlement of employee tax withholdings (in shares)   30        
Stock-based compensation expense     11,992     11,992
Common stock issued upon exercise of stock options $ 1   1,765     1,766
Common stock issued upon exercise of stock options (in shares) 527          
Common stock issued upon vesting of restricted stock units (in shares) 182          
Treasury stock reissued upon settlement of equity awards   $ 914 (914)      
Treasury stock reissued upon settlement of equity awards (in shares)   (35)        
Net income       12,175   12,175
Balance at Mar. 31, 2023 $ 166 $ (669) 769,142 139,692 (5,133) 903,198
Balance (in shares) at Mar. 31, 2023 166,157 26        
Balance at Dec. 31, 2022 $ 165 $ (796) 756,299 127,517 (6,326) 876,859
Balance (in shares) at Dec. 31, 2022 165,448 31        
Foreign currency translation adjustment           816
Net income           25,014
Balance at Jun. 30, 2023 $ 167 $ (528) 787,562 152,531 (5,510) 934,222
Balance (in shares) at Jun. 30, 2023 167,250 16        
Balance at Mar. 31, 2023 $ 166 $ (669) 769,142 139,692 (5,133) 903,198
Balance (in shares) at Mar. 31, 2023 166,157 26        
Foreign currency translation adjustment         (377) (377)
Shares repurchased for settlement of employee tax withholdings   $ (1,966)       (1,966)
Shares repurchased for settlement of employee tax withholdings (in shares)   57        
Stock-based compensation expense     15,399     15,399
Common stock issued upon exercise of stock options $ 1   3,990     3,991
Common stock issued upon exercise of stock options (in shares) 711          
Common stock issued upon vesting of restricted stock units (in shares) 333          
Treasury stock reissued upon settlement of equity awards   $ 2,107 (2,107)      
Treasury stock reissued upon settlement of equity awards (in shares)   (67)        
Common stock issued under employee purchase plan     1,138     1,138
Common stock issued under employee purchase plan (in shares) 49          
Net income       12,839   12,839
Balance at Jun. 30, 2023 $ 167 $ (528) 787,562 152,531 (5,510) 934,222
Balance (in shares) at Jun. 30, 2023 167,250 16        
Balance at Dec. 31, 2023 $ 171 $ (743) 878,331 198,983 (2,803) 1,073,939
Balance (in shares) at Dec. 31, 2023 171,168 22        
Foreign currency translation adjustment         (4,625) (4,625)
Shares repurchased for settlement of employee tax withholdings   $ (1,792)       (1,792)
Shares repurchased for settlement of employee tax withholdings (in shares)   48        
Stock-based compensation expense     20,718     20,718
Common stock issued upon exercise of stock options     1,695     1,695
Common stock issued upon exercise of stock options (in shares) 153          
Common stock issued upon vesting of restricted stock units $ 1   (1)      
Common stock issued upon vesting of restricted stock units (in shares) 435          
Treasury stock reissued upon settlement of equity awards   $ 1,389 (1,389)      
Treasury stock reissued upon settlement of equity awards (in shares)   (38)        
Net income       7,156   7,156
Balance at Mar. 31, 2024 $ 172 $ (1,146) 899,354 206,139 (7,428) 1,097,091
Balance (in shares) at Mar. 31, 2024 171,756 32        
Balance at Dec. 31, 2023 $ 171 $ (743) 878,331 198,983 (2,803) 1,073,939
Balance (in shares) at Dec. 31, 2023 171,168 22        
Foreign currency translation adjustment           $ (6,439)
Common stock issued upon exercise of stock options (in shares)           363
Net income           $ 14,630
Balance at Jun. 30, 2024 $ 173 $ (25,443) 926,062 213,613 (9,242) 1,105,163
Balance (in shares) at Jun. 30, 2024 172,634 1,390        
Balance at Mar. 31, 2024 $ 172 $ (1,146) 899,354 206,139 (7,428) 1,097,091
Balance (in shares) at Mar. 31, 2024 171,756 32        
Foreign currency translation adjustment         (1,814) (1,814)
Shares repurchased for settlement of employee tax withholdings   $ (660)       (660)
Shares repurchased for settlement of employee tax withholdings (in shares)   30        
Stock-based compensation expense     25,315     25,315
Common stock issued upon exercise of stock options     870     870
Common stock issued upon exercise of stock options (in shares) 126          
Common stock issued upon vesting of restricted stock units $ 1   (1)      
Common stock issued upon vesting of restricted stock units (in shares) 628          
Shares repurchased under the Repurchase Program   $ 25,027       25,027
Share repurchase program, shares repurchased   1,369        
Treasury stock reissued upon settlement of equity awards   $ 1,390 (1,390)      
Treasury stock reissued upon settlement of equity awards (in shares)   (41)        
Common stock issued under employee purchase plan     1,914     1,914
Common stock issued under employee purchase plan (in shares) 124          
Net income       7,474   7,474
Balance at Jun. 30, 2024 $ 173 $ (25,443) $ 926,062 $ 213,613 $ (9,242) $ 1,105,163
Balance (in shares) at Jun. 30, 2024 172,634 1,390        
XML 17 R6.htm IDEA: XBRL DOCUMENT v3.24.2
CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (UNAUDITED) - USD ($)
$ in Thousands
6 Months Ended
Jun. 30, 2024
Jun. 30, 2023
Operating activities:    
Net income $ 14,630 $ 25,014
Adjustments to reconcile net income to net cash provided by operating activities    
Bad debt expense 1,453 3,706
Depreciation and amortization expense 21,932 18,659
Amortization of debt issuance costs 147 147
Non-cash lease expense 3,191 3,293
Deferred taxes (11,530) (16,639)
Stock-based compensation expense 44,956 26,980
Interest (income) expense, net (784) 25
Loss on disposal of fixed assets   5
Other 1,582 209
Changes in operating assets and liabilities    
Trade receivables 16,397 (12,214)
Prepaid expenses and other assets (17,208) (11,168)
Trade payables (2,076) 2,126
Accrued expenses and other liabilities (5,035) (7,979)
Net cash provided by operating activities 67,655 32,164
Investing activities:    
Purchase of property, plant and equipment (13,558) (7,671)
Purchase of short-term investments (81,937)  
Net cash used in investing activities (95,495) (7,671)
Financing activities:    
Proceeds from revolving credit facility   50,000
Payments to revolving credit facility   (50,000)
Proceeds from common stock issued upon exercise of stock options 2,565 5,757
Proceeds from common stock issued under employee purchase plan 1,914 1,138
Finance lease payments (1,562) (1,028)
Shares repurchased under the Repurchase Program (25,027)  
Shares repurchased for settlement of employee tax withholdings (2,452) (2,753)
Net cash (used in) provided by financing activities (24,562) 3,114
Effect of exchange rate changes on cash and cash equivalents and restricted cash (850) 15
Net (decrease) increase in cash, cash equivalents, and restricted cash (53,252) 27,622
Cash, cash equivalents, and restricted cash - Beginning of period 310,257 267,938
Cash, cash equivalents, and restricted cash - End of period 257,005 295,560
Supplemental cash flow information:    
Cash paid for taxes 29,491 41,284
Cash paid for interest 350 389
Non-cash investing and financing activities:    
Right-of-use assets obtained in exchange for new operating lease liabilities, net of impairments and tenant improvement allowances 9,211 1,261
Acquisition of equipment under finance lease   5,479
Capital assets financed by accounts payable and accrued expenses 18 480
Stock-based compensation included in capitalized software development costs $ 1,064 $ 411
XML 18 R7.htm IDEA: XBRL DOCUMENT v3.24.2
CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (UNAUDITED) - USD ($)
$ in Thousands
Jun. 30, 2024
Jun. 30, 2023
CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (UNAUDITED)    
Cash and cash equivalents $ 256,066 $ 295,437
Restricted cash (included in prepaid expenses and other current assets on the Condensed Consolidated Balance Sheets) 939 123
Total cash and cash equivalents and restricted cash $ 257,005 $ 295,560
XML 19 R8.htm IDEA: XBRL DOCUMENT v3.24.2
Description of Business
6 Months Ended
Jun. 30, 2024
Description of Business  
Description of Business

1.    Description of Business

DoubleVerify Holdings, Inc. (the “Company”) is one of the industry’s leading media effectiveness platforms that leverages artificial intelligence (“AI”) to drive superior outcomes for global brands. By creating more effective, transparent ad transactions, we make the digital advertising ecosystem stronger, safer and more secure, thereby preserving the fair value exchange between buyers and sellers of digital media. The Company’s solutions provide advertisers unbiased data analytics that enable advertisers to increase the effectiveness, quality and return on their digital advertising investments. The DV Authentic Ad is our proprietary metric of digital media quality, which measures whether a digital ad was delivered in a brand suitable environment, fully viewable, by a real person and in the intended geography. The Company’s software interface, DV Pinnacle, delivers these metrics to our customers in real time, allowing them to access critical performance data on their digital transactions. The Company’s software solutions are integrated across the entire digital advertising ecosystem, including programmatic platforms, 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 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., (the “Acquisition”) 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 is headquartered in New York, New York and has wholly-owned subsidiaries in numerous jurisdictions, including Israel, the United Kingdom, the United Arab Emirates, Germany, Singapore, Australia, Canada, Brazil, Belgium, Mexico, France, Japan, Spain, Finland, Italy and India, and operates in one reportable segment.  

XML 20 R9.htm IDEA: XBRL DOCUMENT v3.24.2
Basis of Presentation and Summary of Significant Accounting Policies
6 Months Ended
Jun. 30, 2024
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, 2024 and December 31, 2023, the Condensed Consolidated Statements of Operations and Comprehensive Income for the three and six months ended June 30, 2024 and 2023, the Condensed Consolidated Statements of Stockholders’ Equity for the three and six months ended June 30, 2024 and 2023, and the Condensed Consolidated Statements of Cash Flows for the six months ended June 30, 2024 and 2023 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 Company’s audited consolidated financial statements and related notes included in its Annual Report on Form 10-K for the year ended December 31, 2023.

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 including, 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, assumptions in valuing acquired assets and liabilities assumed in business combinations, 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.

Short-term Investments

Debt Securities

The Company’s accounting for debt securities varies depending on the legal form of the security, our intended holding period for the security, and the nature of the transaction. Investments in marketable debt securities include U.S. treasury bills. The Company considers all of its marketable debt securities as available for use in current operations and, therefore, classifies these securities as Short-term investments on the Condensed Consolidated Balance Sheets. Marketable debt securities are classified as available-for-sale and are initially recorded at fair value. Unrealized gains and losses related to available-for-sale debt securities are recorded as a separate component of Other comprehensive (loss) income, net of tax on the Condensed Consolidated Statements of Operations and Comprehensive Income until realized. Interest on marketable debt securities classified as available-for-sale is included as a component of Other income, net on the Condensed Consolidated Statements of Operations and Comprehensive Income. Refer to Footnote 8, Fair Value Measurement, for further information.

The Company accounts for credit losses on available-for-sale debt securities in accordance with ASC 326, “Financial Instruments - Credit Losses” (“ASC 326”). The Company uses ASC 326 to assess the investment portfolio for impairment at the individual security level and evaluates all securities in an unrealized loss position to determine if the impairment is credit related (realized loss recorded in earnings) or non-credit related (unrealized loss).

Recently Issued Accounting Pronouncements

Segment Reporting – Improvements to Reportable Segment Disclosures

In November 2023, the FASB issued Accounting Standards Update (“ASU”) No. 2023-07, “Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures”, which expands annual and interim disclosure requirements for reportable segments, primarily through enhanced disclosures about significant segment expenses. The updated standard is effective for fiscal years beginning after December 15, 2023 and interim periods within fiscal years beginning after December 15, 2024. Early adoption is permitted and the update requires retrospective application to all prior periods presented. The Company is currently in the process of evaluating the impact of this standard on the Company’s Condensed Consolidated Financial Statements.

Income Taxes – Improvements to Income Tax Disclosures

In December 2023, the FASB issued ASU No. 2023-09, “Income Taxes (Topic 740): Improvements to Income Tax Disclosures” (“ASU 2023-09”), which expands annual disclosure requirements related to the rate reconciliation and income taxes paid disclosures. ASU 2023-09 requires consistent categories and greater disaggregation of information in the rate reconciliation and income taxes paid to be disaggregated by jurisdiction. The updated standard is effective for fiscal years beginning after December 15, 2024. Early adoption is permitted and the update may be applied on a prospective basis with retrospective application permitted. The Company is currently in the process of evaluating the impact of this standard on the Company’s Condensed Consolidated Financial Statements.

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

3.     Revenue

The following table disaggregates revenue between advertiser customers, where revenue is generated based on the number of ads measured for Measurement or measured and purchased for Activation, 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 was as follows:

Three Months Ended

    

Six Months Ended

June 30, 

June 30, 

(in thousands)

    

2024

    

2023

    

2024

    

2023

Activation

$

87,471

$

77,942

$

166,793

$

147,834

Measurement

 

54,817

 

44,989

 

104,092

 

86,374

Supply-side customer

 

13,602

 

10,813

 

25,787

 

22,130

Total revenue

$

155,890

$

133,744

$

296,672

$

256,338

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 $54.6 million and $55.0 million as of June 30, 2024 and December 31, 2023, respectively.

Remaining Performance Obligations

As of June 30, 2024, the Company had $16.9 million of remaining performance obligations which are expected to be recognized over the next one to three years. These non-cancelable supply-side arrangements have original expected durations longer than one year and for which the consideration is not variable. These obligations relate primarily to the Company’s supply-side revenue which represented $25.8 million, or 8.7% of the Company’s total revenue for the six months ended June 30, 2024. The vast majority of the Company’s revenue is derived primarily from our advertising customers and partners based on the volume of media transactions, or ads, that our software platform measures, and not from supply-side arrangements. In determining the remaining performance obligations, the Company applied the allowable practical expedient and did not disclose information about (1) contracts remaining performance obligations that have original expected durations of one year or less and (2) contracts for which the Company recognizes revenue at the amount to which it has the right to invoice for services performed.

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

4.      Business Combinations

Scibids Technology SAS

On August 14, 2023, the Company acquired all of the outstanding stock of Scibids Technology SAS (“Scibids”), a global leader in AI technology for digital campaign optimization. The acquisition combines DoubleVerify’s proprietary data with Scibids’ AI-powered optimization technology to provide advertiser customers with enhanced insights and control over their advertising performance.

The total purchase price of $121.1 million, net of cash acquired, includes measurement period adjustments of $0.3 million recorded during the three months ended June 30, 2024. The effect of these adjustments on the preliminary purchase price allocation was a decrease to the purchase consideration of $0.3 million and a corresponding decrease recorded to Goodwill on the Condensed Consolidated Balance Sheets.

The preliminary allocations of the purchase price for Scibids are subject to revisions as additional information is obtained about the facts and circumstances that existed as of the acquisition date. The revisions may have a significant impact on the accompanying Condensed Consolidated Financial Statements. The allocations of the purchase price will be finalized once all information is obtained and assessed, not to exceed one year from the acquisition date. As of June 30, 2024, the purchase price allocation for Scibids is subject to the finalization of working capital adjustments.

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

5.    Goodwill and Intangible Assets

The following is a summary of changes to the goodwill carrying value from December 31, 2023 to June 30, 2024:

(in thousands)

    

    

Goodwill at December 31, 2023

$

436,008

Measurement period adjustments

(300)

Foreign exchange impact

(4,212)

Goodwill at June 30, 2024

$

431,496

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

(in thousands)

June 30, 2024

    

December 31, 2023

Gross Carrying

Accumulated

Net Carrying

Gross Carrying

Accumulated

Net Carrying

    

Amount

    

Amortization

    

Amount

    

Amount

    

Amortization

    

Amount

Trademarks and brands

$

11,733

$

(5,561)

$

6,172

$

11,734

$

(5,140)

$

6,594

Customer relationships

 

160,520

(69,985)

 

90,535

 

161,173

 

(62,955)

 

98,218

Developed technology

 

92,243

(63,530)

 

28,713

 

93,013

 

(56,942)

 

36,071

Non-compete agreements

64

(64)

66

(66)

Total intangible assets

$

264,560

$

(139,140)

$

125,420

$

265,986

$

(125,103)

$

140,883

Amortization expense related to intangible assets for the three months ended June 30, 2024 and June 30, 2023 was $7.1 million and $6.4 million, respectively. Amortization expense related to intangible assets amounted to $14.4 million and $12.6 million for the six months ended June 30, 2024 and June 30, 2023, respectively.

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

(in thousands)

    

    

2024 (for remaining six months)

$

14,247

2025

26,702

2026

21,948

2027

18,045

2028

14,913

2029

12,562

Thereafter

 

17,003

Total

$

125,420

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

    

(In years)

Trademarks and brands

 

8

Customer relationships

 

6

Developed technology

2

There were no impairments of Goodwill or Intangible assets identified during the six months ended June 30, 2024 and June 30, 2023.

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

6.     Property, Plant and Equipment

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

As of

(in thousands)

June 30, 2024

December 31, 2023

Computers and peripheral equipment

    

$

26,360

    

$

25,013

Office furniture and equipment

 

3,554

 

3,170

Leasehold improvements

 

34,766

 

32,595

Capitalized software development costs

 

44,865

 

35,039

Less accumulated depreciation and amortization

 

(45,024)

 

(37,797)

Total property, plant and equipment, net

$

64,521

$

58,020

For the three months ended June 30, 2024 and June 30, 2023, total depreciation expense was $3.9 million and $3.3 million, respectively. For the six months ended June 30, 2024 and June 30, 2023, total depreciation expense was $7.5 million and $6.1 million, respectively.

Property and equipment under finance lease obligations, consisting of computer equipment, totaled $17.8 million as of June 30, 2024 and December 31, 2023, respectively. As of June 30, 2024 and December 31, 2023, accumulated depreciation related to property and equipment under finance lease obligations totaled $14.0 million and $12.9 million, respectively. Refer to Note 7, Leases.

There were no impairments of Property, plant and equipment identified during the six months ended June 30, 2024 and June 30, 2023.

XML 25 R14.htm IDEA: XBRL DOCUMENT v3.24.2
Leases
6 Months Ended
Jun. 30, 2024
Leases  
Leases

7.     Leases

The following table presents lease cost and cash paid for amounts included in the measurement of lease liabilities for finance and operating leases for the three and six months ended June 30, 2024 and 2023, respectively.

    

Three Months Ended June 30, 

 

Six Months Ended June 30, 

(in thousands)

2024

2023

 

2024

2023

Lease cost:

Operating lease cost (1)

$

2,690

$

2,582

$

5,327

$

5,169

Finance lease cost:

Depreciation of finance lease assets (2)

493

314

1,112

531

Interest on finance lease liabilities (3)

57

43

121

66

Short-term lease cost (1)

327

243

644

489

Sublease income (1)

(267)

(534)

Total lease cost

$

3,567

$

2,915

$

7,204

$

5,721

 

 

 

 

Other information:

Cash paid for amounts included in the measurement of lease liabilities

Operating cash outflows from operating leases

$

2,522

$

1,516

$

5,038

$

2,852

Operating cash outflows from finance leases

$

81

$

17

$

155

$

40

Financing cash outflows from finance leases

$

747

$

515

$

1,562

$

1,028

(1)Included in Cost of revenue, Sales, marketing and customer support, Product development and General and administrative expenses in the accompanying Condensed Consolidated Statements of Operations and Comprehensive Income.
(2)Included in Depreciation and amortization in the accompanying Condensed Consolidated Statements of Operations and Comprehensive Income.
(3)Included in Interest expense in the accompanying Condensed Consolidated Statements of Operations and Comprehensive Income.

The following table presents weighted-average remaining lease terms and weighted-average discount rates for finance and operating leases as of June 30, 2024 and 2023, respectively:

    

June 30, 

2024

 

2023

Weighted-average remaining lease term - operating leases (in years)

 

12.5

13.8

Weighted-average remaining lease term - finance leases (in years)

 

1.9

2.6

Weighted-average discount rate - operating leases

4.8%

4.5%

Weighted-average discount rate - finance leases

 

5.5%

5.2%

Maturities of lease liabilities as of June 30, 2024 were as follows:

    

June 30, 2024

(in thousands)

Operating Leases

Finance Leases

2024 (for remaining six months)

$

5,327

$

1,497

2025

 

10,153

 

2,150

2026

 

9,414

 

819

2027

 

8,863

 

2028

 

7,722

 

2029

8,145

Thereafter

67,156

Total lease payments

 

116,780

 

4,466

Less amount representing interest

 

(30,402)

 

(229)

Present value of total lease payments

$

86,378

$

4,237

As of June 30, 2024, the Company has entered into additional international office space leases that have not yet commenced with contractual commitments of $1.5 million. These operating leases will commence in fiscal year 2025 with lease terms of two to three years.

There were no impairments of Operating lease right-of-use assets identified during the six months ended June 30, 2024 and June 30, 2023.

XML 26 R15.htm IDEA: XBRL DOCUMENT v3.24.2
Fair Value Measurement
6 Months Ended
Jun. 30, 2024
Fair Value Measurement  
Fair Value Measurement

8.     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, 2024

Quoted Market

Prices in Active

Significant

Markets for

Significant Other

Unobservable

Identical Assets

Observable Inputs

Inputs

Total Fair Value

(in thousands)

(Level 1)

(Level 2)

(Level 3)

Measurements

Assets:

    

  

    

  

    

  

    

  

Cash equivalents

$

707

$

$

$

707

Short-term investments

$

82,754

$

$

$

82,754

As of December 31, 2023

Quoted Market

 

Prices in Active

Significant

Markets for

Significant Other

Unobservable

 

Identical Assets

 

Observable Inputs

Inputs

Tota1 Fair Value

(in thousands)

(Level 1)

(Level 2)

 

(Level 3)

Measurements

Assets:

    

 

  

    

 

  

    

 

  

    

 

  

Cash equivalents

 

$

61,463

$

$

 

$

61,463

 

As of June 30, 2024, Cash equivalents consisted of money market funds of $0.7 million. As of December 31, 2023, Cash equivalents consisted of treasury bills with original maturities at the date of purchase of three months or less and money market funds of $61.5 million.

Short-term investments consisted of treasury bills of $82.8 million as of June 30, 2024. As of June 30, 2024, all of the Company’s Short-term investments are contractually due within one year.

As of June 30, 2024 and December 31, 2023, the amortized cost of the Company’s treasury bills approximated fair value. The Company did not record any unrealized gains, unrealized losses, or credit losses for the three and six months ended June 30, 2024.

XML 27 R16.htm IDEA: XBRL DOCUMENT v3.24.2
Long-term Debt
6 Months Ended
Jun. 30, 2024
Long-term Debt.  
Long-term Debt

9.     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 Company’s prior credit agreement, as amended and restated on October 1, 2020 (the “Credit Agreement”) and (ii) replace the Company’s prior credit facilities 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 Borrower’s total net leverage ratio calculated in accordance with the Credit Agreement.

On March 29, 2023, the Company entered into an amendment to the New Revolving Credit Facility to replace the LIBOR based interest rate with a Secured Overnight Financing Rate (“SOFR”) based interest rate. The New Revolving Credit Facility bears interest at SOFR plus 2.00% or the Alternate Base Rate plus 1.00% (at the Company’s option), 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 on its ability 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 holders of its 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, each as defined in the Credit Agreement.

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

As of June 30, 2024 and December 31, 2023, there was no outstanding debt under the New Revolving Credit Facility.

XML 28 R17.htm IDEA: XBRL DOCUMENT v3.24.2
Income Tax
6 Months Ended
Jun. 30, 2024
Income Tax  
Income Tax

10.     Income Tax

The Company’s quarterly income tax provision is calculated using an estimated annual effective income tax rate (“ETR”) based on historical information and forward-looking estimates. The Company’s estimated annual ETR may fluctuate due to changes in forecasted annual pre-tax income, and changes to forecasted permanent book to tax differences (e.g., non-deductible expenses).

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 treats 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, 2024, the Company recorded an income tax provision of $5.4 million and $7.2 million, respectively, resulting in an effective tax rate of 42.0% and 32.9%, that includes the effects of various permanent book-to-tax adjustments, foreign tax rate differences, U.S. tax on foreign operations, and U.S. state/local taxes. During the three and six months ended June 30, 2023, the Company recorded an income tax provision of $4.0 million and $9.5 million, respectively, resulting in an effective tax rate of 23.1% and 27.2%.

A valuation allowance has been established against a small amount of foreign capital losses and certain U.S. tax loss carryforwards. All other net deferred tax assets have been determined to be more likely than not realizable. The Company regularly reviews its deferred tax assets for recoverability and would establish a valuation allowance if it believed that such assets may not be recovered, taking into consideration historical operating results, expectations of future earnings, changes in its operations, and the expected timing of the reversals of existing temporary differences.

The Company accounts for uncertainty in income taxes utilizing ASC 740-10, “Income Taxes.” ASC 740-10 clarifies whether or not to recognize assets or liabilities for tax positions taken that may be challenged by a tax authority. It prescribes a recognition threshold and measurement attribute for financial statement disclosure of tax positions taken or expected to be taken. This interpretation also provides guidance on derecognition, classification, interest and penalties, accounting in interim periods, and disclosures. The application of ASC 740-10 requires judgment related to the uncertainty in income taxes and could impact the Company’s effective tax rate.

The Company and its subsidiaries file income tax returns with the Internal Revenue Service (“IRS”) in various state and international jurisdictions. The Company’s Israeli subsidiary is under audit by the Israeli Tax Authority for the 2021 and later tax years. The Company is also under audit by the Commonwealth of Massachusetts for the 2019 and 2020 tax years. These examinations may lead to ordinary course adjustments or proposed adjustments to the Company’s taxes. Aside from the aforementioned, the Company is not currently under audit in any other jurisdiction.

XML 29 R18.htm IDEA: XBRL DOCUMENT v3.24.2
Earnings Per Share
6 Months Ended
Jun. 30, 2024
Earnings Per Share  
Earnings Per Share

11.   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, 2024 and June 30, 2023:

Three Months Ended

Six Months Ended

June 30, 

June 30, 

2024

2023

2024

2023

Numerator:

    

  

    

  

    

Net Income (basic and diluted)

$

7,474

$

12,839

$

14,630

$

25,014

Denominator:

 

 

 

 

Weighted-average common shares outstanding

 

171,628

 

166,540

 

171,467

 

166,088

Dilutive effect of share-based awards

 

4,333

 

5,948

 

5,383

 

6,041

Weighted-average dilutive shares outstanding

 

175,961

 

172,488

 

176,850

 

172,129

Basic earnings per share

$

0.04

$

0.08

$

0.09

$

0.15

Diluted earnings per share

$

0.04

$

0.07

$

0.08

$

0.15

Approximately 8.9 million and 3.9 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, 2024, respectively, because they were antidilutive. Approximately 8.6 million and 7.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, 2023, respectively, because they were also antidilutive.

XML 30 R19.htm IDEA: XBRL DOCUMENT v3.24.2
Stock-Based Compensation
6 Months Ended
Jun. 30, 2024
Stock-Based Compensation  
Stock-Based Compensation

12.   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.

On April 19, 2021, the Company established its 2021 Omnibus Equity Incentive Plan (“2021 Equity Plan”). 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.

Stock Options

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.

A summary of stock option activity as of and for the six months ended June 30, 2024 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, 2023

    

9,992

$

17.01

6.91

$

197,598

Options granted

 

Options exercised

 

(363)

7.09

Options forfeited

 

(46)

31.01

Outstanding as of June 30, 2024

 

9,583

$

17.32

6.42

$

61,419

Options expected to vest as of June 30, 2024

 

2,194

$

25.96

7.94

$

1,271

Options exercisable as of June 30, 2024

 

7,297

$

14.61

5.94

$

60,147

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, 2024. During the six months ended June 30, 2024, 50 stock options were exercised and 1,323 market-based and performance-based stock options remain outstanding as of June 30, 2024.

The total intrinsic value of options exercised during the six months ended June 30, 2024 and June 30, 2023 was $8.3 million and $34.1 million, respectively.

The Company’s board of directors (the “Board”) did not declare or pay dividends on any Company stock during the six months ended June 30, 2024 and June 30, 2023.

Restricted Stock Units (“RSUs”)

RSUs are subject to vesting schedules up to four years from the date of the grant and subject to certain restrictions upon employee separation.

A summary of RSUs activity as of and for the six months ended June 30, 2024 is as follows:

    

RSUs

Number of

Weighted Average

Shares

Grant Date Fair Value

Outstanding as of December 31, 2023

4,720

$

28.03

Granted

 

2,727

32.97

Vested

 

(1,063)

28.96

Forfeited

 

(152)

29.00

Outstanding as of June 30, 2024

 

6,232

$

30.01

The total grant date fair value of RSUs that vested during the six months ended June 30, 2024 was $30.8 million.

Performance Stock Units (“PSUs”)

PSUs are subject to vesting and performance periods of up to approximately three years from the date of the grant.

A summary of PSUs activity as of and for the six months ended June 30, 2024 is as follows:

PSUs

Weighted 

Average Grant 

Number of 

Date Fair 

    

Shares (1)

    

Value

Outstanding as of December 31, 2023

480

$

41.31

Granted

186

41.28

Vested

Forfeited

Outstanding as of June 30, 2024

 

666

$

41.30

(1) For awards for which the performance period is complete, the number of outstanding PSUs is based on the actual shares that will vest upon completion of the service period. For awards for which the performance period is not yet complete, the number of outstanding PSUs is based on the participants earning 100% of their target PSUs.

The fair market value of PSUs with market-based and service-based vesting conditions granted for the years presented has been estimated on the grant date using the Monte Carlo Simulation model with the following assumptions:

    

2024

Risk‑free interest rate (percentage)

 

3.9 - 4.1

Expected dividend yield (percentage)

 

Expected volatility (percentage)

 

46.7

Stock-based Compensation Expense

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

Three Months Ended

Six Months Ended

June 30, 

June 30, 

(in thousands)

 

2024

 

2023

 

2024

 

2023

Product development

$

9,734

$

5,975

$

17,107

$

10,354

Sales, marketing and customer support

 

7,503

 

4,746

 

13,439

 

8,253

General and administrative

 

7,478

 

4,446

 

14,410

 

8,373

Total stock-based compensation

$

24,715

$

15,167

$

44,956

$

26,980

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

Employee Stock Purchase Plan (“ESPP”)

In March 2021, the Board approved the Company’s 2021 ESPP. Purchases are accomplished through participation in discrete offering periods. The ESPP is available to U.S.-based employees and most of the Company’s non-U.S.-based employees. The current offering period began on June 1, 2024 and will end on November 30, 2024. The Company expects the program to continue consecutively for six-month offering periods for the foreseeable future.

Under the ESPP, eligible employees are able to acquire shares of the Company’s common stock by accumulating funds through payroll deductions. The purchase price for shares of common stock purchased under the ESPP is 85% of the lesser of the fair market value of the common stock on (i) the first trading day of the applicable offering period and (ii) the last trading day of the applicable offering period. Employees are required to hold shares purchased for a minimum of six months following the purchase date.

Stock-based compensation expense for the ESPP is recognized on a straight-line basis over the requisite service period of each award. Stock-based compensation expense related to the ESPP totaled $0.3 million and $0.5 million for the three and six months ended June 30, 2024, respectively. Stock-based compensation expense related to the ESPP totaled $0.2 million and $0.3 million for the three and six months ended June 30, 2023, respectively.

XML 31 R20.htm IDEA: XBRL DOCUMENT v3.24.2
Stockholders' Equity
6 Months Ended
Jun. 30, 2024
Stockholders' Equity  
Stockholders' Equity

13.   Stockholders’ Equity

Repurchase Program

On May 16, 2024, the Company announced that the Board authorized the repurchase of up to $150.0 million of the Company’s outstanding common stock (the “Repurchase Program”). Under the Repurchase Program, the Company may repurchase for cash from time to time shares of its common stock through open market purchases pursuant to Rule 10b-18 and/or Rule 10b5-1 plans, in compliance with applicable securities laws and other legal requirements. The Repurchase Program does not obligate the Company to repurchase any specific number of shares, has no time limit, and may be modified, suspended, or discontinued at any time at the Company’s discretion.

During the three months ended June 30, 2024, the Company repurchased 1.4 million shares of its common stock for an aggregate repurchase amount of $25.0 million, which included immaterial amounts of broker commissions. As of June 30, 2024, $125.0 million remained available and authorized for repurchase under the Repurchase Program. Activity under the Repurchase Program was recognized in the Condensed Consolidated Balance Sheets on a trade-date basis.

XML 32 R21.htm IDEA: XBRL DOCUMENT v3.24.2
Supplemental Financial Statement Information
6 Months Ended
Jun. 30, 2024
Supplemental Financial Statement Information  
Supplemental Financial Statement Information

14.   Supplemental Financial Statement Information

Accrued Expenses

Accrued expenses as of June 30, 2024 and December 31, 2023 were as follows:

    

As of

(in thousands)

June 30, 2024

    

December 31, 2023

Vendor payments

$

6,060

$

6,286

Employee commissions and bonuses

 

18,105

 

20,809

Payroll and other employee related expense

 

13,489

 

10,602

401k and pension expense

 

1,857

 

2,982

Other taxes

 

4,625

 

3,585

Total accrued expenses

$

44,136

$

44,264

Other Income, Net

The components of Other income, net recorded in the Condensed Consolidated Statements of Operations and Comprehensive Income were as follows:

Three Months Ended

Six Months Ended

June 30, 

June 30, 

(in thousands)

 

2024

 

2023

 

2024

 

2023

Interest income

$

(3,311)

$

(2,686)

$

(6,590)

$

(5,442)

Foreign currency exchange loss

 

1,239

 

209

 

2,217

 

229

Other miscellaneous expense, net

 

8

 

1

 

37

 

3

Other income, net

$

(2,064)

$

(2,476)

$

(4,336)

$

(5,210)

XML 33 R22.htm IDEA: XBRL DOCUMENT v3.24.2
Commitments and Contingencies
6 Months Ended
Jun. 30, 2024
Commitments and Contingencies.  
Commitments and Contingencies

15.   Commitments and Contingencies

Contingencies

Litigation

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 34 R23.htm IDEA: XBRL DOCUMENT v3.24.2
Segment Information
6 Months Ended
Jun. 30, 2024
Segment Information  
Segment Information

16.    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.

XML 35 R24.htm IDEA: XBRL DOCUMENT v3.24.2
Subsequent Events
6 Months Ended
Jun. 30, 2024
Subsequent Events  
Subsequent Events

17.    Subsequent Events

In July 2024, the Company repurchased 1.3 million shares of its common stock for an aggregate repurchase amount of $25.0 million, which included immaterial amounts of broker commissions. As of July 30, 2024, $100.0 million remained available and authorized for repurchase under the Repurchase Program.

XML 36 R25.htm IDEA: XBRL DOCUMENT v3.24.2
Pay vs Performance Disclosure - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2024
Mar. 31, 2024
Jun. 30, 2023
Mar. 31, 2023
Jun. 30, 2024
Jun. 30, 2023
Pay vs Performance Disclosure            
Net Income (Loss) $ 7,474 $ 7,156 $ 12,839 $ 12,175 $ 14,630 $ 25,014
XML 37 R26.htm IDEA: XBRL DOCUMENT v3.24.2
Insider Trading Arrangements
3 Months Ended
Jun. 30, 2024
Trading Arrangements, by Individual  
Rule 10b5-1 Arrangement Adopted false
Non-Rule 10b5-1 Arrangement Adopted false
Rule 10b5-1 Arrangement Terminated false
Non-Rule 10b5-1 Arrangement Terminated false
XML 38 R27.htm IDEA: XBRL DOCUMENT v3.24.2
Basis of Presentation and Summary of Significant Accounting Policies (Policies)
6 Months Ended
Jun. 30, 2024
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, 2024 and December 31, 2023, the Condensed Consolidated Statements of Operations and Comprehensive Income for the three and six months ended June 30, 2024 and 2023, the Condensed Consolidated Statements of Stockholders’ Equity for the three and six months ended June 30, 2024 and 2023, and the Condensed Consolidated Statements of Cash Flows for the six months ended June 30, 2024 and 2023 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 Company’s audited consolidated financial statements and related notes included in its Annual Report on Form 10-K for the year ended December 31, 2023.

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 including, 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, assumptions in valuing acquired assets and liabilities assumed in business combinations, 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.

Short-term Investments

Short-term Investments

Debt Securities

The Company’s accounting for debt securities varies depending on the legal form of the security, our intended holding period for the security, and the nature of the transaction. Investments in marketable debt securities include U.S. treasury bills. The Company considers all of its marketable debt securities as available for use in current operations and, therefore, classifies these securities as Short-term investments on the Condensed Consolidated Balance Sheets. Marketable debt securities are classified as available-for-sale and are initially recorded at fair value. Unrealized gains and losses related to available-for-sale debt securities are recorded as a separate component of Other comprehensive (loss) income, net of tax on the Condensed Consolidated Statements of Operations and Comprehensive Income until realized. Interest on marketable debt securities classified as available-for-sale is included as a component of Other income, net on the Condensed Consolidated Statements of Operations and Comprehensive Income. Refer to Footnote 8, Fair Value Measurement, for further information.

The Company accounts for credit losses on available-for-sale debt securities in accordance with ASC 326, “Financial Instruments - Credit Losses” (“ASC 326”). The Company uses ASC 326 to assess the investment portfolio for impairment at the individual security level and evaluates all securities in an unrealized loss position to determine if the impairment is credit related (realized loss recorded in earnings) or non-credit related (unrealized loss).

Recently Issued Accounting Pronouncements

Recently Issued Accounting Pronouncements

Segment Reporting – Improvements to Reportable Segment Disclosures

In November 2023, the FASB issued Accounting Standards Update (“ASU”) No. 2023-07, “Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures”, which expands annual and interim disclosure requirements for reportable segments, primarily through enhanced disclosures about significant segment expenses. The updated standard is effective for fiscal years beginning after December 15, 2023 and interim periods within fiscal years beginning after December 15, 2024. Early adoption is permitted and the update requires retrospective application to all prior periods presented. The Company is currently in the process of evaluating the impact of this standard on the Company’s Condensed Consolidated Financial Statements.

Income Taxes – Improvements to Income Tax Disclosures

In December 2023, the FASB issued ASU No. 2023-09, “Income Taxes (Topic 740): Improvements to Income Tax Disclosures” (“ASU 2023-09”), which expands annual disclosure requirements related to the rate reconciliation and income taxes paid disclosures. ASU 2023-09 requires consistent categories and greater disaggregation of information in the rate reconciliation and income taxes paid to be disaggregated by jurisdiction. The updated standard is effective for fiscal years beginning after December 15, 2024. Early adoption is permitted and the update may be applied on a prospective basis with retrospective application permitted. The Company is currently in the process of evaluating the impact of this standard on the Company’s Condensed Consolidated Financial Statements.

XML 39 R28.htm IDEA: XBRL DOCUMENT v3.24.2
Revenue (Tables)
6 Months Ended
Jun. 30, 2024
Revenue  
Schedule of disaggregated revenue

Three Months Ended

    

Six Months Ended

June 30, 

June 30, 

(in thousands)

    

2024

    

2023

    

2024

    

2023

Activation

$

87,471

$

77,942

$

166,793

$

147,834

Measurement

 

54,817

 

44,989

 

104,092

 

86,374

Supply-side customer

 

13,602

 

10,813

 

25,787

 

22,130

Total revenue

$

155,890

$

133,744

$

296,672

$

256,338

XML 40 R29.htm IDEA: XBRL DOCUMENT v3.24.2
Goodwill and Intangible Assets (Tables)
6 Months Ended
Jun. 30, 2024
Goodwill and Intangible Assets  
Summary of changes to the goodwill carrying value

(in thousands)

    

    

Goodwill at December 31, 2023

$

436,008

Measurement period adjustments

(300)

Foreign exchange impact

(4,212)

Goodwill at June 30, 2024

$

431,496

Schedule of intangible assets and related accumulated amortization

(in thousands)

June 30, 2024

    

December 31, 2023

Gross Carrying

Accumulated

Net Carrying

Gross Carrying

Accumulated

Net Carrying

    

Amount

    

Amortization

    

Amount

    

Amount

    

Amortization

    

Amount

Trademarks and brands

$

11,733

$

(5,561)

$

6,172

$

11,734

$

(5,140)

$

6,594

Customer relationships

 

160,520

(69,985)

 

90,535

 

161,173

 

(62,955)

 

98,218

Developed technology

 

92,243

(63,530)

 

28,713

 

93,013

 

(56,942)

 

36,071

Non-compete agreements

64

(64)

66

(66)

Total intangible assets

$

264,560

$

(139,140)

$

125,420

$

265,986

$

(125,103)

$

140,883

Schedule of estimated future expected amortization expense of intangible assets

(in thousands)

    

    

2024 (for remaining six months)

$

14,247

2025

26,702

2026

21,948

2027

18,045

2028

14,913

2029

12,562

Thereafter

 

17,003

Total

$

125,420

Schedule of weighted-average remaining useful life by major asset classes

    

(In years)

Trademarks and brands

 

8

Customer relationships

 

6

Developed technology

2

XML 41 R30.htm IDEA: XBRL DOCUMENT v3.24.2
Property, Plant and Equipment (Tables)
6 Months Ended
Jun. 30, 2024
Property, Plant and Equipment  
Schedule of property, plant and equipment

As of

(in thousands)

June 30, 2024

December 31, 2023

Computers and peripheral equipment

    

$

26,360

    

$

25,013

Office furniture and equipment

 

3,554

 

3,170

Leasehold improvements

 

34,766

 

32,595

Capitalized software development costs

 

44,865

 

35,039

Less accumulated depreciation and amortization

 

(45,024)

 

(37,797)

Total property, plant and equipment, net

$

64,521

$

58,020

XML 42 R31.htm IDEA: XBRL DOCUMENT v3.24.2
Leases (Tables)
6 Months Ended
Jun. 30, 2024
Leases  
Schedule of lease cost and other information about leases

    

Three Months Ended June 30, 

 

Six Months Ended June 30, 

(in thousands)

2024

2023

 

2024

2023

Lease cost:

Operating lease cost (1)

$

2,690

$

2,582

$

5,327

$

5,169

Finance lease cost:

Depreciation of finance lease assets (2)

493

314

1,112

531

Interest on finance lease liabilities (3)

57

43

121

66

Short-term lease cost (1)

327

243

644

489

Sublease income (1)

(267)

(534)

Total lease cost

$

3,567

$

2,915

$

7,204

$

5,721

 

 

 

 

Other information:

Cash paid for amounts included in the measurement of lease liabilities

Operating cash outflows from operating leases

$

2,522

$

1,516

$

5,038

$

2,852

Operating cash outflows from finance leases

$

81

$

17

$

155

$

40

Financing cash outflows from finance leases

$

747

$

515

$

1,562

$

1,028

(1)Included in Cost of revenue, Sales, marketing and customer support, Product development and General and administrative expenses in the accompanying Condensed Consolidated Statements of Operations and Comprehensive Income.
(2)Included in Depreciation and amortization in the accompanying Condensed Consolidated Statements of Operations and Comprehensive Income.
(3)Included in Interest expense in the accompanying Condensed Consolidated Statements of Operations and Comprehensive Income.

Schedule of weighted-average remaining lease terms and discount rates

The following table presents weighted-average remaining lease terms and weighted-average discount rates for finance and operating leases as of June 30, 2024 and 2023, respectively:

    

June 30, 

2024

 

2023

Weighted-average remaining lease term - operating leases (in years)

 

12.5

13.8

Weighted-average remaining lease term - finance leases (in years)

 

1.9

2.6

Weighted-average discount rate - operating leases

4.8%

4.5%

Weighted-average discount rate - finance leases

 

5.5%

5.2%

Schedule of the future operating lease commitment under agreement

Maturities of lease liabilities as of June 30, 2024 were as follows:

    

June 30, 2024

(in thousands)

Operating Leases

Finance Leases

2024 (for remaining six months)

$

5,327

$

1,497

2025

 

10,153

 

2,150

2026

 

9,414

 

819

2027

 

8,863

 

2028

 

7,722

 

2029

8,145

Thereafter

67,156

Total lease payments

 

116,780

 

4,466

Less amount representing interest

 

(30,402)

 

(229)

Present value of total lease payments

$

86,378

$

4,237

Schedule of maturities of finance lease liabilities

    

June 30, 2024

(in thousands)

Operating Leases

Finance Leases

2024 (for remaining six months)

$

5,327

$

1,497

2025

 

10,153

 

2,150

2026

 

9,414

 

819

2027

 

8,863

 

2028

 

7,722

 

2029

8,145

Thereafter

67,156

Total lease payments

 

116,780

 

4,466

Less amount representing interest

 

(30,402)

 

(229)

Present value of total lease payments

$

86,378

$

4,237

XML 43 R32.htm IDEA: XBRL DOCUMENT v3.24.2
Fair Value Measurement (Tables)
6 Months Ended
Jun. 30, 2024
Fair Value Measurement  
Schedule of financial instruments measured at fair value on recurring basis

As of June 30, 2024

Quoted Market

Prices in Active

Significant

Markets for

Significant Other

Unobservable

Identical Assets

Observable Inputs

Inputs

Total Fair Value

(in thousands)

(Level 1)

(Level 2)

(Level 3)

Measurements

Assets:

    

  

    

  

    

  

    

  

Cash equivalents

$

707

$

$

$

707

Short-term investments

$

82,754

$

$

$

82,754

As of December 31, 2023

Quoted Market

 

Prices in Active

Significant

Markets for

Significant Other

Unobservable

 

Identical Assets

 

Observable Inputs

Inputs

Tota1 Fair Value

(in thousands)

(Level 1)

(Level 2)

 

(Level 3)

Measurements

Assets:

    

 

  

    

 

  

    

 

  

    

 

  

Cash equivalents

 

$

61,463

$

$

 

$

61,463

 

XML 44 R33.htm IDEA: XBRL DOCUMENT v3.24.2
Earnings Per Share (Tables)
6 Months Ended
Jun. 30, 2024
Earnings Per Share  
Schedule of computations of the basic and diluted EPS

Three Months Ended

Six Months Ended

June 30, 

June 30, 

2024

2023

2024

2023

Numerator:

    

  

    

  

    

Net Income (basic and diluted)

$

7,474

$

12,839

$

14,630

$

25,014

Denominator:

 

 

 

 

Weighted-average common shares outstanding

 

171,628

 

166,540

 

171,467

 

166,088

Dilutive effect of share-based awards

 

4,333

 

5,948

 

5,383

 

6,041

Weighted-average dilutive shares outstanding

 

175,961

 

172,488

 

176,850

 

172,129

Basic earnings per share

$

0.04

$

0.08

$

0.09

$

0.15

Diluted earnings per share

$

0.04

$

0.07

$

0.08

$

0.15

XML 45 R34.htm IDEA: XBRL DOCUMENT v3.24.2
Stock-Based Compensation (Tables)
6 Months Ended
Jun. 30, 2024
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, 2023

    

9,992

$

17.01

6.91

$

197,598

Options granted

 

Options exercised

 

(363)

7.09

Options forfeited

 

(46)

31.01

Outstanding as of June 30, 2024

 

9,583

$

17.32

6.42

$

61,419

Options expected to vest as of June 30, 2024

 

2,194

$

25.96

7.94

$

1,271

Options exercisable as of June 30, 2024

 

7,297

$

14.61

5.94

$

60,147

Schedule of restricted stock activity

    

RSUs

Number of

Weighted Average

Shares

Grant Date Fair Value

Outstanding as of December 31, 2023

4,720

$

28.03

Granted

 

2,727

32.97

Vested

 

(1,063)

28.96

Forfeited

 

(152)

29.00

Outstanding as of June 30, 2024

 

6,232

$

30.01

Schedule of PSUs activity

PSUs

Weighted 

Average Grant 

Number of 

Date Fair 

    

Shares (1)

    

Value

Outstanding as of December 31, 2023

480

$

41.31

Granted

186

41.28

Vested

Forfeited

Outstanding as of June 30, 2024

 

666

$

41.30

(1) For awards for which the performance period is complete, the number of outstanding PSUs is based on the actual shares that will vest upon completion of the service period. For awards for which the performance period is not yet complete, the number of outstanding PSUs is based on the participants earning 100% of their target PSUs.

Schedule of stock-based compensation expense

Three Months Ended

Six Months Ended

June 30, 

June 30, 

(in thousands)

 

2024

 

2023

 

2024

 

2023

Product development

$

9,734

$

5,975

$

17,107

$

10,354

Sales, marketing and customer support

 

7,503

 

4,746

 

13,439

 

8,253

General and administrative

 

7,478

 

4,446

 

14,410

 

8,373

Total stock-based compensation

$

24,715

$

15,167

$

44,956

$

26,980

Performance share units (PSUs)  
Stock-Based Compensation  
Schedule of valuation assumptions

    

2024

Risk‑free interest rate (percentage)

 

3.9 - 4.1

Expected dividend yield (percentage)

 

Expected volatility (percentage)

 

46.7

XML 46 R35.htm IDEA: XBRL DOCUMENT v3.24.2
Supplemental Financial Statement Information (Tables)
6 Months Ended
Jun. 30, 2024
Supplemental Financial Statement Information  
Schedule of accrued expenses

    

As of

(in thousands)

June 30, 2024

    

December 31, 2023

Vendor payments

$

6,060

$

6,286

Employee commissions and bonuses

 

18,105

 

20,809

Payroll and other employee related expense

 

13,489

 

10,602

401k and pension expense

 

1,857

 

2,982

Other taxes

 

4,625

 

3,585

Total accrued expenses

$

44,136

$

44,264

Schedule of other income, net

Three Months Ended

Six Months Ended

June 30, 

June 30, 

(in thousands)

 

2024

 

2023

 

2024

 

2023

Interest income

$

(3,311)

$

(2,686)

$

(6,590)

$

(5,442)

Foreign currency exchange loss

 

1,239

 

209

 

2,217

 

229

Other miscellaneous expense, net

 

8

 

1

 

37

 

3

Other income, net

$

(2,064)

$

(2,476)

$

(4,336)

$

(5,210)

XML 47 R36.htm IDEA: XBRL DOCUMENT v3.24.2
Description of Business (Details) - segment
6 Months Ended
Jun. 30, 2024
Aug. 18, 2017
Business Combinations    
Number of reportable segments 1  
DoubleVerify Inc.    
Business Combinations    
Ownership percentage acquired   100.00%
XML 48 R37.htm IDEA: XBRL DOCUMENT v3.24.2
Revenue (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2024
Jun. 30, 2023
Jun. 30, 2024
Jun. 30, 2023
Dec. 31, 2023
Disaggregation of revenue          
Total revenue $ 155,890 $ 133,744 $ 296,672 $ 256,338  
Unbilled receivable 54,600   54,600   $ 55,000
Remaining performance obligation $ 16,900   $ 16,900    
Minimum | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-07-01          
Disaggregation of revenue          
Remaining performance obligations 1 year   1 year    
Maximum | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-07-01          
Disaggregation of revenue          
Remaining performance obligations 3 years   3 years    
Activation          
Disaggregation of revenue          
Total revenue $ 87,471 77,942 $ 166,793 147,834  
Measurement          
Disaggregation of revenue          
Total revenue 54,817 44,989 104,092 86,374  
Supply - side customer          
Disaggregation of revenue          
Total revenue $ 13,602 $ 10,813 $ 25,787 $ 22,130  
Supply-side revenue 8.70%   8.70%    
XML 49 R38.htm IDEA: XBRL DOCUMENT v3.24.2
Business Combinations - Acquisition (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2024
Jun. 30, 2024
Business Acquisition [Line Items]    
Adjustments recorded to goodwill   $ (300)
Scibids    
Business Acquisition [Line Items]    
Aggregate net cash purchase price $ 121,100  
Measurement period adjustments recorded 300  
Purchase consideration (300)  
Adjustments recorded to goodwill $ (300)  
XML 50 R39.htm IDEA: XBRL DOCUMENT v3.24.2
Goodwill and Intangible Assets - Goodwill (Details)
$ in Thousands
6 Months Ended
Jun. 30, 2024
USD ($)
Changes to the goodwill carrying value  
Goodwill at Beginning $ 436,008
Measurement period adjustments (300)
Foreign exchange impact (4,212)
Goodwill at Ending $ 431,496
XML 51 R40.htm IDEA: XBRL DOCUMENT v3.24.2
Goodwill and Intangible Assets - Summary of Company's intangible assets (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2024
Jun. 30, 2023
Jun. 30, 2024
Jun. 30, 2023
Dec. 31, 2023
Finite-Lived Intangible Assets [Line Items]          
Gross Carrying Amount $ 264,560   $ 264,560   $ 265,986
Accumulated Amortization (139,140)   (139,140)   (125,103)
Total 125,420   125,420   140,883
Amortization expense 7,100 $ 6,400 14,400 $ 12,600  
Trademarks and brands          
Finite-Lived Intangible Assets [Line Items]          
Gross Carrying Amount 11,733   11,733   11,734
Accumulated Amortization (5,561)   (5,561)   (5,140)
Total 6,172   6,172   6,594
Customer relationships          
Finite-Lived Intangible Assets [Line Items]          
Gross Carrying Amount 160,520   160,520   161,173
Accumulated Amortization (69,985)   (69,985)   (62,955)
Total 90,535   90,535   98,218
Developed Technology          
Finite-Lived Intangible Assets [Line Items]          
Gross Carrying Amount 92,243   92,243   93,013
Accumulated Amortization (63,530)   (63,530)   (56,942)
Total 28,713   28,713   36,071
Non-compete agreements          
Finite-Lived Intangible Assets [Line Items]          
Gross Carrying Amount 64   64   66
Accumulated Amortization $ (64)   $ (64)   $ (66)
XML 52 R41.htm IDEA: XBRL DOCUMENT v3.24.2
Goodwill and Intangible Assets - Estimated future expected amortization expense (Details) - USD ($)
$ in Thousands
Jun. 30, 2024
Dec. 31, 2023
Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]    
2024 (for remaining six months) $ 14,247  
2025 26,702  
2026 21,948  
2027 18,045  
2028 14,913  
2029 12,562  
Thereafter 17,003  
Total $ 125,420 $ 140,883
XML 53 R42.htm IDEA: XBRL DOCUMENT v3.24.2
Goodwill and Intangible Assets - Weighted-average remaining useful life (Details) - USD ($)
$ in Thousands
6 Months Ended
Jun. 30, 2024
Jun. 30, 2023
Finite-Lived Intangible Assets [Line Items]    
Impairment of intangible assets $ 0 $ 0
Impairment of goodwill $ 0 $ 0
Trademarks and brands    
Finite-Lived Intangible Assets [Line Items]    
Remaining useful life 8 years  
Customer relationships    
Finite-Lived Intangible Assets [Line Items]    
Remaining useful life 6 years  
Developed Technology    
Finite-Lived Intangible Assets [Line Items]    
Remaining useful life 2 years  
XML 54 R43.htm IDEA: XBRL DOCUMENT v3.24.2
Property, Plant and Equipment (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2024
Jun. 30, 2023
Jun. 30, 2024
Jun. 30, 2023
Dec. 31, 2023
Property, Plant and Equipment [Line Items]          
Less accumulated depreciation and amortization $ (45,024)   $ (45,024)   $ (37,797)
Total property, plant and equipment, net 64,521   64,521   58,020
Depreciation expense 3,900 $ 3,300 7,500 $ 6,100  
Property, plant and equipment          
Property, Plant and Equipment [Line Items]          
Impairments of Property, plant and equipment     0 $ 0  
Computers and Peripheral Equipment          
Property, Plant and Equipment [Line Items]          
Property, plant and equipment gross 26,360   26,360   25,013
Finance lease assets, gross 17,800   17,800   17,800
Finance lease assets, accumulated depreciation 14,000   14,000   12,900
Office Furniture and Equipment          
Property, Plant and Equipment [Line Items]          
Property, plant and equipment gross 3,554   3,554   3,170
Leasehold Improvements          
Property, Plant and Equipment [Line Items]          
Property, plant and equipment gross 34,766   34,766   32,595
Capitalized software development costs          
Property, Plant and Equipment [Line Items]          
Property, plant and equipment gross $ 44,865   $ 44,865   $ 35,039
XML 55 R44.htm IDEA: XBRL DOCUMENT v3.24.2
Leases - Leases Cost (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2024
Jun. 30, 2023
Jun. 30, 2024
Jun. 30, 2023
Lease cost:        
Operating lease cost (1) $ 2,690 $ 2,582 $ 5,327 $ 5,169
Finance lease cost        
Depreciation of finance lease assets (2) 493 314 1,112 531
Interest on finance lease liabilities (3) 57 43 121 66
Short-term lease cost (1) 327 243 644 489
Sublease income (1)   (267)   (534)
Total lease cost 3,567 2,915 7,204 5,721
Cash paid for amounts included in the measurement of lease liabilities        
Operating cash outflows from operating leases 2,522 1,516 5,038 2,852
Operating cash outflows from finance leases 81 17 155 40
Financing cash outflows from finance leases $ 747 $ 515 $ 1,562 $ 1,028
XML 56 R45.htm IDEA: XBRL DOCUMENT v3.24.2
Leases - Weighted-average remaining lease terms and discount rates (Details)
Jun. 30, 2024
Jun. 30, 2023
Leases    
Weighted-average remaining lease term - operating leases (in years) 12 years 6 months 13 years 9 months 18 days
Weighted-average remaining lease term - finance leases (in years) 1 year 10 months 24 days 2 years 7 months 6 days
Weighted-average discount rate - operating leases 4.80% 4.50%
Weighted-average discount rate - finance leases 5.50% 5.20%
XML 57 R46.htm IDEA: XBRL DOCUMENT v3.24.2
Leases - Maturities of Operating Lease Liabilities (Details)
$ in Thousands
Jun. 30, 2024
USD ($)
Maturities of operating lease liabilities  
2024 (for remaining six months) $ 5,327
2025 10,153
2026 9,414
2027 8,863
2028 7,722
2029 8,145
Thereafter 67,156
Total lease payments 116,780
Less amount representing interest (30,402)
Present value of total lease payments $ 86,378
XML 58 R47.htm IDEA: XBRL DOCUMENT v3.24.2
Leases - Maturities of Finance Lease Liabilities (Details)
$ in Thousands
Jun. 30, 2024
USD ($)
Maturities of finance lease liabilities  
2024 (for remaining six months) $ 1,497
2025 2,150
2026 819
Total lease payments 4,466
Less amount representing interest (229)
Present value of total lease payments $ 4,237
XML 59 R48.htm IDEA: XBRL DOCUMENT v3.24.2
Leases - Narratives (Details)
$ in Millions
Jun. 30, 2024
USD ($)
Minimum  
Unrecorded Unconditional Purchase Obligation [Line Items]  
Lease Term 2 years
Maximum  
Unrecorded Unconditional Purchase Obligation [Line Items]  
Lease Term 3 years
Operating Lease, Lease Not yet Commenced  
Unrecorded Unconditional Purchase Obligation [Line Items]  
Unconditional Purchase Obligation $ 1.5
XML 60 R49.htm IDEA: XBRL DOCUMENT v3.24.2
Fair Value Measurement - Fair value on a recurring basis (Details) - Recurring - USD ($)
$ in Thousands
Jun. 30, 2024
Dec. 31, 2023
Assets:    
Cash equivalents $ 707 $ 61,463
Short-term investments 82,754  
Level 1    
Assets:    
Cash equivalents 707 $ 61,463
Short-term investments $ 82,754  
XML 61 R50.htm IDEA: XBRL DOCUMENT v3.24.2
Fair Value Measurement - Narrative (Details) - USD ($)
$ in Millions
Jun. 30, 2024
Dec. 31, 2023
Treasury Bills    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Short-term investments $ 82.8  
Level 1 | Money market funds and time deposits    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Cash equivalents $ 0.7 $ 61.5
XML 62 R51.htm IDEA: XBRL DOCUMENT v3.24.2
Long-term Debt (Details)
$ in Thousands
Mar. 29, 2023
Oct. 01, 2020
USD ($)
Jun. 30, 2024
USD ($)
Dec. 31, 2023
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%    
Letter of Credit        
Debt Instrument [Line Items]        
Maximum borrowing capacity   $ 15,000    
New Revolving Credit Facility        
Debt Instrument [Line Items]        
Aggregate principal amount   $ 150,000    
Outstanding amount     $ 0 $ 0
New Revolving Credit Facility | SOFR        
Debt Instrument [Line Items]        
Spread rate 2.00%      
New Revolving Credit Facility | Alternate Base Rate        
Debt Instrument [Line Items]        
Spread rate 1.00%      
XML 63 R52.htm IDEA: XBRL DOCUMENT v3.24.2
Income Tax (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2024
Jun. 30, 2023
Jun. 30, 2024
Jun. 30, 2023
Income Tax        
Income tax provision $ 5,406 $ 4,034 $ 7,185 $ 9,541
Effective tax rate 42.00% 23.10% 32.90% 27.20%
XML 64 R53.htm IDEA: XBRL DOCUMENT v3.24.2
Earnings Per Share (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2024
Mar. 31, 2024
Jun. 30, 2023
Mar. 31, 2023
Jun. 30, 2024
Jun. 30, 2023
Numerator:            
Net Income (Loss) $ 7,474 $ 7,156 $ 12,839 $ 12,175 $ 14,630 $ 25,014
Denominator:            
Weighted-average common shares outstanding 171,628   166,540   171,467 166,088
Dilutive effect of share-based awards 4,333   5,948   5,383 6,041
Weighted-average dilutive shares outstanding 175,961   172,488   176,850 172,129
Basic earnings per share $ 0.04   $ 0.08   $ 0.09 $ 0.15
Diluted earnings per share $ 0.04   $ 0.07   $ 0.08 $ 0.15
Weighted average shares issuable under stock-based awards, excluded from diluted EPS calculation 8,900   8,600   3,900 7,700
XML 65 R54.htm IDEA: XBRL DOCUMENT v3.24.2
Stock-Based Compensation (Details)
6 Months Ended
Jun. 30, 2024
Equity Incentive Program  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Term of award 10 years
Employee Stock Option  
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
Performance share units (PSUs)  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Vesting period 3 years
XML 66 R55.htm IDEA: XBRL DOCUMENT v3.24.2
Stock-Based Compensation - Stock option activity (Details)
$ / shares in Units, shares in Thousands, $ in Thousands
6 Months Ended 12 Months Ended
Jun. 30, 2024
USD ($)
$ / shares
shares
Dec. 31, 2023
USD ($)
$ / shares
shares
Number of Options    
Outstanding beginning balance | shares 9,992  
Options exercised | shares (363)  
Options forfeited | shares (46)  
Outstanding ending balance | shares 9,583 9,992
Options expected to vest | shares 2,194  
Options exercisable | shares 7,297  
Weighted Average Exercise Price    
Outstanding beginning balance (in dollars per share) | $ / shares $ 17.01  
Options exercised (in dollars per share) | $ / shares 7.09  
Options forfeited (in dollars per share) | $ / shares 31.01  
Outstanding ending balance (in dollars per share) | $ / shares 17.32 $ 17.01
Options expected to vest (in dollars per share) | $ / shares 25.96  
Options exercisable (in dollars per share) | $ / shares $ 14.61  
Additional disclosures    
Weighted Average Remaining Contractual Life (Years) 6 years 5 months 1 day 6 years 10 months 28 days
Options expected to vest (in years) 7 years 11 months 8 days  
Options exercisable (Years) 5 years 11 months 8 days  
Aggregate Intrinsic Value, outstanding (Beginning balance) | $ $ 197,598  
Aggregate Intrinsic Value, outstanding (ending balance) | $ 61,419 $ 197,598
Aggregate Intrinsic Value, expected to vest | $ 1,271  
Aggregate Intrinsic Value, exercisable | $ $ 60,147  
XML 67 R56.htm IDEA: XBRL DOCUMENT v3.24.2
Stock-Based Compensation - Additional information (Details) - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2024
Jun. 30, 2023
Jun. 30, 2024
Jun. 30, 2023
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Outstanding ending balance 9,583   9,583  
Intrinsic value     $ 8,300 $ 34,100
Options exercised     363  
Stock-based compensation expense $ 24,715 $ 15,167 $ 44,956 26,980
2021 Employee Stock Purchase Plan        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Purchase price of common stock purchased (in percent)     85.00%  
Stock-based compensation expense $ 300 $ 200 $ 500 $ 300
Performance and Market Based Options        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Granted     0  
Outstanding ending balance 1,323   1,323  
Options exercised     50  
Restricted Stock Units (RSUs)        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Vested, Fair value     $ 30,800  
XML 68 R57.htm IDEA: XBRL DOCUMENT v3.24.2
Stock-Based Compensation - RSUs and PSUs (Details)
shares in Thousands
6 Months Ended
Jun. 30, 2024
$ / shares
shares
Restricted Stock Units (RSUs)  
Number of Shares  
Outstanding beginning balance | shares 4,720
Granted | shares 2,727
Vested | shares (1,063)
Forfeited | shares (152)
Outstanding ending balance | shares 6,232
Weighted Average Grant Date Fair Value  
Outstanding beginning balance (in dollars per share) | $ / shares $ 28.03
Granted (in dollars per share) | $ / shares 32.97
Vested (in dollars per share) | $ / shares 28.96
Forfeited (in dollars per share) | $ / shares 29.00
Outstanding ending balance (in dollars per share) | $ / shares $ 30.01
Performance share units (PSUs)  
Number of Shares  
Outstanding beginning balance | shares 480
Granted | shares 186
Outstanding ending balance | shares 666
Weighted Average Grant Date Fair Value  
Outstanding beginning balance (in dollars per share) | $ / shares $ 41.31
Granted (in dollars per share) | $ / shares 41.28
Outstanding ending balance (in dollars per share) | $ / shares $ 41.30
XML 69 R58.htm IDEA: XBRL DOCUMENT v3.24.2
Stock-Based Compensation - Valuation Assumptions (Details) - Performance share units (PSUs)
6 Months Ended
Jun. 30, 2024
Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions and Methodology [Abstract]  
Risk - free interest rate (percentage), minimum 3.90%
Risk - free interest rate (percentage), maximum 4.10%
Expected volatility (percentage) 46.70%
XML 70 R59.htm IDEA: XBRL DOCUMENT v3.24.2
Stock-Based Compensation - Stock-based compensation expense (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2024
Jun. 30, 2023
Jun. 30, 2024
Jun. 30, 2023
Share-based payment arrangements information        
Total stock-based compensation $ 24,715 $ 15,167 $ 44,956 $ 26,980
Unrecognized stock-based compensation expense 203,200   $ 203,200  
Weighted-average period over which unrecognized stock-based compensation expense are expected to be recognized     1 year 4 months 24 days  
Product development        
Share-based payment arrangements information        
Total stock-based compensation 9,734 5,975 $ 17,107 10,354
Sales, marketing and customer support        
Share-based payment arrangements information        
Total stock-based compensation 7,503 4,746 13,439 8,253
General and administrative        
Share-based payment arrangements information        
Total stock-based compensation $ 7,478 $ 4,446 $ 14,410 $ 8,373
XML 71 R60.htm IDEA: XBRL DOCUMENT v3.24.2
Stockholders' Equity (Details) - USD ($)
$ in Thousands, shares in Millions
3 Months Ended
Jul. 30, 2024
Jun. 30, 2024
May 16, 2024
Share repurchase program, amount repurchased $ 25,000 $ 25,027  
Share Repurchase Program, Remaining Authorized, Amount $ 100,000    
Share Repurchase Program [Member]      
Share repurchase program, authorized amount     $ 150,000
Share Repurchase Program [Member] | Common Stock      
Share repurchase program, shares repurchased   1.4  
Share repurchase program, amount repurchased   $ 25,000  
Share Repurchase Program, Remaining Authorized, Amount   $ 125,000  
XML 72 R61.htm IDEA: XBRL DOCUMENT v3.24.2
Supplemental Financial Statement Information (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2024
Jun. 30, 2023
Jun. 30, 2024
Jun. 30, 2023
Dec. 31, 2023
Accrued Expenses          
Vendor payments $ 6,060   $ 6,060   $ 6,286
Employee commissions and bonuses 18,105   18,105   20,809
Payroll and other employee related expense 13,489   13,489   10,602
401k and pension expense 1,857   1,857   2,982
Other taxes 4,625   4,625   3,585
Total accrued expense 44,136   44,136   $ 44,264
Other Income, Net          
Interest income (3,311) $ (2,686) (6,590) $ (5,442)  
Foreign currency exchange loss 1,239 209 2,217 229  
Other miscellaneous expense, net 8 1 37 3  
Other income, net $ (2,064) $ (2,476) $ (4,336) $ (5,210)  
XML 73 R62.htm IDEA: XBRL DOCUMENT v3.24.2
Segment Information (Details)
6 Months Ended
Jun. 30, 2024
segment
Segment Information  
Number of operating segments 1
Number of reportable segments 1
XML 74 R63.htm IDEA: XBRL DOCUMENT v3.24.2
Subsequent Events (Details) - USD ($)
$ in Thousands, shares in Millions
3 Months Ended
Jul. 30, 2024
Jun. 30, 2024
Subsequent Event [Line Items]    
Remaining Authorized, Amount $ 100,000  
Share repurchase program, amount repurchased $ 25,000 $ 25,027
Subsequent Event | Share Repurchase Program [Member]    
Subsequent Event [Line Items]    
Share repurchase program, shares repurchased 1.3  
EXCEL 75 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( /&!_E@'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 " #Q@?Y8R*9O,N\ K @ $0 &1O8U!R;W!S+V-O&ULS9+/ M:L,P#(=?9?B>R$GV!TSJ2\M.&PQ6V-C-V&IK&L?&UDCZ]DN\-F5L#["CI9\_ M?0*U.@CM([Y$'S"2Q70SNJY/0H<5.Q % 9#T 9U*Y93HI^;.1Z=H>L8]!*6/ M:H]0M[!] M(M5KG'XE*^@4<,4ND]^:]6;[R&3-Z]N"/Q0-W]9<5'>BKCYFUQ]^5V'GC=W9 M?VQ\$90M_+H+^0502P,$% @ \8'^6)E&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" #Q@?Y8G1$.D-4% #X'@ & 'AL+W=O3=GHA; &>M2U7ED/X M]SVRP4ZV\C'U+#=@&Y\7/3KZ>"6=KZ7ZDJZ$T.0E"N/THK/2.GG7ZZ7>2D0\ M/9:)B.&7A501UW"KEKTT48+[>5 4]ICC#'H1#^+.Z#Q_-E6CJ>('D8C30,9$B<5% M9TS?35QF O(W/@=BG;ZZ)@9E+N47Y?B^V0"=&SY-A MFG^2=?%NO]\A7I9J&6V#H011$!??_&5;$:\#:$T VP:PKP)HW3^XVP W!RU* MEF-=<EY6^7+0IG5* _(!QGK50JJOO#?QO>@E&51 MV:ZHEPP5_#6+CXGK'!'FL+ZE/).F\/"8,&8+?U,*>OS MB&LM>)A:$XF&M00T?S)@5EXTN"TOJWC9/KQCWP=U M:(C;"W('[Y&/L3VON&1_P,BEDMQ?\XV5& UO2USY)(KZC_\03\P=M.9'N8ZM MM+C/;>XY/V3E?,0]HA6 M_HCBKN;KC$YEJGE(_@R2^J$)5Z0P#[E6TD,X)5I9)8H[G+RMCF%]7 ^&"S!J M'X0.88QHY8PH;F?NI ?YFJYDC#F'!I&!2[N,4FKE.X0OHI4QHKBK>0PT>"*Y M()3]./^)S(27*3/"H MMIR5#V)[^:#;&!;8Q5Z>683R';B5$U>LXSR$^V&5^V%[N1^S2 ,##X9@*95U M(&K0N>,*VOK8\P0(@8Q?2%J)#^&"6.6"V%XN:!;Q,"2760H_I_9VB^O4KKGQ MN+9\E?MA>[F?ZTBHI>F8OX""7H%!B!(>VU.+"]:#'L+\L,K\,-R[[!*Y$I!( M# ^7J<<[A EBE0EBN'_9C;1O9OA9OMM-/F8:+&ULYD\K\3>R-]MZ*-1..T^\/C;EZMD%63HCMM46[C7WQ0GX3]CPV;14Y=$C/SMC0 M"G$(L\,JL\-PK[*;+V^"U%C;)P%.#=O8;)#K=BGKNE9KBT>V!'4K_^,V;.+L M=C5?D][ 0^L0VR!6MVV+A[5EK#R0BSN6KQFW&]7UE+C<)^L2# ]JRUCY'Q=W M*V, ] O(D%L'F0:!VF$5C_N_8+U79XMFQLN/7%/BF:W(XIBQ?%H>ZX[SP\Q> M]7IQ)OR!FPDS):%80*AS? HCGBJ.68L;+9/\I'(NM991?KD2W!?*O "_+Z34 MNQOS!^5A]^A?4$L#!!0 ( /&!_EA*=DA9.0< .\= 8 >&PO=V]R M:W-H965T&ULK5G;8@BQ62$(A0#N>K]\&)9,2 4+.3AX2DV*C>;H!]#EHGC[*^IM:"Z'1 MC[*HU-EDK?7FW6RFLK4HN7HK-Z*")RM9EUS#;7T_4YM:\&4[J"QF%.-H5O*\ MFLQ/V]\^U?-3V>@BK\2G&JFF+'G]]$$4\O%L0B;//WS.[]?:_#";GV[XO5@( M_77SJ8:[6>=EF9>B4KFL4"U69Y-S\NZ"169 :_%G+A[5WC4RH=Q)^ !",#Z&X ?>D MAO VD"WR-JP+KGF\]-:/J+:6(,W<]'FIAT-T>25F<:% MKN%I#N/T_.+VYO+J9G%UB>!JPY,WZ 1]75RBUZ_>H%(HHIH%C^(5_^*7(8#AIA[/#X3/(0I<*VJ6"MO[86"J:NA:51EPIH9WA M;,<'[O%FP[U3&YZ)LPGL*"7J!S&9__,?),+O7<'](F<'H;(N5.;S/K_@:HU@ MTE!F+L3W)G_@!<3NC'KK*FI=F:KP,*=AA*/H=/:P'X]MQ@@FC'1F!TB##FG@ M1;I8RUJ?:%&7L-@>A-+E&,RMGW#O_0F-PV" TONV_S/K81=+Z(WE2\V7 FI? M)B#==X504U1!H98KQ LHI[S*A$)0F=%2-G=ZU110Y#+90+S&YE4Z#:.@G36X M# (*"]7\#KM(=+NH?0P;0Y1WHNXVQQ1>JC:BK9C%DRMYH94\DL1Q1 ;9L\TH MCM)@9(ZC+B^1-R^?:K'A^1*)'T!."G)@@I!Z#1%D1_=D9$%B-(WC 7#;BH0I MPV[<<8<[]L^GU+QX <38>GD8IF&8## ZS!C#F+I!)AW(Y$AR@?)K_31%FX(; MF)!;L^$W9B.U"] %.;&P1$%(A\O!M@H33$>RFG: 4R_@6X#+=5[=HT( /Z/: M$/&)7)TT<+--\BCLU(8=D3 @4UPSZ38"_QW*9>/>5$XB1!;[PP8 M"=)A$77:11@G(^#V:)YXP5U7FE?W.52=8SG<.3K8*S0,]J9U!]5A%^ D82-0 M>QHF7NH#7E\)V%)+I/D/SZ[:>3DH1BRV:,EA1AC>*Q"'*'L&)7X*O6WK4R6K MD^,%8.?J $-,AS7*917&([65] 1*_ RZK5(><#9Q$AK3*&!#?"[#@.$QBB<] M+Y+P1^MG^LS+3M@V<8%4)=:"M\U23-,1U#V_$3_!75>9+$5;W8XM>)NIDKV)W:&T MC<*$C51AVK,9];/9\Y[<@/XVYVU0FJN\,AIUEVQY5^3WW#QSGY5L)J,L':;8 M996RD85!>[:C?K:[/1"/1[),'41&@F!8GAUF21*-Y7GOT.EGNT,1>0RJ369Q M&M*AP'&8)2S9TT&'6'O.HTSV[]0QR-J;^OJ/#Z'MF MI*E7!RZTS+ZM9;$4M?I7>TK5SFX%]1+L3S?B?I&WPTY<3[3L"-'"E ._*A/[ M%+W";S$FH MK],"+1DP1F6*,S3^DUKPVW9%&KV6=_R66\#"FTX@%SX]RI8QD M,RN'Q&1*@P#)1BLX^BU-U78TC-X?\T^F)$I&_),@J@.G MT7 "M6D_I1&.AC+,89?$H,/& MX/8"@1T1"#505E,_/:\0KJ$J*&T6!DO[28,IH;2[^W6=069KB1,:!M;IT&47 M!R.\S?8:U7[)\5EH#C_!,837%:PQ=X?:%@T43B&6H'?8D31)QUH6K%<7S*\N MX*S4E$W!M>@:E[*$:K$VW[L>0'5(U3=[\T[_NTF(V;KB)*6!M> <9C3!8['T M^H,=Z5*W1*E>6(J9HW-,<$@B*_<.0QS#B6!$A[!>A[ C)^DAL[=+_<4!1-9W M"W?[PVGH:G_,]K[&F4^A_^'U?5XID)XK&(G?QI"#>OMU<7NCY:;]0'[D6'( ; WB^DD#[NQOSS:_[QCO_'U!+ P04 " #Q@?Y8%7119^\" "Q M" & 'AL+W=O210#N(1(&IG3J*"FRO37(0JTG,; ?:??J=DS0"FK:K-%X0/]S__+MS[$MO MQ\6#C $4>4R33/:-6*G-I6G*,(:4RA;?0(8S*RY2JK KUJ;<"*!1(4H3T[$L MWTPIRXR@5XQ-1=#CN4I8!E-!9)ZF5#Q=0<)W?<,VG@?NV3I6>L ,>ANZAAFH MQ68JL&?67B*60B89SXB 5=\8V)?#KK8O#'XRV,F]-M&1+#E_T)V;J&]8&@@2 M")7V0/&QA2$DB7:$&+\KGT:]I!;NMY^]?RMBQUB65,*0)[]8I.*^T35(!"N: M)^J>[ZZABJ>M_84\D<4_V56VED'"7"J>5F(D2%E6/NECE8<]@>V](G J@?.O M K<2N$6@)5D1UH@J&O0$WQ&AK=&;;A2Y*=08#YN;T:#.7:N!K>#R7!,9M?C\7Q&3A>3P6)T@S-GY'1*!60J!L5"FIR1 M+V0Q&Y'3DS,B8YR1A&5D'O-_!7- (\#"'P+9TF0#N=X8W M#U\1FN#]0+,0&K>\].H77O4]LPTNVC[N[G8_L 8CSW-JHP-@KP;VW@0>\C3% MRP./5?AP3C94D"U-^(]WV[ V*_)O8_3LRDS)MI_9<4'<=WC]^ )C/;]KO-K)V: MM?-Q5BQP4N$-Q;)U$W"GB<3QCH$;S6S/;P;NUL#==TX94)F+IT/D)LSNR_7= MB^-7X*61Z4C'4E'TLE+ M63V)!><2O>99(4X'"RF7Q\.AF"YXGHBC6)5(_5?"B6%4]F35"> M#8GCL&&>I,5@=-*\NZE&)^5*9FG!;RHD5GF>5-_.>5:^G [PX.W%;3I?R/K% M<'2R3.9\PN7]\J923\-UEEF:\T*D98$J_G@Z.,/',6%U0(/XFO(7L?$=U50> MRO*I?KB8G0Z M$L''9?9'.I.+TT$P0#/^F*PR>5N^?.$=(:_.-RTST?Q'+QW6&:#I2L@R[X)5 M#?*T:#^3UZXA-@)4'CB = %$#Z [ MPNP/W1$F@70'^T!*\+:*@/6^Y-PT6) M3$8G5?F"JAJMLM5?FM9OHE5[I44ME(FLU*^IBI.C\?55%%]-X@BI;Y/KWR^B MLSOU,+E3'Y?QU=T$77]&US?Q[=G=A0*@LZL:>7ES&W]181=?8W1QI9YC='!_ M=78?7:C@C^@0W4\B=/#A(Q*+I.("I06Z6Y0KD10S\0E]V'H^&4K%HZ[-<-K5 M^;RM,]E19Q==EH5<"!07,SX#XB-[/+/$#U7[K1N1O#7B.;$F_&U5'"'7^82( M0RA0G_&/A[L0G?]6>ORO2]]J#'>M*+?)Y_Z/BH(TTM:"PK6HY]=CL4RF_'2@ M)E#!JV<^&/W\$V;.+U '[3-9M,]D\9Z2;74E7780]+PB=D^'S9KL",-?U*=V&12:,A(SY9!L6 S"/N6ZPAFVQ]-8L/2O+ M<2DD*A_5LM>P10?\=9JMA%J_ZKKJ53M\JRH+I5GD!!;9I3MAH'#-+8 "H=49VNB?*:,D,;61#&'A@QF MZZ_9^E:VDR3C:L52'NJ)R[28-PIHEV5>VZWE4HD!XN\;M:$T8*[&WT2YV'-] MC;^)"HCO>AI_$^7YA(8P_V#-/[#R_Y47O$JR5O@SY3]2(972U=B 2 >F>%V' MZ9UNHG#H>QJ=R$11#^O2B$V4&X:[)!ZN28=6TI%MR$.\0Y,1=AQMDAN;J)#Y M6N-$)HC@T-4G0J# @'D[^AH[O1=TK,0OBJG2-7JLRARIK4C5$(8-F@-1WE!; M2QF"469,_Q#,#W58#,!(&- =TS_>L,#X.[0E5XNG1/Q5[;\$*.TNQ;:V]>$, M@:@^F@$09?I@!D">LT/6F/1$B97HM5RH62MM>OD3*C@X]%L=4?O2GZ@:LM->^8(YF\;,)=Z&_/A-O7>NV&[>;M8D[7JFII"H\8Z#:"HXQK#V$3Y M.##XFJC0VYC8M^GV)@[;7=P5EUW_@C0]PSKZU#;JA@2 MD=J [6#:&S#,K!NL.*D*944$6M86I-Y@'X.4K3[NO1NDO6:+]IHMWE>V[?[H M+2*V>\3S1*13L ?:N&!# ,Z180M@5*!K#D2%NN0@%-XUE?0F$-M=8)1F*PF> MM)QWD=_C"*)\9^M/M_UP4*!3AE [*?<6$(?60?9'<\+(9X?)L_)!HAB$\]JP&\]UC;Y_9HKUFB_>5;?OLQ.Y8=XX] EE* MS(@FGS&$8TPM@9H8X7R4:>XNAO,YP0Z32GJ32NPFU3(&B6D6L>^%#.M<(1RA M@3[7@#@6>/H"!^?#9,<^A/0^E1#[$6*9*[4LZNN(YS?7!HXS8O6[[QUG>\T6 M[35;O*]LVSW2^VAB]]%V=]4%?\== 2C(74$PP%T!,(N[(KUM)M2JO7:/--U2 MX$%6"O'1*D2K%W^W$/>9+=IKMGA?V;:[I[?YQ&[S/ZM]7#HOT'155;R8?E-? M\E76G$@A626%R+ICF]F?*R%WG4X2\VCT4&W-#,4",-?7-_00BE%=US$ "_". MXTG2;P:(_3CVKI1)ILG5,E"9,6@\M3KIM$T4)I01G;<)"XRCZAA $2]P]9W] M<.,*,^?5O+D[%HK8JI#MW=/Z[?I^^JRYE=7>G^/C,0;>1_@X;F^?^_3M9?AE M4LW30J",/ZJBG"-?=5'5WB^W#[)<-A>H#Z649=Y\7?!DQJL:H'Y_+$OY]E 7 ML+[E'_T#4$L#!!0 ( /&!_ECJ@K8IXPX $Z8 8 >&PO=V]R:W-H M965T&ULQ9UO<]NX$<:_"L>]:9.9Z"SPKW1U/).(!"[M79+& M3CM]R5Q[DUBVR2!'Y80A?W9?6IGA5% MXWU9+E;U\[-9TZQ_.3^OI[-BF=<_E^MB)?_RL:R6>2,_5K?G];HJ\IO-0L%]$,FH/V%C\ M>U[^VI?"C+3^V'5S?/SX9MBXI%,6U:B5S^][F8%(M%JR3;\<=6]&SG MLSUP_^=OZGQS\O)D/N1U,2D7_YG?-+/G9Z,S[Z;XF-\MFG?E_:_%]H2B5F]: M+NK-O][]UG9XYDWOZJ9<;@^6+5C.5P__YU^V';%W L.'.!O#_#- Z(#!P3; M P+C #\Y<$"X/2 T/8P.'!!M#XB, ^+XP 'Q]H#XV)-.M@ MY)<757GO5:VU5&M_V,1W<[2,R'S5IN)54\F_SN5QS>7DS>LT>WV5I9[\Z>K- M;Z_2%]?RP]6U_._W[/7UE?>&RT]O)O_\]]J_WKZ[_ZSUY__K% M^_25M'[J#;SW5ZGWY*>G7CW+JZ+VYBOO>E;>U?GJIG[F_:1]OCAO9,-;]^?3 M;2-?/C32/]3(_N+F9MY=-OO#> MYO.;@3R72;Z>-_F"T,K<6N^*1MX>BALORZO5?'5+=0;O:,YT>K>\6^2-5'G3 MS(K*D]TC;T.S]O[PN?">_%;6]5/OU6I:+@OOM;R;E1^_?;K.OQ242]'1@Z5U MLNP9YX_]'TJ(QZ4XHU2>S_] M?,GBZ.+\\W[<;9M!,HYUH]0V2J+8'X]ULXSPYR<12W0S3KB, ]_P*6RK41*/ M(N53Z[Y@UWW!4=WW1&;@PW7V]*BN?%"-]*X,PY'1F[99P(R^=+:O?6K^4J_S M:?'\3.9C752?B[/+O_Z%Q<._4U<*4HPCQ01(3 MRN MRZ RR?,#*Q^=*WONK MJEA-OWI-E:]J>;EO'MPW_Y./!#D2:*@X.X5[]L$$*98BQ3*D& _M:X.- ^-R M[C#2XASMXAPYXWSU\*"LBO5=-9W)P=2-)P>67ETTS:)H(]S>MHOE>E%^+0JO MR;_(@4$SFY6+FP./C9=.?WW#'Q&WUI%Q,TR1'C.D&$>*B<@*O]876OCC7?CC M1PS__B. 2@6G[[ZI$-O/A:&1"$A_&5*,(\4$2$Q+F&27,(D[8=K!Z^##)E/D M6$Y.1>N'9T+QI?VYH-+ J=@W#9!B:4+=4<>^,29#NN1(,='5?BW$HUV(1\X0 M;Z? R,[(&L,=!SMJ)O)$=V M3R3F0#U#>N1(,4$V/Z;C.-[%<0R.8]?]?&RU,O*-A_'$V::^446*94@QCA03 M(#$M2]A0H9?A:7GRN:@;^9AOTT3Z;:KYM)WL/]C=K>9-9[YL'6MI/3+NKA-W MZ_IF#%0M@ZIQJ)I J>E9LP?LF#-K=CCK(1_D;'$O8@,G,!Z3*#JG&HFD"IZ3FCP"%SD\.6 L\W")B,/!*>3:!J*50M8P0* M]5EBY"6'.A6=3O6@*E#(W*1PCZ;_GE<[!!R0(0X)G!Z; P+;:!#'8_.BM6E8 M$LL[N#EY(^Q8,([-21XG[ 81"TP&1YB-AP$;CPYTH^)PS WB#E#U[BZUL9#L M4A:9XW+"SEPO2-U-[)WE4)0&51,H-3W8BKHQ-W;KLP*UE7(O01%&Q!H4LQD: MN0A%V)&K4(0=M0Q%F+G6H9AB4UPR4-4'5 M!$I-#[:B4LR-I;YC1"RDOHVUDE'[(#5K.0C\%?F1^0CAA-T@BIBQNB4(LW$0^OX! MW.\KE..[4HG<[I&&!'3-=\&,>1TC; CIVN$'35=(\Q72;DE>Z<#M%#*)XA9%-C5 MZU!\!543G:>@AUIQ*?]'E$OYW?52[G;TCJA-8V1G#,V 0GD25$W09\ .Q%,! M)?]'ETWY-OY(F!5=*%N"JF50-0Y5$R@U_548A:""/ZMX*K!Q3V#.;R?NUO7- M&JA:!E7C4#6!4M.S1A&WX,<53[E=]1TV!';QE,^&YC@R(*JG;+,,VC0.51,H M-3T#%(8+_ISR*;?;WME 4#83FJ=0EQE4C4/5!$I-SYF]]R[=S)%\UJQNBDI- M0;_-4[WU(E^1^0$MLH*JI0'!1EDP,F\JV!74N5BQ#HW:6?V*;1<#*K&H6H"I:8'6V&YP(WE#I18 MT@$FX%MB AK":)"$@1E?HL@I&07FM9 1=FP\&H\"\YJQ[0;^:&BNWXHFA6Z M:=;W[/J!Y#,3J%H*5M0_1$4$ J= .IQUWJ=COOG10VEC)K]U.HQPRJ MQJ%J J6F)XZB4J&;2IVRU.V6[)T.4 H5$I5WPX29& KJE$/51.VQ/L M! [5>ZG;[:1W\*&<*K3)&(O'YCXB4)\)*H9LKX5?%0P*61.;Z MIKM5O:,+14Q0-0Y5$R@U/5L4L K=P.KT57$R4PBD9>8)LG@L#0E094[@H1XY M5$V@U/3H*\X6NCG;X]5$A#9A"\WM'";NUO7.!2BP@ZIQJ)I J>E9HX!=Z 9V MR)H(MZO>0PP"#P8C\PV7D"!UMED&;1J'J@F4FIX!"C6&;M3X6#41;K>]L\$& ME@-SD3J%NLR@:ARJ)E!J^NZUBEA&;F+I7N]T']PW\E"U%*J61<0[J2PR5I\X MU*?H\JF'5"')Z+C748W7Z4(RP#8>9(FYPQQA-& L-)?F(INLC<;C(#(W!2/L M_&',K+5EPFZ0A.8JJR#,V'"<# ]5,D<*Z47'O>KI>$>1[E3B'[R2,B/7.R$9-Y'HG84>N M=Q)VU'HG)>=:[XP4XXKB=A9ZUWNIO8^Z*!TBJHFD"IZ<'> MV_S>3;6^8[W3K=Q[: 'E7%"U#*K&H6HB(MZ$C<.#=P$%L*(3 =;)N-/ML'>^ M0'D75"V#JG&HFHB(;Q&(#WV%A@)>D1MX=4Q"H.]U0M52J%H&5>-0-;%5T\8\ M8;SW%1)Z[!6VBHZN,]LO)*0'UE2=F;GD01@-_"BT1UXV;QK[\="JSB3L?!;( M^8HY\B+XU=@W-V@1A!ECPX@=O(H4_HE.JC3K[E6JTLR/@]#L6,(N,-]X3=V- M['U%0,D-5$V@U/0OGE'D)CYZ\Z[.&6E,;-YE3?,)(VJ:']O4@ISF$W;D-)^P MHZ;YA)ESFA\K7A*?M'U7=Z<2X(&:YA-VUC3?W<2^5PU4C4/5!$I-#[9B.K&; MZ7S'C,6MW'<< E5+H6H95(W'Q$N0;&1^5X#H--,CKL!.W%%?!:_0=#OLG0@$ M)XICZZNYH'N50=4X5$W$!,':[P\]#127BMUG=YY0A5;F+0!:9055 M$R@U/?H*L\4G[F_VW=69L0W88I.#3-RMZYT+4%H'5>-0-8%2T[_U5]&ZQ$WK MB.G'PPXDS:SPWNU^Z[VMRMLJ7U+IX?;0=UR1V+3/CX;FUY&F4*<95(U#U41" M\$JM0_3(*[R8'/&&Z%[@O?5#B)]M;P7[.4&&'?H^:$) R\#:;1[J,X.J<:B: M0*GIR:%P9/(XVYB1B0+EDPGQW07V:D]"03O++(,VC4/5!$I-SP"%)Q,WGGRL MHFVWV][90$"YT/PJ+ZC+#*K&H6H"I:;GC&*9B9ME(C:R<[OHG1](M30A:@'M M+Q>&^N10-=%U!GK@%8M,3GB+]#LVLDNH#;?,=7]WFWK'%EI;!U7C4#6!4M-S M1<',Q TSW455[H-[7_Y02 E5RQ)B%[8P,9*<0WV*+I]Z2!6F3([;@.V8JIZ$ MJ->R:J4(([)6BK C:Z4(.[)6BO)+U$I1Y^"JE4H4PDN.JSKK6RN5$-5;5*T4 M94>,GJ'?70E5XU U@5)["/=Y/2N*)LV;_/)BG=\6O^?5[7Q5>XOBHY0?_MS> M>:OY[6SWH2G7S\_D3.]#V33E1IQFA8+(JC";$L;Q)3GHSF%\6]QVQ^ M(38RX@E[S%"^B6.:O5VS2.PN1WBTO_&#OZRENC&97Z3TA2V9_)D^9G UJ;6$ M/&9)SD6",K:Z'%WA\X7CJ@6%Q'\XV^6MSTBY\BS$+W5Q%UZ.+&41BU@@E0H* M?[9LP:)(:0([_JR4CNK?5 O;G_?:OQ;.@S//-&<+$?W!0[F^'$U'*&0KNHGD M#['[G54.%08&(LJ+_]&NDK5&*-CD4L358K @YDGYE[Y6@6@M #WZ!:1:0+H+ MG($%=K7 +APM+2O,,3E<:ES.!;#NOD?/%P M?W-[O[R]0?!I^?#M[N;J"2Z63_#G^^W]TQ(]?$6+J^7OZ.NWAS^6Z.3G_=7/ MFSN0.45C]'-Y@TY^.T6_(9Z@I[78Y#0)\XN)!,N4_DE067%=6D$&K/#0=Y'( M=8YNDY"%A^LGX%'M%MF[=4V,"O^]2;X@VSI#Q"*.QI[%QY?;!G/L.LIVH<\> MT/>0LHQ*GKR4VY9+SO)S79A*-8Y>C3K2YWE* W8Y@C.;LVS+1O-__@-[UK]T M/AY)V8''3NVQ8](^OX<*Q)- Q$SG9KG6*]:J0K.=8\>SK8O)MFU_7XJX%G9J MJ0/#W-HPUYB*J_"_<*J@$,D<20&5*!!)P".&DMIB=5]=!31?HS036PZ;$CV_ M(:%)H\X]]YA9/)*R@V!Y=; \8Q:O:0@U\5DB]@JXD6MS66IP#W+IVIU4]H5L MW_+TF?1KXWRC<3<,/ XX+>$@"1&-12;Y7^4-@\5^SQB"9S;IF-R7PE//G>EM MGM8V3XTV7[5-%*LRN#S/-S0)& I$+K4;:JJ)L=^QURQS8.VLMG9F/L0B&1>' M(&* E*:0SOKYQ3/0X5E%\=Y-6*MO&.,[,];HV]\6(-YM: M R:3QF1B-/DND0SJB40G94T\W=MZIDJCUF#2CYX_=;KV]J6(.V!L@Z[8"&7S M;R+/$80SY'DJ&O&H0%)LA]$&N6:8U MW>D?=7?:K5\:*6(-;>4&/;$9/A=KFKRP7/&]%AH642YJ<,3I,X\&D1$?%1J/ MI>TP%@TX8C,Z/F4T9(I!,+ZES]& QQI\A)+2K=X:L3$F9(CMX 8DL1DE'S.6 M4A[NCV^9):&VENEP],%OC'UB3;M6Z^0P]J8#5CWCW9A8 M?J\^]L4()@/, S? B,W(>!4$V89IH_K>">BCX-BU;+=KMT;,G_D#YYS/#4]5/Z.-A :4L>VZW8.L MD_,]'P^DK$%F8D;FMO'Y&KCO&&A%#.BA,EDT85JK^V@ZG@)%[Q9-\X__W[W&+L[11Q X0D6LVJ-:_/C2/9RZPNZY_&CE#5AH0)V80_\H3Z#<^JNBA88SN$F+IHIE :]J3O&M2%6WI3^*&G[@>KV#V)=R?7>@NR8-BR!F%O$! MAY(0* 6+TTB\,2!$^W*JRK_6G3YM@#Z\VX3II+ ]0-KLAEO89FY1EA5630O2 M:C=JQYRZ3MOUNBV,5LPB0X8V1,)^IQ]?4]C'<$;V\=P'&@@<^E'?19"?EXS& M6@_Z??>8N!;I0I39DK]9\^R&/-AF\J#Q="4R!+Q?1DRE1QV2>GM)^HIV7*[7 M(@JA=.A3IV$*Q'%[J=.)^>[ M,=N#=+-A*+&W),*=$\/F.Q*@VQ:+S0, [SH M[\"^G(V'FC*[80ZVF3G9BZW9F71@H/3"[LAE_81B0ODG02,D >V'&G:JI> M?%(425E[UO/I[,-.N1ILL4E_^_7EB.\1,N!9PR%L,X=8?-Q\-$;7[(4GB=J- MBKNSC(M0ZY1F.@YESNW5DKX<\?S98.%NB(-M)@Z?\^I6M;I&?S0#=M>WK"ZJ MZN1FKNL-$ 6[(0KVU,AOEYLT+.]2/05K]'9P!'=9H]Y5SU''$L;0=!J-A M%(Z9410O>HS%:@SXNQ_\BF=)0:SH@6M 4PE-V*XU7"IY86L^5CQ+4+6$Q[ ' MLKB&-\D2-=Z VX#M)4^A$1QA12^UV]CITXT9P=U=K)'"Q!MHIYV&DSAF3G(5 M0-',^?Z97CV0J4CEJDV+M<8?]5&$HWD4X0P-#IW6\WPS95G0E*MR6J6\,:\M&=3&EDG*''6T[#4!PS0QE\(@=<)=J$Y58. M2I?Y7W"9BY7< 9=&(=NR2)3Y'7Q>6_WZP0L.EM=MPS12#N[NQDGKW9Z892_% M*T\Y*B)>O@]3WZU?J[HJ7B;JW+_&YXORY:A&3?FNUG>: 4_)88.N0*7UQ0>[ MLO+UI_)"BK1X@^A92"GBXN.:4=C;2@"^7PDA]Q?J!^J7T.;_ U!+ P04 M" #Q@?Y8SIFOTKP" &!P & 'AL+W=OWCO'E]%6JD>= QCR7'"AQTYNS/K$=76:0T'UD5R#P"=+J0IJ M,%4K5Z\5T*P"%=SU/6_@%I0))QI5:[5WTT;%6:W"?T/%[U(Z#5-8>S@.=2@ M-N!$7[_T!MZOKDY\$ME>7X*V+\%[[%%,=4YPATEJ W@JV89R$*9SQVNJ045E M9\DF\L.!-QB,W,VNGXZR8=@/CMNR/:7]5FG_7:5WH(UBJ8%&ZR$3*2\S3/%# MQW)TI9?\0-U2MF-"$PQ*!WM$Q\JAZZM:)D>MJ M<#U(@V.P"G/\48&R!?A\*:5Y2>PL;']]T3]02P,$% @ \8'^6,2,TKWH M!@ 1Q !@ !X;"]W;W)K49+M-L@W[TE@2 M>>[KW'/)GFZL^^371$'<-=KXL]$ZA/;%>.S+-372']F6#+ZLK&MDP*.KQ[YU M)*NTJ='CV63R;-Q(94;GI^G=M3L_M3%H9>C:"1^;1KKM@K3=G(VFH_[%.U6O M [\8GY^VLJ8;"A_::X>G\8!2J8:,5]8(1ZNST7SZ8G',Z]."CXHV?N^WX$B6 MUG[BAZOJ;#1AATA3&1A!XL\M79#6# 0W/G>8H\$D;]S_W:._2K$CEJ7T=&'U M[ZH*Z[/1R4A4M))1AW=V\YJZ>)XR7FFU3_^*35X[.QZ),OI@FVXS/&B4R7_E M79>'O0TGDP,BX[H$4&FCT ]$R\M2:LO?C)5%0=[A_# MJ<&S6>_98O8HX)MHCL2322%FD]GQ(WA/ADB?)+PG_S_2#'1\/Q"WR0O?RI+. M1N@#3^Z61N???3-]-GGYB)O'@YO'CZ'_%SF1>," N+1QJ>DC.;7: MBM=65\K4OA!7ICP2WX^^.9G-)B\O;--*LTU/TY<_".6%-<10O$B9"J1U MZ?/T^4LO-)0"2**A2DE!JQ6E/DPF6RT#ZXK'5AFP])8N5:&\^=S(@ZJ68C/46H5MLE-1R$Z$,SP0@1V M7\Z4N24?H/ 8*\G[RX]B'K'>P LQKQ*UHF/76Z]LHU%J5 M:[R4'LGV>"3.MY!['HB-]%!N#<<=@E>8#9D@X!"6<-1D;A7*R+X58A6UWHI; M# 3^5@C43B) 8(%QGD>+22B9_X%8 $5-MG:R76\?*LPJ;,"UM,&MT*8%AW^M MC)$E&^G\XV* )EW?\/ON_8U4>"D ."EZ6SWF>.H)CN'WJF8%KIF'0"Q08(3@C, M@4$@T$PVR4&N-K>'(9T[HH=NH5\*D] ]Z/:^MT@,BJ_86]23/7V;H-]E<;BP MT91*]WQ*><,\XJA72VG&;#<*!D"3Z MDK1,I4N4S0%UDE=V5GC5_BAXJZK2]G.@TU^\N["]!/W_!6S"^VT7 MP$D?P->KR/3!,*&1L]I1SA9' 8ZD089N@.H>C*IYOW#?U2R^>Y5,*-?JCC0H MD#!NXO++@(<5C,\G-4S);I9/)MGPH<"5(/)M7!=PPI93"H M8QH^]W*S.&02H_J4W^'D@?&"HW\>9")K4IU"YE <3O(8HGN-P*<;G1NZJWH& MV'6I;%L-D>Y/9G)GD]4*@I2,18R73)Y$)M^7_)4R4'76R/EN\4VG/%XL+ M0 MS^=7\YO%$,A[V_*\O6_7A:WX()9]&DY?-Q?#WI/)4U$",1,E!:W'X+K@"TJ()T0+ZSK%R!\X>UP2Y[GR^%N>;YB MOY6N!N]!Q16V3HZ>/QT)EZ^M^2'8-ET5ES;@>)%^&PO=V]R:W-H965T M&ULS5G;K7V12 [0]W.ZFSS=6/?9%TH%\:4JC3\; M%2'4KPX/?5:H2OJ)K97!DZ5UE0QXZU:'OG9*YGRI*@]GT^GSPTIJ,SH_Y<]N MW/FI;4*IC;IQPC=5)=W=I2KMYFQT-&H_^*!71: /#L]/:[E2= ME%Q7RGAMC7!J>3:Z.'IU>4+G^<#O6FW\X+4@3Q;6?J8WU_G9:$H&J5)E@21( M_%NK*U66) AF_)%DCCJ5=''XNI7^CGV'+POIU94M_ZGS4)R-7HY$KI:R*<,' MN_F[2OX\(WF9+3W_%9MX]OE/(Y$U/M@J788%E3;QO_R2XC"X\'*ZY\(L79BQ MW5$16_E&!GE^ZNQ&.#H-:?2"7>7;,$X;2LH\.#S5N!?.+Z777MBEN''**Q-D MC)7)Q3RFB9[-](BRVQC@C8K<6-+G6GE3P\#+"%YAUG2>AFUSO9H M?2[>6Q,*+]Z:7.7;]P_A0>?&K'7CBK>$U-+U,FZ<-IFN2\5/KZSQN)+'YQ\+!=QGMJJEN2-Q>)R#450^.(@W ME[*4)E-B3CCR0K(HU)3J:HI5O5&9JA;*B>,C_O1X+ (T[!$ZAZ,*_!58VF^U MBD9[%G4%FYPJB-W62EP;V*@$.)8%AL(IQ<>\_B*J"!5%4-EAU"/MF >;?2YL MF2OG?_SAY>SHQ6OQ]H]&A[O_1#V]^F83KJ0OQ#NT ]^I_$9%U :(SX4L2R'S M3^#'*#44$A\Z1>*E,,37)0YGC7.4=B-#XU2R,IW,8*!&%*#,(*_>4R&2/5(L MI7:B'A8KQ)*9^ ALWYN-G&J;>^$+NS%"&RXVEW,M;70H^'VJY+JOTY4R*(:R MO*/GJJ8(X2X)O#6ZBQ?'ZJ*"BDR*)Y2KV?3UWRXN;OCET>NG7=1E70,E-^,X8YL M4Z'O.BD5:R1XV0G*.X-"GQL2!@A,_*,KPCLE74+-5P0U$635 M]/BUN/4,CK<^Z(J+BW3_W.2K:$FJOR&YIJ)Y3,"(;^MM$3O]CI&D4B+>X4!R M7E.N/28<@Y&0#E.55/*S$FK+*GE0I"O_B"+90![*+)'%OGS3M8BN1>,QJD \_%FD>+36E&A.3.*$L=PV MB[!LRI;,_?BK"FQ\E-D&MPTV-Q*RC;'GJ?4>T Z1,WNAHECK1+SORYT>>X;^ M_H)'J L-:=092JY-IQ692PF*%SP8NP+2K,W:ENL8!*"5_._,']/JU7"3 MB=VS QL.+QONS&TCK21S?@0S3BSN1%:@8%1B*.L'1-"2_"!0Y!W'UYID[*!? MK:4N9:R\EMR(R_X=H@/6"_AP0.G&]+96[2#R1BV"F-/@$0ONXZ[^T \%7%]T MQ?=7*'OXERL4",,V^5*J%8P@?UJ+TR7T9]O$KLY=@*:[GI?Z&:L[W;)>&HN2 MM. D"C*+%3GTB7/J/JO P;MO;NI8XG8RGT &LQ>2",#'!+7N=TSB>7IC:O,/ M"4:6^I21$T 9=PX,=4P46Q,U(Q?CH74*XTH)N(")>:Z@$MD6.\B='OB9XOQ- M.P)A=K_E-%ZV)N1;CAS P ,ORXC5V PT41V&':).1PD$3GOFF& H1%1+_2\\ M60%NB=4L468W/0"<.W3L,JS7@O=XR,U:,2%9DPCX-R:.;&M'>4(:GR;^'V-F MYI/H W\1M\>O080-8HOH,]4B4H4LD:('ZN4O(ZX'XQ4[O\/G+?>^KU\33'%+ MHE>+(2Z-S2_'XAUE^G?N$>_[UC_FBE\V+EG5T=@VIMJ6%"=B-#X=VLH8,M[^ MBMBQLUS,K\3Q[/E8I)6C)\!KXX-KHL\'XBJJ^X75I9VDVU.2D'95V;:Z(?O2 M":Y<[OZ)L%L\"FH22X3;QIT%5[7C!S*DH[E>ZYPZ2TMMX,BUBH.&BF.)BFQS MSV.#&NLPQ3-&;7TL^*IU0B&=2 #*[1[_'Q\*L09XVEIAL3,%<\4:;5@ YP@T$.KE%[F,'2 M9FS3"<9,>^G-8%V[-N)7.DY[0_]EPKN+^26\O6\$JM[DTJ%5W];+J()*RO4Z?-2!607C6QDBRKJ>YY26]'A&A_OY@Y%9SU=;(_??'0 H>0 MAOC!J=:R]"4*L?B0 A%L8N7=^T2A/S3MS!$I@F[[11-\,MBM\'8VX>RX^?M M\>H1<]RD;3D?:9W9"Z#^T'W@=%'= YSY[0 ,/W5@V-*:!G,$+[U"1ERA3>K;BD=SNVI/K[=I+C6#(3&1>(3.H#/==9WT>\,SL=! MJEUU"$)Q89&$@0Y;"_["FSOR?M!UTO]/\;7K9XO#P:]5E7(K_DV.R@0M)OYP MU7W:_>QW$7_MZH_'WPPQ@Z]H("[5$E>GDQ?/1L+%W^'BFV!K_NUK84.P%;\L ME,020@?PG+Z_;-^0@N['T/,_ 5!+ P04 " #Q@?Y8W/[/,4L$ !3"@ M&0 'AL+W=OSF;Z:*&ANI MB!P9B=50PT.5373K0):.E##9W$8 M9K.&,N%M5L[VH#8KV1G.!#PHHKNFH>IP USNUU[D'0V/K*J--_EFLOM(* M0V$L \6_%[@%SBT1ROA[X/3&)2UP^GUD_^)BQUBV5,.MY'^QTM1K;^&1$G:T MX^91[G^!(9ZYY2LDU^Z7['O?*/%(T6DCFP&,"AHF^G_Z.N1A EB$WP'$ R!V MNON%G,H[:NAFI>2>*.N-;/;#A>K0*(X)NRE/1N$L0YS9/,(+B Y6,X-DUC0K M!N!-#XR_ \S(O12FUN1G44+Y%C]#$:.2^*CD)CY+^%LG I*$/HG#.#W#EXR1 M)8XO^?'(>F#Z/M"VP:5N:0%K#^M<@WH!;_/Q0Y2%5V=DI:.L]!S[.5GG@4E M!BQYKH'L),>&8J(BAFXYD))I6E4**FI 8[OTGELP>P L_O(%E&$8S%!4H+1/ M]C4H&'V9)A4(4$A0NDHO";:-P;5$UVP1*7?(HTD#5'<*9_%((/?] -O4$!R. MZWEM^X_:5O3=[%/7MOSPDV8E_*BF BM/83]K;!93V[9@3=>0 MJJ.*"@,8/ZYW&_&.Q $3 M8;829*=QY_1GUZ+V)YE\G?9WQ%^01>ZG>30QY+F_3..)(
IA-+O,S\+)]F()ZCS&0Q6FZ' MPL5ZTF!L+W.L/6*DZ\5;V;14'*QSE%]I6]+ DB'=: <[;%;R"<(JL#'F2WCW%5\ ;BO>,3HSP%Y5K2$J]([7*E[+9FUW%LI$)VPJ ?$P7O2GB/&3N;6ZBV1!?S-,BP+SEW MMS:>%!?S>1">+,YK+$U7@-;K#NG<,95$SIKXN()NP5W[_&!/3_M(L2?FPR0% MOV\YJUR>-+G^EMJ?)IW4%-5$6; AIT0\(H)%?#>73.;7/18Q)5[SM@:P!3W=_YH'5],U_U#X>3> M/[?NJ:H8:N.P0V@8Y'.OKY_CP,C6/1NVTF#'N,\:7WV@K /.[Z0TQX%=8'Q' M;OX%4$L#!!0 ( /&!_E@Y[1[\8 0 X* 9 >&PO=V]R:W-H965T MF*R7M=S2#86_ZFN'U:1'R71%QFMKA*-\ ME5S,SBX7+!\%OFK:^\&W8$\VUM[RXF.V2J9,B$I2@1$D_G9T167)0*#QO<-, M>I.L./P^HK^/OL.7C?1T9#7"^=W0O'TD#C MC^AJU 8Y;3@I-\'A5$,OK"\;CQWOQ96M-MI(#I5?3@*@66"B.IC+%B9]!N9$ M?+(F%%[\9C+*'NI/0*GGE1YY7:8O O[1F+&83T0B02]CFVNHL/DQ3O;;$KZ M2D[G!S8Y>WON1>UL[30%S!^1H5_0;:$0 V*0 H=?:[LG]GAH:T@L6(;:Z0S& MLQVYH%$+7;^2\RTLF4(:!12-&8;AX 4"!H(F./2YA1J'4KL>@H-9DXNC%HJM M<\&R]W7C5('I [-:$0?[IUDZ&\\P$\H2Y$;"8()C6TE?]!D;P;0JFPSAJ$CZ MQA'F:6 ;VB*=V3<0YAT? :?C^1$.\U99AU866>.8%N<\%(Y(5&VC$S>Z0)M2 MWZ8M7\IS3-RN3CP]M&(B$%JG1%@-9^&18R@QJ]IP[R4"A@FK<-EXCD.K>Y1' M'#WB[UKAQ_PYTA(R#EU:V[9.>ZC>.6!^L#;;0RER'Q*[9^*/1?^(*U?GL>2E M(UQLFV_L.E =[;2/JNQ$EL7:1!JU:>]1IJB!NPFX-[FS-FBH:"/'/=45BG:J MJ;C+%/(7"AD$W6D?6+RG-"Q]%'17,_?F*WD0A=Q!4* &C%=J8T%[7_6[_V+EH M[_A[\?:E]$FZ+48*IF8.U>GX[9M$N/;UT2Z"K>.-O[$!\RA^%G'"L@#.&ULQ1=I;]LV]*\0;E D@&I+U&$Y30PD:;ME0(J@ MS;;/M/1LLZ5$CZ3BN+]^CY0M2Y&=;6V!?='Q[H/OX,5:JJ]Z"6#(4R%*?3E8 M&K,Z'XUTMH2"Z:%<08F8N50%,_BK%B.]4L!RQU2($?7]9%0P7@ZF%PYVKZ87 MLC*"EW"OB*Z*@JG--0BYOAP$@QW@$U\LC06,IA J.+^.++TC^(/#6K>^B?5D)N57^W.;7PY\:Q (R(R5P/#U"#<@ MA!6$9ORUE3EH5%K&]O=.^@?G._HR8QINI/B3YV9Y.4@')(_PM:? MV,K+I-#N2=8U;8@:LTH;66R9\;_@9?UF3]LXM!A2_P@#W3)09W>MR%GYCADV MO5!R392E1FGVP[GJN-$X7MJD?#8*L1SYS/07*?,U%X*P,B>WI6'E@L\$D"NM MP>B+D4$=EG*4;>5=U_+H$7D)N9.E66KROLPA[_*/T+;&0+HS\)J^*/"WJAR2 MT/<(]6GT@KRP<3AT\L*?YG M+SHLSQ;-N5ZQ#"X'6!4:U",,IJ]?!8G_]@5K MH\;:Z"7IWV'MR_+B(7E8 IE+@=7(RP7AFK!=11(Y)]D258 F1A*#A(N=_HPI MM;$,CTQ4*$#)@KR##(H9*!(&+CVAY<)\09.O<_+Z54K]\.T_OD]YB0IEI=%1 M?=: ]_Z; ^IV5"X0*!#, +J59551;;\+J0S_QFR?^_I^1PKKNA M/)[MYFPHJ36YV1W,'?BJ%9@=["-.MQ[AC_)?%;+"8W;5"GX+=@SUH%B.>Y<74[R;A)[?^CV-$V\2T3VY[0OC M@'R4Y9L,ZPL,%M-" 1SN!TETP(#HK =T-4K[1SM)#O GQ_D?I&'B0*'O$T>3 M"-/OMY,;A)/GZ0UH[$74[_#%F+.DPX=$@1]V^"+?2]-]^#H'%IYP\]/0=!QL M[GU+<2UTSQ)$>]&UKH .DP:R\T3SI__DQW,KWVO#"V?2O#(X MBYREV?,VW=B/,_> W=K"NXJY ]-;>]Y]XQ@88XM M0]P33A-O[%.+ZQ]\&F EIA8W[N&"U/.CV.+2/B[R)EC1B)OT<12+@=IABA>0 MN<%.UF#&./_#;4$=+PP[AM=N4X?\#7L$A1>/5@0J#?-*$,'G0&8;W+._8(!< M3D@F[/OGIN:V)!M@"L-]>"JDQSIV\G(OI6U_E?48'Z5T>PU7=>M#)YH]!IV\ M[9U!GB,=GW-4D5?*;2W?41W#0TOPJ'5?0><6[E:F26:+M;ZZ--#FXG=5WW?V MY/6M\8ZI!2\U$3!'5G\XC@=$U3>Q^L?(E;O]S*3!2+K/)5Y>05D"Q,^E-+L? MJZ"Y#D__!E!+ P04 " #Q@?Y8^K!@0^$# !Z"@ &0 'AL+W=OQGFRD_&H7OQ5+)["$@$-N+ +%UQW< .<6"&E\ MVV,Z@TFK./T^H/_2^8Z^;*B&&\G_9H6IEL[<(064M.7F5NY^A;T_J<7+)=?= MD^SZLW'JD+S51M9[9610,]&_Z?T^#A.%>?",0K17B#K>O:&.Y3MJZ&JAY(XH M>QK1[$?G:J>-Y)BP2?EL%.XRU#.KM<+\*O/@DC6GPA J"O+^6\L:#+Q9^ 9- MV(-^OH>[[N&B9^ R\E$*4VGR7A10'.O[2&W@%QWX741K.MLRE;F@.2P=[0H.Z V?U^E68!6]/D$T&LLDI]--D M72+@2<:G,3./C+#- LC+!,Y;PLFMJ.0M)A.14HFJ,B!<, ^('+#V9;:WM(= M1$X;9BAGWZ$@6I9F1Q5@@]QAX_<@N=1&N_C"EM8&3\F2F I(*3G>#6CPDKQ^ M-8^"^.V+O:^T-7+.!!J2K4::^LVPB;4%0VT-TG>00[U!;^.PVXG)C:R;UH#J MW<30L:8"1?DD/F+.LW0$0=+Q!5K6 MZ&2>MW7+JT%HJP[[W@H/V>8+J43)&]CR>N;.+V1OR12(G MTIPN.*SC0?.,9(F;1N%$D,X1/!@$>!EW56,J!4#J_KH!>]T\2JBU,I7$+C$= MG2.GX![_;UC-.ZK)6>Q=X"7+^<%;%,0'@8O_(-U ]Q?A#][ 0[/[%V8Q\])C M%ID7/L?BT,N/RNM?^G5H0MOEV"#YOL*G6>E8HCMGX2^F]^3YQ*O. XR&$T)O\Q^5LH$1;-?I(&R,SM6U1[Y M> M!)@U^Q#2MBMEJN]6=/;D/4M8@4]6,NMDJVPB_D\U>4_]9OS)/%"#VG93C\8L MM\+TH\$@'0:KJWZ>&(_W4]E'JK8, \>A1-7 F^$&ULO5A;4^,V%/XKFNQE8,8D MMGR)PP(S"]MMZ<"46;;=9V'+1+.VE4HR@?[ZGB,[ON"00F?9E\22=6[2.=_Y MK*.U5-_UDG-#[HN\U,>3I3&KP]E,)TM>,#V5*U["FTRJ@AD8JMN97BG.4BM4 MY#/JNM&L8**:B%+HGAV//GH'9X&N-XN^$OPM>X]$XSD1LKO M.#A/CRL2HW7^3Z-][$$Z*^1.;:_I)UO=;S)R2IM)%%(PP>%**L_]E] MLP\]@=A]0H V M3Z71NR7GYBAIT<*;DF"E>#-GRPH5II<$Z4>"C71L%; 7+F MY()#2/IH9D 7SLR21NZTEJ-/R$7D4I9FJ;JCD].WK_Q(O?# M#J^"UJM@E_8=7NV6FT])+4J^+CG)9 [%),I;8MA-SHEUM#2:Y+B&)%(;PLJ4 M)$POR8J)%"04886L<)$HD[R"0X,'8D!; 4*5XE!IALBLT9$+=B-R80281.%, ME*Q,N%4+B*"80?-Y[1,N0$UFJ7B]1(M[4M0)PC%!"!PO;X_7+H$'WX&ZUBMN M*S-_F)+W;V+J^A]^^O]7ZW@_HSN'KR&4[6_V[ ;*2D,X>K]59B/L#?PM,Q?M M01V^>G!_#(^K3H\]KW/X+:%.M' 'XS"FO7'H^'0^&'O1@GQN"P<(?S?E>,)KS',^CH]G0]\AY:3BD*Q1)^W1\+GLTFK]@=>@'^^2K-"SO!]4EF.^$43_AJ+/PPMYX[E W MZ(U#9[YE]_YWQ0"8*=B%FO- IKU^7I_]&*C^>5AB>PNPO PZ$70 )8MQ7Q@ M"NT#BN>$7C0X/]>/!^OCD.ZV-BC!OJW8ZQOJ9Y$7]G,HZF!>3# PD%B M0F#1,%"7QK:2SGMG>8;9#@>H^!TO*PY-AN5<.T#LU'=N [;MV](_CA1ZM0(0 M<,B5DFF5&*"=T"_ERN8!KOR5E[!3N7UF*=!$H0WNW!TG_![X._K?I!!+H+97 MK'Q *V<2.AJ\3?%)RURDS,#@VL!?81D%.-F< BRP^L] 7/$E\G)0?VZA8FHA MMQ_A *>M6P5$(/ZI)U[9%W_H2PO-!*Y;K?'M.J.1@[#?R MJP?.%' KCTZ[*O/\:?QLK8^JN*]SNNB\G49CC8-]WN9@VSRG\;O>('SWW[H> MN16B4$L7IK0;7#)3J1K&%'=2B,7%S1-9F%$_3H7NPM\'6G M-7;B:$R5**+W9C 'DC&FAK!D,9J,'2\(G]Q&0 ;%6089.N9F<_ \>EJR1YE6 M[*$&IG8/O,B9QQV/#YP ^.,%U[HA%+#1#0#A7HL-++:L#$XV<'O<>8_2Q3XT M'2M"[EA><4PVL\L)Z+^1X\_[S3QPJ-]M],=QPCH6CL]J,"9+AA^-Z!NBMY'0 MT5*!H M&K<\E:T8RRP3DD_UH$PA\AS43_&4(,!1T:_A?:L36TD&I0VZ$%7JG+1F^BB. M>[:6];'7Q5E*(B!:H1ZWEA:^% +(@PJL&_/^-;N MS_C3;?<8L]X5$E".6WM1IHG%K/HVJ9UM[^(^UE=0W?+Z(N^2J5M1XF5$!J+N M=!Y.ZF@V R-7]D+J1AK@-_9QR5G*%2Z ]YF49C- ^T-YD-SA-00 ' . 9 >&PO=V]R:W-H965T$*I"0@I/&CP0S6+LEP^WF%_L'' MCK%,N84K+?\4J_:D6?YGCL^&1F]8(:T$8T>?*C>&LD)19=R MYPSN"K1SDP]<&/:=RPK8#7!;&< 3=Z/0(39IA$F#T?PNNM NQZO^X\#K7%Z^W&H2,YL MR1,8!U@%%LP<@LG;-YU^='Z$96_-LG<,_04LC^,,VVP_%/N: \NTQ&(4:L8< MGTJPS$>"FPXWKW11X 5;4V"G# M=48NY]XE%1P6;5(90WZP<(0]8P0:=<]?[?_",ITQ3"U8I]:.SN=*.PSGAIM[ M?"?^6TQNC4CPX(5B%_Z]]*3!G9@ID8F$J^>3JF/ *]1F+\XGO._-SC>EIY3/ ME!+/=G&=8CH@FL2SM>1KM?%I@W6MRFIKY]'RJW9HO96M[^A47*XKRU5J?UDK MOOL(D\O.(V9_"C$IC,WG"U<<(&T6!KY:LD/C\J M(8N[7!OWJP-38'!SL*YX!#N,6X/3W@N1'QF];E6]AP2**>93M^,KJ_L?5];_ MO:)V*NE%%=3YJ8)>7D#/+)R=PCAA_4ZKU]]<]K',W5%^A?=]:S>&1&./:2DU M4;G0"I;88?D1.T!ME]28B?9/I3P3T$[XX]TR:8(9+'1'R T <:16"W,0/]ZHK])#M/N=]NF& M]X&WT#&2!#*,V\,5"..[1]K>?\YS5*S1?LA2SFIRZJ*>(C7H]B^%K#K/2 M8GIE:(JY?QHP4\\W]<+ITL\44^UP0O&/.8Z$8$@!]S.-K_IF00[60^;D;U!+ M P04 " #Q@?Y8)\F<5:X& #;$ &0 'AL+W=O$'P)KI;IWN/JRBY*HDXY4UPE%QTCL; M'Y[OL7TT^*EHZ==^"\YD:NTM+S[G)[T1 R)-6> ($O\LZ(*TYD" \:N)V>NV M9,?UWVWTRY@[B)G I9ZW!MEW]1D\\^Q\NL]O%OL4RV MXX.>R&H?;-DX T&I3/I7WC5U6'/X,'K&8=(X3"+NM%%$^4D&>7KL[%(XMD8T M_A%3C=X IPPWY28XO%7P"Z=?K9F]"^1*\8FFX7@8$)/?#+/&_SSY3Y[Q/Q#? MK ES+_XT.>6;_D-@Z0!-6D#GDQ<#?JG-0.R.^F(RFNR]$&^W2W WQMO=*L'! M4QFF 'M/!V!5'/I*9G32 ^T]N07U3M^\&A^,CEZ M]?!VWLI^A;U?]G_XT!L MAA!71EQEP4[)B7&L(FKYR=9333_)J>)>?#;9H"^D%U/K@!9V.V%.XLVK#Y/) MZ.B\>1B7XZ.WL#2Y^*;R"QN=9K5TT@3K^H(,=J5<*"QA)23$FN-/B"ZH59"! MTGKF*/U:JC 7O-U4FEL?#2V63A3*2),IJ1'.!Q5J%JT7E73AGAT:]12A>11>90SG*!R=Y! -D/01* "_L(7(D(4* M0GE?XP'']4ME9LU6_15*[(I4=]3;E.MZGC&I"UM6TMQS[<;OCX#>*>O:\%T1 M$B8.0!LAL,FCWFWTYB(%.FL#M3V*07848#FJ-*CZ>S"%S)1609%/+9'"8()Z M,FSC*:NYL8X65B^X$IM>]QNHOL/QNK-L,%XVEAU$92)%9L ^XW(!#=I=H5NR MM#68@3[\,=X?#488 M_H=3@ TS<@%'E6"])/IEUB FDZT?R]8* '1@AJN@40EX.OI5HT\@4S('\B@Z M;9'76CE1/V2& ])CP3LAYJ-"9K8$-.ZA%S63+)J]6,F!^/MW)@RYDO<26N>= M?T&J@*COHZ2DUFF_(B)DZ7I0L1/DJB%3J2%%$GD=PQ2U1I,"3IU0NUCUARS= M'XBS554*(H:A\@T F:YS2N\8 .]8F]IOL*SK*_>E>?NP^:D,J_IQ2$8$IK\T!06;-!B4Y* MP?+0,?AFTK0@AX$B>+: 7E)GM8Y:9L)GF75YQ-*5^:&&!SRPOTF7S<7D8ZSF M;G]=OB],6:Q_RYK$W-50^/KY_.JZR:\E 6.G=@S<--J_0EZ&/VG$99K,B'W- M=CN-[&^N+J\[=3\5Q34)I1[-363J,0 ?%SZ=M:?L\ MO)!6.L+"'"GZ0R9[S1++<1Q3;LC[(R8OUT0K?,\>H:49R>@FE M\5::A]]49K<;OD>-\)!5&YH%@MD?!^. MQT.H4 YRB"36 %OOGBVLP!]3O+WWW!M0"K]!WWU$D/ZH'$4 CO MHW*%V]8VD!OR^T=*@2"X6\P)UHQ:333)=Q%5UN7S(S'2E:\NT:Q0=Z@^F@W: M1XVN+/%!*3$%43?GY^.1>19+A*L"=5>%5(FMT&R!12P!8W>P?Q<= MQC@=[OI,GXKB+5(W]>R*Q.9/E0>=70VB+0]ZKL##[)Y,.6+[1!G%P;D[7CL] M0':&9*S 19RIEO-&/)"V_]Q@.HUVG[SD#-\*EJW1:!%O%Z^O4!ER&X\\Y2>3 !GA?6!O: M!6_0_7_&Z?]02P,$% @ \8'^6!/;:4I)!P >Q$ !D !X;"]W;W)K M&ULI5AK;QNW$OTKA-H4+2"OGGGZ 3AIBNL+! CL MM/U,[8ZT3+BD0G(M*[_^GAFNI)6K^*+M%WN7G!F>.?/BZF+CPY=8$R7UT%@7 M+P=U2NLWHU$L:VIT+/R:'':6/C0ZX36L1G$=2%>BU-C1=#Q^,6JT<8.K"UG[ M&*XN?)NLP6;LVJ3KPPNKI8ZQ7=4?I]_3'@;;2W M4IF&7#3>J4#+R\'UY,W;.F=MW^:*M67@U<#5=%2MS;=^LU_ MJ//G.=LKO8WR5VVR[&0V4&4;DV\Z92!HC,O_]4/'0T_AU?@["M-.82JX\T&" M\E>=]-5%\!L56!K6^$%<%6V ,XZ#J5!N-6RGM%,5D&EG2SK7:*EHN2:JF;R9 0OW,1TW'Y^\_W@JA;>-#M6919GRJ;LC8W'2C[\@PGG(_JU:VK9, M+2.I6L#RJJRU6U'$@7P&E3KVM!# ,X:>O1@*DIT"='L*:P):1RXI;B2\R7J5 M 1&!7 GYGZE8%4/EO#M#T@.%65A2]( N&2G^WQ M A9PJO'5(\1D*,K>L766L'JSPWS$BC(53C%+P^%*U+"?.BD=2+6NC1PP#A SC+BT(3!% MB*O3J84,[R7,GR3\1"&J,K$,!-+HGAW(QS&&G,&"2&0?"7(E<*#! 4,*)!4C MOG0EQ*^;VI0U+VZ5+P&H4+^V HKE4ATH@XKF036Y(1(W1(5V1OMVEOG?40#' M?*@D0T^7*!#_^+R8H^5;NRN>'U\6T]W"D!-CG:O3;H==FG1,<2WO2W=?LS Y MGQ;C9V)K-BU>/QMFY@' MA7E?,N*D:7O-=*RC8^*XBQY*29=?<9XDH09'F6& M'-8KF:'ZO;@K9,N[O22N%4'2-^9Z%!E)M9'UW#H@SXGS]ZF>_0.JY\7XF.K7 MQ?-_1_5T5DPRU5.$[5FAN!F,9^?J^F3EULCB!9$T8;VP!A,=B%>X5464AHH- M1)5N?.LDFWZ"\YCCQ!D(JFZI*R/\.Z3(5<>Q2Q1B-J*77H #$E_:C L<&ON%]8QT;HL.3LRCZWK MTB!)0SOD/3"U">1^8ZO7=^_4R_GX;(+"Z0;ZX6(!^]UH[\FI$K',K7M3DR00 MCQP0"P:9V)4SWVA'.K:LR;%D#08FI>>CR=2!?W(Y6!P@! ?$64O@KE(+^'0T M:K:X]R0>YNCA9L'IOCM20L;M(=;>5D)Q0SHB)MR?E$X)"FW* W)I'%+&(++2 M;D2"YP+JA(/83:_'(*%XB)B4@:QS# S'&34"9&F7E]'G#L-M==6:2I+4(S79C?MTZN+VEYYX:(!'20MC7""Q M7:#X#'*+\\38XQLGH;I<=RWATV[8?W"C;GF,XP)XA^NY*0_7TIO;N_VU%/AW M@TSBG<_,%I@;F/F,&1,K(]^)W[F)WL2@T5P.0+=\=V@Q?'"K:RON/=N,K1/D MJ_GU+G%SZF,7XVDB )CN7 U;=(W'%Z28,^B$>8A@\&W0;,$%HOH!^:/+NN7K M6^P=,WF=9\]X.GYT2N36H]%RNO;%A6?Q.<^QQZ#$.GQ#@ -?K0XSG@L &8VR MX,'46^]2YC%AW?B^YIZJEL$W(J5Y<+$>CI8&?.PU-Q*^\4$ Z/OOHS:;3>S M^O$J3GV-C7H?Q V%E7SV1R4UE+^-]ZO[7Q:N\P?U03S_+/%!AQ6&,"A:0G5< MO'P^4"%_ZN>7Y-?R>;WP"1_K\EB#3@HL@/VE]VGWP@?L?V^Y^A]02P,$% M @ \8'^6/G#^NG' P "@L !D !X;"]W;W)K&ULS59M;]LV$/XKA#H4&Z!:KY;EU#80-RG6 2V,NET_T]+9$D*1&DG%R;_? MD;)D"4F,%/VP?1%U/-[#>WC'XRV.0MZI D"3AXIQM70*K>LKSU-9 155$U$# M1\U>R(IJ%.7!4[4$FENCBGFA[R=>14ONK!9V;B-7"]%H5G+82**:JJ+R<0U, M')=.X'037\M#H\H,B&Y!D6U )"T\CKM%ZV0ECW6*$+V DY+/@NE#DEN>0 MC^T]]*=W*NR<6H<7 ?]J^(1$ODM"/XPOX$4]R@[-Z^R9(_/<7/(Q[#^-+Z*_T\#)&$$S(4QSRK0"R%PQO'RJ(ICL& M>)LRP;.2@2(:U;RI0%(MI"*4YYC47&"JM1.-@IR4G&2BJAM-S5521.RM'5Z' M,FM-2M9H7'B[V>)FTFIU(0&L5I4/I&I3!$R*$ PP] &V2X8ST15Y^R8-_>C] M?S9^L[X/T[I7;9',LXIN[*F\.-&-EOU B"YHOG0Q>OEPOF -_\0Q4$!^?Q*: M/_IEOY&9&\_B@1R$;AK-AQ.QFT3^8"* F87J6D\2=QOY('R>SD=Y/4W)CS@"K/X'] M'I\#D[]VEW>FH.>$'JG,56\5NU%T#L74G8WWW.XR")8_\>.QF([%^4@,INWYX$'\ M).SLTBX(VXG7=2W%0XEO*+!'DD[F^)(Q9A]E3-!H(!]/1TFZHSR=8*E48RM7 M@U<.7=,BNQL'[PCH+!<::U7&FKPM6J8,#4M31EG6,%O$.O5KJY2+15/58)L( M]NB2'604:Z/!>&PWIUR77>0G3S@G(\ZSR>S_SSEZ!6>FQ)CXF\+XW7+>M2C_;-WK7;7]S7MYVB9^I/)3X C'8HZD_F4T=(MO.JQ6TJ&VW MLQ,:>R?[6V"S"M(L0/U>"-T)9H.^_5W]"U!+ P04 " #Q@?Y8R2G ;WP* M #T(0 &0 'AL+W=O\%N&JQG*7M^V** M)'!Q<->#2U]OA?R2KQE3Y"F)T_RFMU8J>ST8Y.&:)32W1<92>+,4,J$*;N5J MD&>2T4A/2N*!YSBC04)YVKN]UL]F\O9:%"KF*9M)DA=)0N7NGL5B>]-S>]6# M#WRU5OA@<'N=T16;,_4IFTFX&]12(IZP-.GLMQ99(' W2\(?>JIX-X'B* M1IDK"6\YS%.W$Y8HN M8@[.%Q&NL9Q UM%+PDR0DJZ(6!*F)5\N]);HELHH)TJ0D$D%28BP77@L9\R0%1C@HG(D,E@WQS2S-PE) ;S4O,%/ *7$=)'JIZ4I%R?(XP!"PE MS>/.3FTTS%TF>4SHR5>0^@.QKV#/D^H\^*;]'E:PQ%'Y+ 4^M*&QFCR [T3V%9( M\S7)F5)Q!W-E"QUF+AZS4/(EA230G3'2=$@]=*M8V,<*RR5U5R?=-;DHM M^@G-\1U*KGPDYT\D,74"HS$BD.59G>4)SW'.4L1 %O+7.DTX_M7_[-JVYW<+ M^4,S =C:W89)2"<_#=T'ABP+[?S2&;\7.GV##U,F10@\\@^^/$1]MUI) MMD*'W']3^7UU_V <'U,^.E;UN/]/=*:+@^GO86$.+"\DGVE<,/)8*,AAJ4X8 MQH'>LM#4(=_5?N*3J36=>K6$5\0=VXY;WX_LJ=M^.1U;P^FDQJF=&%2@ \([ MKKU3SX]=*[EEP(/DOC_R#S<*&*??+!0"9\DXPNT'HT.9OMO>^%FA!ZKMAM_4 M&D[\KEI]KZ76H*WSD6L%[K2U^XSI3%OFN*,+>)8[#5HRO*$]';44U'GI6M[8 MW=>N3J?'1(\M;SINSP[L4:.985?TR+'Y!:P=%ICY<\R, MAD%@VEU N0 B(+\P555IR'49D_JT!.6B?%KE?)@7<;V(KJF2D2W^@;3;K8*5 MA_ZDQ4A42'QR/@';Y.U+AUIDZ.S!UIMIH@#AN98/X?H"U%U)4JU="& ."*[FIAU"?(^O:S(<<2S)4&]9&%-0+=30#%AGQ5Y M(8AB5W,_H\,?V*0--:9F3"8H/B%CJBGBA_FGO(:'-P1Q_;?9S2&MJ3A-B\OL M$1(#[L]"1#2:'ZC.=:):@[X;27_56GN+>GQ'N?R& EI)"*RQY[03\L1V?",7 M8'CP=GP PO=LR+2?P2A8E5S+.5;L0!!D]G=-]7*'WI%14]MQSI:ED>7Y[(#GM8<%)%N4UF3?(Z&B2S=I#,G@F2 MO4R(O[F(M ),U. Q1SSQ!'84[P"M!(\_%T1[<3#[4\5!=9T=BX>31/K?$\,3=H1%+BV[]815#UW)Z,#8##2FU1Q]!+RB<^;B'KI MC+/1-1KMP6^V@PK!^-+A9*IX$U7:B%M^C)64A\K3C*1B.)4;&J_6W33]?$WQ M',U2[&=H_X^PV'6/H*3(JR#&UB,46RIC0>8\*6)SO$U$Q&(#$4<9-S9Z@! Q M].#E3JVU]8'G7_2#Z=42PQ%X!\/Z1"0BZD,(8Y, O/&"^/:47!(D" \5-ZX; M#SO.XJ@[O+)7/7@C=N?^\)?S/R4:?&=B40-*8!+@OT2](!'@$6;Q@VN+]D:6_8;AETF;(-@ M OU_GNGWKQ]U%FWWJAM=0BX\^J*ZUH%S\*"OU2:*'/0 9UQSV,$DT?R:21$5 M(;(YH()P*JHF \' MV,@JLDS(9ATX"#N=XA\TL>_Z5N W!]2)Y0V!"; 43!R;UFB4\)0#%:.Z"=;( M#,:3ELR@+1-N7:RIJUT?'>8 M[RQ2I.CLJY3_NSIW/!<8F@" ,-MK>+[I4O/NH7=A@JB4*Z F$0I'(E/#+FE9 MHTR-1U2N'9BT9S>]>$,G9H4,(0'NM6I^0W"J-:'6!]=C"48:// MCH>G#]/#!3EVO88A)S3$O9=M8^ 9HEBMX:PA%0]Y9O0!#A[Q/)1,\XTETP2J M9"SFK(."-6'84![KPLO*3!1Y%!'Y_ M@+J'WPO*9@!0,BQ?P* N-8,Z4$M=W> *A8UIG2P+54C6_L" >K,(B_F*XX"6 MFM RI1YI^+7@2",-4SFA.+ B0"D/@HL=VK4PU1!0+0L\,S;6W4G(R9".,"O5 M/0F25Z=WF&]9D=^-3*"B&KO!7U@,OQ+A1'R4V[XESK%)/!%1S3\Z/,+ M,X%+9J,/K,!<]>.?M-$<<> MU@\J_.;PHKGAF;92MXGRH]"\?6C^]T+S]Z =^]0[:'V)A_J[TO]O@&%9I,I\ ME*^?UO_2<&>^Y#?#S?]#0'I?<2!6,5O"5,<>#WOF2U=UHT2FO^LOA()BKW^N M&85 Q 'P?BF$JFYP@?H?/6[_ U!+ P04 " #Q@?Y8*6H JP$$ @"0 M&0 'AL+W=OMJ/$>PY?V MUM$N'5 JJ=%X:0TXW"R2J_QB-6/Y*/"7Q*T?K8$]65O[P)O?JT62,2%46 9& M$/3WB->H% ,1C:\[S&0PR8KC]1[]4_2=?%D+C]=6_2VKT"R2\P0JW(A.A3N[ M_0UW_IPR7FF5C[^P[64+LEAV/EB]4Z:]EJ;_%]]V<1@IG&<_42AV"D7DW1N* M+#^(()9S9[?@6)K0>!%=C=I$3AI.RGUP="M)+RSO@RT?&JLJ=/X7^/BUD^%I MG@9"YONTW*&L>I3B)RAG<&--:#Q\-!56+_538C30*O:T5L5!P,^=F<))-H$B M*V8'\$X&-T\BWLG_=+-'F;V.P@_DPK>BQ$5"+\"C>\1D^?9-?I9='N X&SC. M#J'_9XZ'4?*3*8R1WKXY+_+WESL\N,.VJ%/X($PE30VEU9HD/?.'7UF:Q8KL\D?:\2*_?#>%+U1S M+D+_*/72&4UNCHA22X-2^ 8VSFH(U&N8=?SWC: $,V49_$M:H7&VJQO@ODB( M[H$ZYQ[2\\IWP@1&NNL40IZMC_-SBF.5DKG]T>EQ#JT2QD] &L9OE1049GK] MH0'1TK84:Y+U6'9.!DG02FP]XX EGQPHK(4B=RBO#JE-4F^&/U\- E26U(T- M8-=*UB+@BZ@0TU%0^,2W6,J-+,%T>DVF* Q]0"9 ,H34!TE)+<,D4N+(KA&T MK4@/JPDU>0+A9C !""W7!&"1D5=.XQQ&@=&TT,(K'94 MG#Z7]02VC2P;2F.I.F8D:;H%=)*2TZM$4VMG'RB2;$UZGFB4K:MX\YT'1_D8 MG0CP9.6H/0JI8DEPO$>OCSF/:'8'7@.9Y"'(?>"0&&PIR0Y+6YMH@2JTCROI M&(XFK;Q5LB(_*U@)%2OWGF<0>43A@^!$A<=\SR-3^NEK[3$=32V-KHZSF1-" M,>L'V' ZC/^K?NH]B_??#C?"U=+0$\$-J6;3]Z<)N'X>]YM@VS@#US;01(W+ MACYAT+$ W6^L#?L-&Q@^BI;_ E!+ P04 " #Q@?Y8UW5Y(<,# J"@ M&0 'AL+W=OEL"9%(C:1C^]_O2,F2G*0&MJ)?)/)X]]QS+WR9 M;J5ZT@6 (;NZ$GKF%<8T5T&@LP)JKL]E P)75E+5W.!4K0/=*."Y,ZJK@%&: M!#4OA3>?.MF#FD_EQE2E@ =%]*:NN=K?0"6W,R_T#H)OY;HP5A#,IPU?PP+, M7\V#PEG0H^1E#4*74A %JYEW'5[=Q%;?*7PO8:M'8V(C64KY9"?W^4SA-##HT=H%68=^TZ*S'Z GY*L4IM#D3N20']L'R+2G MRPYT;]A)P-\WXIQ$U">,LO@$7M2''SF\Z!>%WZ+';Z/;#76E&Y[!S,,=HT$] M@S=__RY,Z,<3W..>>WP*_:>YGT8/XW/R7SR0ZRQ3&\C)W0X/# VZ%\!!P#61 M*X(EA+Z$A(NX2U+=J"]. H6/PZUKO M__X?"X45'Y^C_=*BW+V]\*JC7PE>; '7\:[)A]&],)@+;;J\CRKX(?*C,#P; M2YB?I,F1)/$GE_1(,O'CF)T1O$WQKA1XNRD%(MMCTV0%%VL@E=2C3>&S:&AE M1D=CGX6C=F6777_@'LOP>N<",*Y#*[;MLZ(U..PJ2)O&+L..+ MX[!C/XJ2%V&S<$C$6P=_,+J_:U!K]TK1N 2_M'T+7[?T_J+>OJ*]< MK4OL[PI6:$K/+_#=H=J723LQLG&O@:4T^+9PPP(?&ULG551;]LV$/XK!Q7HDV'9LI,&J6T@R59L0PL$[;H]4]1) MXDKQ/)**XW_?.TK6W"(UMKU(//+NN^\[DL?-@?R7T")&>.ZL"]NLC7%_F^=! MM]BI,*<].EZIR7G0!4,./-;;[&YY M>[\6_^3PA\%#.!N#*"F)OHCQ:[7-%D((+>HH"(I_3_B U@H0T_A[Q,RFE!)X M/CZAOTO:64NI CZ0_=-4L=UF-QE46*O>QH]T^ 5'/5>"I\F&](7#X+OBC+H/ MD;HQF.W.N.&OGL(])$HL?U)1[3:>#N#%F]%DD*2F:"9G MG&S*I^AYU7!W)G;L%<:MQE?BH#^";/=ZU?+Z\7;"VS7$]OU)?3_OCL7X5XFN[R: MP\4\WUGO332-2E?JG:<.(M]1B)3^,X@M"MI>N2.8P'>]_(OOGZP_*6^H#V"Q M41;VGC1BQ;!#1FV5Z<(,T#""!Q687<0*R$/O3I; JP@,%!",2\G(,PBW$]#4 M>YZF&LH^L/ 0YO#[&1N/FGTYOU&EL2R"M7!3X[AS=<9IVPNMD:>FP#4YM.C M1%'$Q$M56ARI3'!':%6 $L71Z=Y[)B_"4J@051WU+H)6CKV8C0KD&.@(&+AT MBN7-X?U93N41\)F;;Q"D,*'.X<[&EOJF'?3W45.7=(OY;ZHL'!Q%H<''H#): M"GW@PH/F,G,CC\<9]QC'35F.!%3$A1D"K,&GDW2NZ9 TX#>)N*:4-G',=C#6 MO[HIEF_>AFD'9U#SYO+.I*JXRLBQFW'Q C?= M(.GY=?+I,*:\6H46:GYH>.]?NG[Y6:/LT#?I.0AR=%P<>N8T.[TX=T.C_<=] M>*X^*-\8)X6N.70Q?W.5@1^>@,&(M$]MMZ3(33P-6WXUT8L#K]=$\61(@ND= MWGT%4$L#!!0 ( /&!_ECOV1]F&@( .H$ 9 >&PO=V]R:W-H965T MZ0OC=;RU8TLN2J1NV4T6#QL!8WT^5F[O-# MP@^%G3O9@Z]D;\RC-^[RM8B](*PP(\\@>7G"6ZPJ3\0R?@V<8CS2 T_W1_;/ MH7:N92\=WIKJI\JI7(MK 3D>9%O1@^F^X%#/E>?+3.7"%[H^-XD%9*TC4P]@ M5E KW:_R>;B'$\#U:X!D "1!=W]04/E1DDQ7UG1@?3:S^4TH-:!9G-+^I^S( MZ_\%\4ZN(F-B'HVP@V?0DR2LD"[@WFDH'GW2.^=_XB 6- MJI*CJDURD?!KJR_0 M/J%(W[Z9+N(/%R3.1XGS2^S_*O$RR70Q@3-$\*U$N#5U(_4+E-)QVQ):[B;, M@4I)H AXS*TD=,!AHW&PE2Y ZIS'KS&6Y+["VD)I!Q4>&!I/WE\)L/UD]0:9)G3SWA#/1MB6_!BA]0D< M/QA#1\,?,#YOZ6]02P,$% @ \8'^6#K:JM>2 @ V@4 !D !X;"]W M;W)K&ULI53;;MLP#/T5PBOV%/B6]((N,=!T'=8" M!8(6VYX5F[&%Z.)*RB*G6VW6MD%T\"R%LK.H M<:Z]3!);-BB9C76+BDY6VDCFR#1U8EN#K H@*9(\3<\2R;B*BFGP+4PQU9T3 M7.'"@.VD9.9ECD)O9U$6[1T/O&Z<=R3%M&4U/J+[T2X,6?"5+K=?>N*UF4>H%H<#2>09&RP:O40A/1#*>=IS1 MD-(##_=[]F^A=JIER2Q>:_&+5ZZ911<15+ABG7 />OL==_6<>KY2"QN^L.UC M,PHN.^NTW(%)@>2J7]GS[AX. !?I!X!\!\B#[CY14/F5.59,C=Z"\='$YC>A MU( F<5SYG_+H#)URPKGBL5M:?.I0.;C9T-=.$T>T_C I=Q3SGB+_@.(,[K5R MC84;56'U)SXA.8.F?*]IGA\EO.M4#.-T!'F:3X[PC8<:QX%O_#\U]A23]RE\ M:US:EI4XB^CM6S0;C(K/G[*S],L1@9-!X.08^[\)/$KQOL#L/(:_N.%6P5TG M7L+MCL U"-=:MDR]4).UG2D;>N059/&8WIL0OG5LPX@3] HXX4LMI7%,[" A MU=+H-9J0C5L_ VP,5^$DJ-^_CQ&<9&GZQDX"_"PB6K9A7+"E("&*K,XUVO#? M=. U'\CLZ-F:< \/;\Z%T;5A,H;W?F]RT&\231VFBK\8TMZWWN =!M=5WZ]O MX?W4NV>FYLJ"P!5!T_C\- +33Y+><+H-W;O4CF9!V#8T?-'X #I?:>WVAD\P MC//B%5!+ P04 " #Q@?Y8#QXOIK8" "#"0 &0 'AL+W=OZQ!*\F>,<2_)K@'^M# M4!."8RUT:D)'!ZNZ71V:$18X[#&Z1DRAI9H:Z/AJMHQ(2E0FW@LF=U/)$^$, M/Z,51S-@.JM)!&B4\BBCO&2 /J.'^Q$Z/[M 9R@EZ%="2XY)S'NFD+:5@AG5 M=@:5'6>/'1?=4B(2CL8DAKB%/SG,#P[P3>ESX[BS<7S@'!3\7I)+Y%J?D&,Y M7LMYAH?IMYA)NKV7/CK>NMM"'Q]OO8T^^3_?I^\^_$XHW"8'7:WGOB<'VU*M MDO/:Y=3;W>4%CJ!OR,>9 UN!$7[\8 ?6U[8XGU)L=$JQ\2G%)J<4FYY(;"=; MO"9;O$/JX4]9GF](1'- YS\HYQ=M&5))!%I"%>-5V/$Z,M57VY%O =E^L L: MO079SI7[918%K[:*F;U&.;]DOAZ]NS=QZ\W-@2UW..8IH M243UUVM6FX[A6A?*5^L#NSNV6]8GLL.H&H(7^:H]D:_/,B4<9;"0IJS+CJQM MK"KYU4300E><.16R?NEA(KLD8 H@]Q>4BLU$&6CZKO ?4$L#!!0 ( /&! M_E@0PNQ 1 ( (H& 9 >&PO=V]R:W-H965T(%5@@89-H2L+GMX0X8LR"C\;MC>OV6-O%T?*1_=;6;6G98P9U@ORC19>)] M\!"!'#=,;\7A&W3U3"TO$TRY*SJTL=%'#V6-TJ+JDHU!17E[QR_=.9PD&,[Y MA+!+")UWNY&S_(PU3F,I#DC::$.S U>JRS9RE-N7\JBE>4I-GD[7YG@)2/0D M,:&\0$LI,2_ '+M6L:_-#C;.SSK:JJ6%%V@1>A!OUPJ/> M*AP$WC=\A*+@!H5!.!G@17VYD>-%%WCGRKQ!NU>TYH3N*6DP.U=U"YV;AL&:!SLIK?C4VVT)*+6_Q]R MJSL,S#%3," V[<6F@YSO@M]>(3<,?4MNULO-KCJU)Y#F*\(7W(:9;[G->[?Y MU0CGG_2'"F3ANJ!"F6BX;EM%O]HWVF7;7_Z&MUWZ I'"@ X!X !D !X;"]W;W)K&ULS5EM<]NX$?XK&-W,33(CR[*\9VDJNOO3M/%%\_0R0D(B$!'@#* M<7]]GUV +W(D7=RFTWZQ11+8?7:Q^^PN>79OW6=?*!7$EZHT_GQ4A%"_/CST M6:$JZ2>V5@9/EM95,N#2K0Y][93,>5-5'LZFTY/#2FHSNCCC>[?NXLPVH=1& MW3KAFZJ2[N%*E?;^?'0T:F]\T*LBT(W#B[-:KM1 MF5SEF_L/84QGT:RUZ&JV5^#/C9F(X^E8S*:S%WOD'7<>.F9YQ_]%#VUS2]3Z M8KM6RL77OI:9.A_5I->MU>CBQQ^.3J9O]MCTHK/IQ3[I&S;5TO4FW3IM,EV7 MBI]>6^-A0<[/M]GP_;6(CX5"JF:VJJ5Y(!_B<0X24/E@(2ZN9"E-IL2<0M\+ MR:)P]JH[>U;U5F6J6B@GCH_X[O%8!&C8(72.TU6@G,#2?JM5!.U9U#4P.540 M(:V5N#' J 1HD06&PBG%R[S^(JH8THI">@NH)^*8!YM]+FR9*^=__.'5[.CT MC7CW1Z/#PW^BGGY],X1KZ0OQ'@SN.Y7?J(B8FRA8R+(4,O\$2HM20R%QTRD2 M+X4ABBVQ.&N#KE+YU'Z$GAG M=.]N4M!9J MI=/PSX)\CNBD4VH@RPER !M!65TJJ.ZM\%V832CUO<(>V>0Z.CC:O"-"WW=" M!K&*8R4\#$+R&<&@3XV)/0 ?< QZYI>43?!^4ID-%6Q#F!+ZGYM\%6U)$3RDYQ1V3W#YMKKPOT?%=:3>%+'U/&.$4(H0 MGW* <+RF&/9HM@RZ4UI,T5_)STJH#>32HZ.M8]9&JEHNB? B^U 0 *.LB%0X MK;%>I4 JM5SH4@>=1.W:XM1:F2:RH?I2DP]$WC!/]ELVJD&S"_=0YFBA5 MFP)\BD7)ZS"V?*"R34LK)8D>V':@0(94;;A#V5@LFD Y #,JSIY@7W=0P>06 M$-CWF=.4R;+?R[IR4 '<;KH#2GR+ UJCU#4 L2+5K @OR@? MR^E:EDW/= 0!@J*+N4U;69O?:RI$ANE%FI4F"HY'$F70;^];FVND.(H!(($J M446F"%_P>JQV.69NU+=?1"-EPQ]$V")7D6A:3&2L6#R(K$# J,93U R)HB]? 460= M^]>:!'90A]=2ES)&7DMNQ&7_#M%-]M2)DZY.G.QEY'D!+QQ0P*"O7:O4HFUC M]KURMD\MVX6C\"V"F%._%_/AX[:RW/=B'/ZTQ?=;*+CP+U>(7V:5Y.I2K> C M:ZIXV^]:V6]V2%/LX.STP,[DYV\:S8A2=B.GKKZ%D&\8<@" M!UZ6D4IBK=+$Q.@QB=D='2!HI">V"7IQ>+74_\23%=@@D:XE1N^:-G#'%AW; M@/5:<(V'W$LHYDMK4GWXC7DMVQ@-GY'&YZD\C3&J\$J4J3_QV].G3\H-(K-H M,\4BC@JG1(KVQ,N?>EP/NEHV?HO-&^9]7[LF:)Z7Q/X6O7.:5EZ-Q7LZZ=^Y MA/W2=R9CCOAEXQ*JCF4W%+*SARN3E)]:3-1T$U; EW MVS@J8JMV_$"&M#37:YU3X6NI#1RY5K$/4K%K4I%M'EEL$&-=3G$+5%L?NSK M:9L,J(C,.-"-&$IN;C/OV::@+KV@!_,0=2K(&AA@K#EXO/41"KAI3]D[[ MZ=ZR]P&SEPG@DQMT-) \?'/GK+'45NRLA-])-$H@M^-I7J0%7/X0(3?(##2P MZ76)32LXH]M-;PH%.3 MSN\ ^I<5[60655# NUZ'CSK0Z&&6J.(+B5 XVZP@W124NOG&BP^YL!AB_&!: M2B+:.2N5YJ:.7.:3WRB\%;>&1%O,0) *T#3:>S2.*VVX]Y9+&-!/^4*K?.PQRH=V@L3YTZLYHOK$+.T(0N20Q5J(F:%W M95<]-IN_)S3!D[8@?J19<&<"]8L>)T[GU1V),[\;),-?NF38T)KRX/3%MCS8 MKOKK6G#7ZFB3<$=N[,J'09?#;P;BH:.AS#!W]J/Q<'06H.R-I)B( 8X^9+@K M]30."X2*6EG7OK98@9LI-B%#KG"QZB;ZX="3XN/;(<69<" T3F&?4)]\KK.^ MQG_GY'Q:2K5S(J50G/8DY4"76PO^"L+]PNZDZZ3_G^;7MF)[./CJ6"FWXF^K M%"8H,?$#9'>W^WQ[&;]:]LOCMU],""MJUTNUQ-;IY/3E2+CX/35>!%OS-\R% M#<%6_+-0$B,2+JG=7I""[J/VQ;\ 4$L#!!0 ( /&!_EBAEQ1!N0( M +@& 9 >&PO=V]R:W-H965TS34+HUN9U+]AWON_S=_;Y MF&V%?%0E@$;/3GO'?564VCK\;-:R I:@ M?[1WTEC^P))7#7!5"8XD;.;>=7BYH#;>!?RL8*M&ZF'@;S#$*-;P76IT&>>0_X:[QLU@R2RE[0@1PF_=_P"10%& M)"#T"%\TI!@YONAXBF]EU@/IVT#['BY5R]8P]TS!*Y!/X&6G)V$<7!V110=9 M]!A[MC3O*^]J0&*#\DJQHI!0, VYJ?5W!1^G/#U)21!=H?\U/I02X%4YH&7U M_-KQ-\;<-KC;_L=QABJ.="DZQ7BNSETYV$\TFEW;1\W<^][C/Z TP30)1XXD MP5-*1HXPCG$RC<8>FN THN@6F.HDF+:CA]4)Q6F8#":E>)I.!S,,* ZF!_8T MQE%"T;)KV_KEHZIRV+UCD =,A.. C"C,!@@0WO?T6R:+BBM4P\9 @XMDXB'9]\G>T*)UO6DEM#DA-RW-KP6D#3#K M&R'TWK ;##^K[ ]02P,$% @ \8'^6%^(U-Z.! W0T !D !X;"]W M;W)K&ULQ5=?;^,V#/\J@F\X)("OL>6_Z24!TMYN MZX >BFNW/2LV$_O.MCQ);MI]^E%VXCBUZQ6[A[U8ED12)'\D12WV7'R7"8 B M3WE6R*61*%5>SF8R2B!G\H*74.#.EHN<*9R*W4R6 EA<,^79C%J6/\M96ABK M1;UV)U8+7JDL+>!.$%GE.1//5Y#Q_=*PC>/"UW27*+TP6RU*MH-[4+^7=P)G MLU9*G.90R)071,!V::SMRZM T]<$?Z2PEYU_HBW9IUE&6!&3FT*Q8I=N M,B!K*4%),GE@.)/3Q4SA89IE%AT$7S6"Z2N"?7++"Y5(\G,10WS./T,E6TWI M4=,K.BKPMZJX((YE$FI1=T2>TUKNU/*<_V3YD,&-/'=8GLZ>2UFR")8&IH<$ M\0C&ZOT[V[<^CFCKMMJZ8])7]TW2$+XE48*J@B2*$Y4 V1WMB)@0SVFQ(X\L MJV#(@/$CWK\+J>5\)/\V3M("#^:51,?):;M\\J@DM)KH\Q?EQ> M=QQY7/N"=UF/\$?YUSFO,%+7'; Z:Z]M/0@6XRV*-VP-_T9H)W1BS[;-P.EF MQ\0S/=^>=E9\TP[H2Q;WG,5VK7,6;^Z2Z_KV0)_608=*R20M3X=C83(]:O4! M\^?F//1.\N9(YW@=/ALU;(YR4H3+Z= !@N M*;X[H( [[2WJT:;]T/;] 7[_=?X'KE@V4!A.P%'?1?BM+KBV,W\)KTT]TZ76 M&9^'F/EG?$AD6\X9GVN98>B,%#J_+73^FPL=2)7F=?YL*X4%'6MSB2W7B\)6 MKQ9RN#0.5;UQ!7[PKJIKS@1;6LP-W;GJ1)?I$\GKEN7<9QBH@6;P>L*I;P86 MU7O]0* V1F:H]X+>GAV:ENOIO;"_YYISC'#H(P 'K2 !V\&?%]WNA!_8(\@L''O^+"2L*TRDJ5;()MG[%._H8MK MC$F4Z7$0ZO&CWPSU34&>@0F$;[CJAJ]51'^\5M$A_\TZ+3=*W-4/"TDB7?6; M[KM=;=\NZZ9E/Y$W#Y];)G9I(4D&6V2U+@*\\$7SF&@FBI=U [_A"M6O?Q-\ M?X'0!+B_Y5P=)_J ]D6W^@=02P,$% @ \8'^6!RI4JGN @ U 8 !D M !X;"]W;W)K&ULK579;MLP$/R5A1(4"2!$LBX[ MJ6T@5]$6+6HD/9YI:641I4B%I.RD7]^E9,LND/JAZ(O$77)F9TAQ-=TH_=-4 MB!:>:R'-S*NL;:Z"P.05ULQ!:32RH@/5(HC", MJQJ4W MGW:YA9Y/56L%E[C08-JZ9OKE!H7:S+R1MTL\\%5E72*83QNVPD>TWYJ%IB@8 M6 I>HS1<2=!8SKSKT=5-XM9W"[YSW)B#,3@G2Z5^NN!#,?-")P@%YM8Q,'JM M\1:%<$0DXVG+Z0TE'?!PO&-_UWDG+TMF\%:)'[RPU%!@R5IA']3F/6[] MI(XO5\)T3]CT:Y/(@[PU5M5;,"FHN>S?['F[#P> 2?@70+0%1)WNOE"G\HY9 M-I]JM0'M5A.;&W16.S2)X](=RJ/5-,L)9^<+3>>K[8L/"\&D!28+N']J>4,; M;^'L*UL*-.?3P%(MAPCR+>]-SQO]A3>#STK:RL"]++#X$Q^0QD%HM!-Z$QTE M_-C*"XA#'Z(P2H[PQ8/QN..+_\7X:WY[NN1U.G=WKDS#T1L,HA-CK'/'^DN%JU 4"4T@_!F$(['A!^G?G,RB<+X+?RO][5Q(L^X M!%NIUI ZH(1YU,S'T_ZN MT2',?E'BC[-L'T9^>IG"+6NX98+_P@*,*NV&4)/LG1/ M0J+C2ZILR&2>MW4KF"6F NG[R3GK>Q8Y8+72EO_J$SOT64+P*-GO[%D\]L>7 MXW/XJDC3\8_$!XG[_3B%+/'3:'202"=$'K[VW08'G:9&O>KZJ2&GK;1]TQFR M0\N^[CO5?GG?[S\SO>+2@,"2H.'%./5 ]SVT#ZQJNKZU5):Z8#>LZ+>#VBV@ M^5(INPM<@>%'-O\-4$L#!!0 ( /&!_E@[.*@SY04 @7 9 >&PO M=V]R:W-H965T?E- MK"F5Z#Y+QR93E]+9$HLHR4CY@535.E"&#\V>@&]@C%E9 \:X0!0<;R^I_<-_M@"$2' M!' C@#7NVI!&^8%(,CLO^1:5:C5H4P_:52T-X%BN#F4N2WC+0$[.;BBX)-#) M'5FD5)R>3R0H5:\F<:/@LE: #R@(T&>>R[5 '_.$)GWY"8!I$>$=HDM\5.&O M53Y&KFTA;&/OB#ZW]=#5^MRC'NYSK);S]LNI;#@3!8GIQ0C"7=!R0T>S-Z^< MP'YW!)77HO*.:9_-(;N2*J6(+U&J$**8"XE(GB NU[1$+*\S3H?N M*I7K;7 MD>.FWKR*L.V^0]_[_VY=4MJ+#@1G2_79SMG]@3"EG X^F0\4(CQF=;!!0"Y[&(@05$*)P*<#06_J#N98RCPAFY[T13-JT5M@>4QS^A>&^K?P<-S.<%!^(S5ONN=HCLN26HZU068 M:_F!&7#8FCJ^,0XM;'O&V+?"/;OWKS/F<5E[^;B^(F*-"L(2!$81R7B50R## M0:25JCFZTE"4P5Y5)06F(;MJ;$;?]ZLEL0(,M7X)7$F@946AR1"@-!:PI?(;U0ZK[EIS*JIX:5% $;#0 M;S$AUO+#YYO"/,"^_95[^DYG75I-VFKPE&\"P MHA [ZB+3M775(6I8"1.QJA\(L.YG8+'D*F:"T2T6WD>:5:A>>@6.P MM ],5[I=DFDV^;A^$+WI+=_2-$HM5!3* L.BH/JFE#X\OT"W6@<=4UG1).WK M4UQ%;X>X%3%\H*0$4NC@<5<>''<A M:ZZ Q:OQOI _;O(S 1-U"]W;5_=%XA:*BGI1IXKX[SA"W\R!6T;7&V_Z9[IC MY QR3?L;QIJ.2- +8MQ^\()8:1K59TK7QJ>0:I MCIRI>MUIC:PH&!)2K'KD;A "E1L2<%@R'4Q&EN/Y![<1REA)R1+2: M')8TB&E!'NKRW^Z!$UAAU-V6/,L#EGY#A6AH&VQT4RW57K-=\VFY+YRL9QLW ME!.,IZ?0VK4(VI"TJB/_& A@.8'EAB9E\BSLAD>R+VRS+WQR]F6]M#AXZ=F7 M;\>-_$B5'ZGR/TR5B?%U$HCW2G^#%4@WP/I#93O;?N9]7W_=[);7WX@_DW+% M@">F= FB]C@$SE76WUWK@>2%_M:YX!)8OGY<4P)]3"V ]TO.Y6Z@#+0?OV=_ M U!+ P04 " #Q@?Y80L0.PQ\# U"P &0 'AL+W=OWI.VS/<]DRJ!YT"&/*4<:$[7FK,I.7[.DHA MH_I83D#@2B)51@T.U=C7$P4T=DD9]\,@J/L99<+KMMW<0'7;,C><"1@HHO,L MH^I/'[B<=;R*MYBX8>/4V F_VY[0,0S!W$T&"D=^B1*S#(1F4A %2\IS(%= =:X 3]R0@ULZXJ /V[[!36RH'\T!^P5@ M^ I@G5Q)85)-OHD8XN?Y/I(K&88+AOUP*^"/7!R3:G!$PB"L;<&KEHJK#J^Z MD^)-0@NV5ZD[3MF^]_:89! M]91\5MO35C9>/)07OQ;S*Y<&Q5]1]8"?KH]B,E L HWG3GKN\_%FPI"-!4M8 M1,7[214:-,%/[$:<:Y/"#&^EP>P5\QS84S&IS#45L3XL P]^PA0XJ:S-A&LSU>7,BA7UG&/K355G M5*<$'G.&3]\E+A;V2"-HK(QLKQ*>;IVQ&<-4*O/5@,I0W!2TR5[ -L.CQDEM M1^0729_KJG.((!OA>ZI6G+.J_]A9_[NCUIRTDX,JSQRTNX'>:9PU8^R1>N6H M5E]>]K:7NQ;\0>VFOTE_I93)0(U=P:9))'-ABJJFG"UKPEY1"BW#BX(2'\$8 M_S )AP13@^/&B4=44:05 R,GKC :28-EENNF6->"L@&XGD@TPGQ@-R@KY>Y? M4$L#!!0 ( /&!_E@R>S&PO=V]R:W-H965T6J90\74 MJ:B!HV0E9,4TDG+MJ5H"RZQ157JA[R=>Q0KN3,>6-Y?3L6AT67"82Z*:JF+R MUPQ*L9DX@;-C/!3K7!N&-QW7; T+T-_KN43*ZU"RH@*N"L&)A-7$N0S.9]3H M6X4?!6Q4;T],)D]"/!OB-ILXO@D(2EAJ@\!P>8$K*$L#A&'\W&(ZG4MCV-_O MT#_;W#&7)Z;@2I2/1:;SB9,Z)(,5:TK](#9?8)M/;/"6HE3V2S:M;DP=LFR4 M%M76&".H"MZN['5[#CV#U'_'(-P:A#;NUI&-\III-AU+L2'2:".:V=A4K34& M5W!S*0LM45J@G9[>,,D+OE9D#I(L0;9O[V%@773A+KI9. CXM>&G)/)=$OHA'<"+NFPCBQ?]=;:' MDFPQZ&$,\TK.5:F>I5AM8YF HLEH3QC&1%V6C(R,U\<2B)83?'1VGH1Q?D?ZW?<@FP5RV= M:%&\'A;L5BP*L$7Q+F.WFJKI$]& Y+ZI0#(MY/F[0=]CC[SE>"OX1OZXAY-. M[0,9N71$>W00NFETUF=0-XG\'B.,73^@Y!JXP$<^',;?KH^V(T'VB;U@9FLP M]51A(U2F[K&@&JTT)H#OH3,)1H&;A.D;G21N3/T].4U&>W(_3G3HTK27VBAQT]C?DP?A&9G9BX5=HZBQ45@OO&<3M^>!! M_"/L:,A+$!]J-UYO%&!!K^W 4WCU#=?M5.BXW4R];$?)FWH[D.^87!?8>4I8 MH:E_.HH=(MLAUQ):U':P/ F-8\IN<_PO &D44+X20N\(XZ#[TYC^!E!+ P04 M " #Q@?Y88E9BJV0% !>$P &0 'AL+W=O3R8R7D+. MI,E74.#(G(N<*6R*Q42N!+"D$LJSB6U9_B1G:3&:'E=],S$]YJ7*T@)F@L@R MSYGX>089OSL9T=&VXS)=+)7NF$R/5VP!5Z"^K68"6Y,&)4ES*&3*"R)@?C(Z MI>_/J*4%JAG?4[B3G?]$FW+#^:UN?$Y.1I;6"#*(E89@^%G#.6291D(]_MZ MCIHUM6#W_Q;]HC(>C;EA$LYY]B--U/)D%(Y( G-69NJ2W_T&&X,\C1?S3%:_ MY*Z>ZWHC$I=2\7PCC!KD:5%_V?W&$1V!T'I$P-X(V)7>]4*5EA^98M-CP>^( MT+,13?^I3*VD4;FTT+MRI02.IBBGIE>*Q[?OSM"NA)SS'#=;LLI=XVMVDX$\ M.IXH7$9/GL0;R+,:TGX$TB=?>*&6DGPJ$DAVY2>H7J.CO=7QS!X$_+TL3.)8 M!K$MVQW :;-?:;62&X_D@Z9]W+%8C@984Q($&L83=^^H;[U84!/ MM]'3'4*?7F$()F4&A,^)U#H3OFJIG*J??0H/0[Y]$]J6\X'\7]_*U>1KK?9+ M07Y4H86;=;H&@:GBU;2[!)VWTF)QL,2?97X#0F_(D\J=8Q (W*F29>2/=+ZO M]>EB(6#!U/Y([2_9M#_=@XA3"60FTKB=/OX+F)!'>^*?<>$4\V9,OK.L!/*U M5%*Q(M&&,JF5_P@Q5(8XM(HJAT1&%-D-PB^$!J9%F[9O1K0[& 6&%X6-G@O! M"NT"/8/:_=Y[K+_ON\6%C=T)&3N^LV\HZA@]&Q1/LCFD6MVQZ^]C.K1K^).@ M>Z[%9 5-LD*W>J&SZU;'[KC5[?K>\7:A?YW/R 9-0EPRM*II_JHCAWS42>""I>(9 ;M% M<(W MKH$"$W+J7%1#1M'@WV.VR;N['?TKHX":EA]P85 R*2+-EJH9_?,BDS+ M>C(,?,-VNDQW+ RR ;+X#5G\@\DRTSLT1)!AJ- MYE_+I >$&].CEY K[%++I:9#&VIM^VGH[RF&,^UP2[!#3@'=WU+M4(DG:>?[ M#]1OS4&'#! P: @8/.^*]NZFNE;&W:NT3N2%A#Y.#J._%B=?^KU>"H"=VWQ+ MJ_2^?V#[;79BKV.<%D0M>2EQY_#V4A]CFG7MOYG@21DK+*_66#>NL I4G8V, MC,#IGCV>$07>SB%K4&OGY+(,QW/)%<."QL#J2=R"JCA3))L:"W2ANEIQT:Z# M5QQK)\VZ+9FH8[A.>_4(#=O#G L%!FM6H;($:[443R^FB\X.IAN$'4RWBXE- M:G4PG< AUUPAXJ/,ZJ1]5)#N.,$SJ-]U@NL:D=>-!]LWHM :"(*P"8)PD*8S M$-7S0(%W4ZG3#2F+5&'.T;FPMX U&I+<^O@Y++& MW%WO.9.RS.LK7&]M/HQY:.A7L7B9RMNJ(_HPUYD@Q<2O[V1$Z&-FO,+[(T8F MGD]'Q#$C\HZX)L5B97-M3? D3@"#X6<*6;([?9O!F\EKGJ%Y&1[=NQ-=W^R] M54XZ3QX8O8OJ84=B=)2%JE\_FM[F\>BT?C)II]&UL MK5;;;MLX$/T50ET4"2!$$G6)G-H&DE[0+%!L4*?=9UH:6T(D4DM2=?SW.Z1D M24Y,CA?"?DDRH -'FN*ZX63J%U<^-Y*BN@9NI*-,!Q9B-D MS32*=3W$Z]F)7>63^#BJQ6SB! M%-@IO.6_8%E:@OS4/$B5O0,G+&K@J!2<2-@OG-KBYB\UZN^!["3LU M&1.3R5J()R/MC2.'9*W2HNZ-,8*Z MY-V?/?=UF!BD_D\,:&] ;=R=(QOE!Z;96J;9H*L,J:5>13R1G/2ARM---62^YYM_.FA!>/;%V!NIQ[&ET; "_K MW=QU;NA/W"3DB^"Z4.0CSR$_MOHC[CIX%_+/E5R3T74)]&IW!"X,9CJT"=BO4\VMLW*?7#=^3__F^5B>>BY$07HE6,Y^IR MF,3M@V'[R ?(H%Z#)&%@-2'Y#CP7DC1L;XJO!KL_2.+ZB7\DTS0A'^NF$GL MDHFZ+I6Y,A1!EV0M>(ME& R"U W\>!"I[Z;^C#RPO11592V$+C 2. !*J) " M0T%'H-"-TMDH^F[B4Q+YP9-%:?I[ZY69F\;7HWMWEE+RE_6HV?,DSLA-Z!AF MZ,9I3!Z%(>?+'9[4(HK<($R.%30Y=SSB@6+Q+U.L*U#)L=3@$@[Z%,?.P_TN MCOW7_V,A<6NG5](PM2J?3T^\HNXKQ0NN6VI;-H^C>ZX!+P#=EV^R51>A&P;! MY51#W21-CC2)&\_\(TWL1A&])-BAL/]P[!A2 L_VR(ZL8'P+I!)JPGZ7AB-G MJ3\9NS28\)+.>E;B8!Z0)88Z3])/H1=K1 M]7':D1N&R8NT:3 6XA3!O4E/K$%N;>=7>#^T7'?M<= .CXO;KJ>.R[N7R1)Q5LT-2_ND9RRZ[;=X(6C>VP:Z&Q7]MA@0\DD&8!SF^$T ?!.!B>7,M_ M 5!+ P04 " #Q@?Y8\L%0>IP" !4" &0 'AL+W=O.3J.'B018 "CV5E,FE5RA5G?N^3 HH ML1SQ"IA^DW%18J6[(O=E)0"G5E12/PR"N5]BPKPXLF,W(HYXK2AA<".0K,L2 MB^<54-XLO;&W'[@E>:',@!]'%<[A#M3OZD;HGM]14E("DX0S)"!;>A?C\_7" MQ-N >P*-/&@CXV3+^8/I7*5++S ) 85$&0+6CQVL@5(#TFD\MDROF]((#]M[ M^G?K77O98@EK3O^05!5+[\Q#*62XINJ6-Y?0^ID97L*IM+^H<;'3J8>26BI> MMF*=04F8>^*G=AT.!)K3+PA;0?A2\-H,DU8PL49=9M;6!BL<1X(W2)AH33,- MNS96K=T09G;Q3@G]EFB=BC<@$T$JNZ0\0ZM:Z@ IT8<-*$RH_(@^(PFYWC<5 M^4I/:&1^TL)7#AZ^ I^C:\Y4(=$WED)ZK/=UHEVVX3[;53@(_%&S$9H$GU 8 MA-.>?-;#\HLZ'Z'QF9&/%P/I3+K%FUC>Y!5>MUIK7FX)PV859=\R./'[=^-Y\+7/XXE@1XZGG>/I$#W^69=;$.:D"*BX4'A+ M87\^>IT[W,SBS(VRB\>1OSNT,SCA?]J9=79F@W8VO-8&[D&0[!E=L6349V$0 M\=;-.Q'LR.V\=X\7@_OYJ& A9D I5(!)]1G5ATI7C ML2;BY7WDG _BWNKGN-14Z81!0R+0U&"WW2A*MAKJ-X97V-AL-D"F4O,0?)GY[>[,>FS_O<-]DG[/UI0R]!*% M<3;JK1G;#!0EFZ]I1+*;9$-C?F:9I!%A?#==*=DFI611.$6AHJFJI40DB'OC M87'L(1T/DRT+@Y@^I"C;1A%)7^]HF.Q'/=Q[._ 8K-8L/Z",AQNRHE/*GCTW*&P^#V@^^Q@&^5#F27)]WSGE\6HI^8] MHB&=LQQ!^,^.3F@8YB3>C[\K:*]N,W<\W'ZC^\7@^6!F)*.3)/PC6+#UJ.?T MT((NR39DC\G^9UH-R,QY\R3,BO]H7]FJ/33?9BR)*F?>@RB(RU_R4@7BP(%S MQ Y:Y:!U'8QW'/3*03^U!:-R,$YMP:P4O35I8P$8?8-7:/GJ8N^?OF& MOJ @1D_K9)N1>)$-%<;;R[V4><6^*]G:.VP=W2/ ?9ALSIJ,>K8T;3 M'>V-?_P!6^I/HB1!PEQ(F <)\X%@K>0:=7(-&7W\E# 2RA):NEN%>W[SVHVQ M:3I]=:CL#E,E,--UVS#:9NZQF=:W+%MKFWD",]/2=:=MYDN'=F'@S#IPIC1P MS_$L"$.ZX+&;TV!'9J$P?"7$/!B):5AJ-WK2ILZ=Z""N(5VM"T>+**YQ0ELS H*Y$HW-;Q-+3Z1^&6MGMNN$]J MTH-LT@>"M;)BUUFQI5FYYRF)MA'Z!U4/%%>H2=3#0:)^JQ-UA;R7#7^^Y!?+ M4Q#E=OP>,N6GLB69EP931E*&^',-17_>O@397X/BWGFMVM>%G? @.^$#P5JIPVKS6JC*"SIY^3\4='DOS[WH06DN*,T# MI?E0M/;L.1 5,%Q=KUA0.8:DN: T#Y3F0]':.=::'&OPY?T#IEZ45I'G1.YY M=EXO[8<'V@\?BM;.8:/A8*F*,+[-==UW7YODSF=?F*"Z#2C- Z7Y4+1V4AOM M!AN Q1=(+:ER#$ES06D>*,V'HK5SW,A,6*XS?2C0X6/QQ;$-&W/[M+H-1(2EFM(]Y1DVY1&-&;"V$'* M,A-0F@M*\T!I/A2MG=5&@L(V8-T#E8I :2XHS0.E^5"T=HX;O0A+%8L3ZIXC MT+D=;'?KWK&98?2=?K?N'9MAU5#[W2\3 CO'TNVCLO=?R#&XT6.P7+B8;C>; M\!5=HRQ8T.KC,A4)&7=RT-E7!Z@X TKS0&D^%*W]=;L1;305K@)JH-(**,T% MI7F@-!^*ULYQ(ZUHTM?ZCRM@Y=_^Z&JIG9(U$9FI#NX\T;D",\VTG4X]]41F M&M8[W[M\^=@NC5TC66CRU_JR %X7Y4\6P9*2:VCU:-0;U;'ZK;]N0$$%BHOZ MX('VP8>BE=E2#A8I\=O.JEA.EJ%YLHU9N>RD/EHO6;LM%FIUCM_AP00+CKMX MX)4+TAI\N3[NGJ2K(,Y02)>\*?7&YC?JM%QR5NZP9%,LD9HEC-\3B\TU)0N: MY@;\_#))V-M.WD"]\&_\+U!+ P04 " #Q@?Y8RUFK/0T# !,"P &0 M 'AL+W=O+:1<.G(!7P-0V2??O=VP(313*UB@WB6W\OL>//\]PS<6# MC $4>4J33(ZL6*G\RK9E$$-*Y3G/(<,O2RY2JK J(EOF FAH1&EBNX[3MU/* M,LL?FK:9\(>\4 G+8":(+-*4BC\32/AZ9'6L3<,=BV*E&VQ_F-,(YJ#N\YG MFEV[A"R%3#*>$0'+D37N7$T[CA:8'M\9K.56F6B4!>8194PI0G/UBHXI%U89$0EK1(U!U? M?X8*J*?] IY(\TO69=\!1@P*J7A:B;&>LJS\IT_51&P)T*=9X%8"]W\%7B7P M#&@Y,H-U317UAX*OB="]T4T7S-P8-=*P3"_C7 G\RE"G_$DAL45*,N7I@F54 MSZTD9V0@*$OD.VR_GU^3TY-WY(2PC'R+>2%I%LJAK7 LVM$. MJKB3,J[[0ER/W/),Q9)\S$((&_33=GV_16_C'-03X6XF8N*V&GXILG/B.>^) MZ[C=IO$<+-\9CE>OBV?\O'^MR_9"_/R*;>1&02I_-4UY:=EMMM07PI7,:0 C M"T^\!+$"RW_[IM-W/C3Q'LELA[Y;TW?;W/UQ^!NW/MX62N)=$7"!:TP4)Q'G MX9HE21-\J^-KX4NSOC'3-^'*/_,<9VBO&J!Z-52O%6H>L 5K/BNMPM>._4AF M.XS]FK%__&W;/R;]DI2M]:IXM@D2/9S]S+/O*4B8IBQ M)+!$J7,^P 429>I65A3/3?:SX IS*5.,,=T%H3O@]R7G:E/1 >H$VO\+4$L# M!!0 ( /&!_ECZ97>QF ( $H& 9 >&PO=V]R:W-H965T2:>#AV9CLM M_/N=G3;KMK3:E\8O=\_SW)WO.ETK_6Q*1 LOE9!F%I36UA=A:+(2*V;.5(V2 M;I9*5\S25A>AJ36RW#M5(HRC* DKQF603OW9O4ZGJK&"2[S78)JJ8OIUCD*M M9\$@V!X\\**T[B!,IS4K\!'M4WVO:1=V*#FO4!JN)&A. M:[.S!A?)0JEGM[G-9T'D!*' S#H$1I\57J$0#HAD_-Q@!AVE<]Q=;]%O?.P4 MRX(9O%+B.\]M.0O. \AQR1IA']3Z,V[B&3N\3 GC?V'=VB:3 ++&6%5MG$E! MQ67[92^;/.PXQ/$>AWCC$'O=+9%7>D+0U\E#GF?_J'I+\+(MX&,8\/ GYIY!D,HW<0 M1_$(GAZOX?CHY #NL$O.T.,.]^!>E90.-& 5V!*AV*8B8UJ_A$& M!"[)-3J;4-RZG5SMQJK:3XN%LC1[_+*D88_:&=#]4BF[W3B"[N\C_0502P,$ M% @ \8'^6 0,3*/5!0 [RL !D !X;"]W;W)K&ULM9I=;]LV%(;_"N$56PLLM4A]V,X< XDE=AW:H6C:[6+8A6(SME!) M=$4Z;O;K1\F*9$D4(;. FC=+28%^<^9(LY MW\LX2MF'#(E]DH39XPV+^>%JA$=/)SY&FZW,3XP7\UVX8;=,?MY]R-31N**L MHX2E(N(IRMC]U>@:7U+BY0'%B+\B=A GGU%^*W>IO*,-U$=S%#UT(P*= %NCU. M.<3OT9(GNS!]_$6@J!X8'@>^])D,HUB\4B&?;WWT\L4K]$*-0Y^V?"\47,S' M4EUOKCI>E==V<[PVTG-M-GK/4[D5*$C7;*V)]\WQGB%^K'RJS")/9MT0(_"/ M??H:V=:OB%C$T5S/\-*N)IY=\.P>'HW2 M2+*+=^JYHIMX_[Q3X]%;R1+QKV[F'.&.'IX_CB_%+ERQJY%ZW@J6/;#1XN>? ML&?]IDL;),R'A 60, H$:Z3;J=+MF.B+-QD7 BW#+'N,T@VZ3O@^E;K$'C%> M@KU3[9 MQZ%4?U3*XTQ&_X7Y&USG])'DGES!!;9GV&E;;50\U^J!H@&D*-6)$A=;MMYL MKS+;,YK]B:3GMLG52V3LQS^&3> M(O9-K:$%T[D\Z:A/L-7V>-+Y,_.<]B"_2\).9U3016'BM4=1X[U]YT-V6CDW M-4_(+%RKPD,5)<5R[B[K6W<9,>>^/2%A/B0L@(11(%@CL;,JL;/G7"S-(-,- M"?,A80$DC +!&NG&5EV563#+I9+3>';AB6VW'H-FN7.S-DPT !6E/:*._F6# M3PI@#+9D*E&-E83K>KCMME'Q;+<'B0:@HE0K>KI,:[I-:K?)]ZV9RKA300]/ M2-M9(_UL9X=H!J":5*?ISOIF<5U-8V/UME@6K2*6H8S%Q?05VVBG[[F ELZ@ M-!^4%H#2*!2MF>"Z?L;.7:'7.!JNW2W$&B :@HU8E."9[V M6%NW K"Y%^"S!Q;SG9K)G]AJF_*8;QZU3H/V D!I/B@M *51*%HSO75# #]K M1P"#M@1 :3XH+0"E42A:\]^/=5N +4%2+=8GA'BM-L"9KES$S=,- 5I3I1 MV\(]:P%2MP4(7%N :(IESW;M]N+++'FVW<-4 U!5JE-UO9E#>@RO.P/D.SL# MI%LQD^D$=^8R:&M@F&@ *DHUHK9G37"/M75S@)B; W_R]&+%DQV3#(6;C+&$ MI5+;'#"#SGTO@-)\4%H 2J-0M&:"Z^8 >=;F %M#H#2?%!: $JC4+1FUNOF M %J#I!NP>PY[<QQV70;L!0R0# M4$FJE6S[/#[9CYBP;%/L'!5HE<_/XPZQZFRU._6ZV)/9.G^#+Y=8<]['E\%Q M[VF-/VZ%?1]FFR@5*&;W2LIZ/5$3(CON+CT>2+XK=D/><2EY4GS<_ETD M4>WP7_P-02P,$% @ \8'^6+'T2#PI P J H !D !X M;"]W;W)K&ULK99M;]HP%(7_BI554RO1Q@E)"!U$ MHK3=.JU3U9=-T[0/!B[$JF,SV[QTOWYV0E,*:9C0OD"<^!P_]R1Q;F3]S22:KM"3?I3,D$[D _3&^D M&;FERXAFP!45'$D8=YV>=]KWL!7D,[Y16*BU8V1+&0CQ: =7HZZ#+1$P&&IK M0$3.F" >DJ!5N@872A-35HP0N.9GDE L)R:6V#&)!-2TS\DOQWV+%> M#L]!$\K4D9$^W)VCPX,C=( H1_>IF"FSB.JXVG#;U=WABO&L8/3?8/P\XR>H MB1O(QWY0(>_7R\]A:.1>+F^^EKLFK3(ROXS,S_V:;_A=4DXU''\QCU]%9 WT M%70#]=;#N2C"::!+JH:$H1] )+HF)DZJG]#/WD!I:9[G7U71%"Q!-8M]R4_5 ME RAZYBW6(&<@Y.\?^=%^$-54/_)[%5LS3*V9IU[8F\>.C0;CWG[[?Y"^00I MND29X#I51U6U%X91;FCWHWGB!7[0ZKCS]:)JE]VSJ* L*MA55%A%7JC"-7(_ M:F%_@[S6>T_RL"0/=Y%'5>3A-KG7#N(-\EKO/:WWGN2MDKRUBSRN(F]MDP=MK[E!7NN])WE
[R-M5Y/$VN1]&F\]YK?>> MY.V2O%U+?I^":6_&&F05?WN;OX7Q9O*U*^S)[^&7+S2NKT!HPBJ_FGA[?_3# MP,<;^%7S AS'+V469.Y:&V%[N&LB)Y0KQ&!LA/BD97*215M4#+28YIW%0&C3 MI^2'J6DE0=H)YOI8"/T\L,U*V9PF?P%02P,$% @ \8'^6$XRNQ=E P M(P\ !D !X;"]W;W)K&ULM5==;]LV%/TKA%8, M+;!$'W:<-+,%),[:96B!($G7AV$/M'5M$:5(C:3LYM_ODE)DJY#9NE!>;)'B M.3KG\O+C3K=2?=$Y@"%?"R[T+,B-*2_#4"]S**@^E24(?+.2JJ &FVH=ZE(! MS1RHX&$219.PH$P$Z=3UW:ET*BO#F8 [1715%%0]70.7VUD0!\\=]VR=&]L1 MIM.2KN$!S*?R3F$K;%DR5H#03 JB8#4+KN++>3RV #?B;P9;O?=,K)6%E%]L MXS:;!9%5!!R6QE)0_-O '#BW3*CCOX8T:+]I@?O/S^SOG'DTLZ :YI)_9IG) M9\%%0#)8T8J;>[G]$QI#9Y9O*;EVOV3;C(T"LJRTD44#1@4%$_4__=H$8@^ M//V I $DWP+&!P"C!C!R1FMESM8--32=*KDERHY&-OO@8N/0Z(8).XT/1N%; MACB3OI21,FX1\_\Q^$CCYQ1 M&_N1XQL=X'N'831P\@'SN"_V_WS \>360*'_[0M>33[N)[?+_U*7= FS ->W M!K6!(/WUEW@2_=[G?""R3AS&;1S&/O;TMB@I4[@W&")7F#-M(*@+1)_WFG#B M".U.M4FC:;C9-^0;T5%YUJH\.T+ENEDW?>+.OBO.-Z(C;M**FWC%/2J:X;K$ MO=\MY(4ZM.*\-,/SEUP\YT/&82"R3APNVCA<>&?^OF\[[G/L MI[D@3T!57\K,O<"?=/>V=??6*VON3D!0>.IP:L]]G;.R-[&]/,=.Z$!D'@UZ:HZ=U(+:NZ=W-)W[1JT\\Z-UG*+9N+':WG]A__?GQ%/?S M))X4]R*/=1CNE1NX-Z]=%:;)4E;"U)?QMK>M]*Y/ M5*V9T(3#"BFCTW.\,:FZ(JL;1I:NJ%E(@P>$>\RQB@5E!^#[E93FN6$_T-;% MZ?]02P,$% @ \8'^6* Z'KF2!0 DBD !D !X;"]W;W)K&ULM9IK;]LV%(;_"N$50PNDM>ZVL\1 8XE8AQ8S>MD^#/O MVG0L5!)5DHK;_OI1ETB6Q'!V>O(EMF2=YZ7.*QV))[PZ,/Y%["F5Z%N:9.)Z MLIL9QFZI<=XRF1:I/?3D7.*=E606DR=2PKF*8DSB;+JVK? MFB^O6"&3.*-KCD21IH1_OZ$).UQ/[,G]CO?Q[5Z6.Z;+JYSRF?&OI0;;[;7$ZL<$4WH M1I8(HC[NZ(HF24E2X_C:0">M9AEX_/V>CJN35R?SF0BZ8LG?\5;NKR?S"=K2 M'2D2^9X=?J?-"?DE;\,24?U%A_K8P)^@32$D2YM@-8(TSNI/\JU)Q%& _5" MTP0XPP#O@0"W"7!/5?": .]4!;\)\$\-")J H,I]G:PJTR&19'G%V0'Q\FA% M*[]4=E71*L%Q5EY9'R17O\8J3B[77%VD7'Z_0.N$9!*1;(NBKT6&N[G1^ M3CWZ.75L#@_I1H7;NO!>+MWV\_E[3U'[^^Y"Y11J7^7TFWK)$U27 MXF D[BXL:Y#A8'1EN.[PH'!,FOG#@Z(Q*;"'!V'CF3VR7,S:O,V,>5N;+E1= M HVXV&\ MG=^D.8EY::U ;(?.OKN-]'/]AH2%BU&Y'=;:Q:C6#@LMT(!ZSMA6-ZNSC-ZL M6)H7DG)1V;"F/,[WE*N7AK?_>VNPV$;I]1+'&+E06XX%DL"T[[SQAMSB'G\2M06@A*BT!I&(K6-[IK;=C!4[Y+ M +47&M,A:2$H+0*E82A:W_2N+V/_1&/&\&B;C1M]L%A*^K97.#_3?VY'MCAZ]6*[PB_C3.!$KI3 M4M:KF7H4\'H!8+TA65XM6/O,I&1I]75/R9;R\@#U^XXQ>;]1"K3+,)?_ 5!+ M P04 " #Q@?Y87;[Q 54$ 7$P &0 'AL+W=OJYY_3<74XGSH^,?Q,Y(1)\+XM*++Q'I]0O[^UJ\$O.$!5FQXD^ZD?G"FWI@0[;X4,C/[/@K:07%FB]C MA:C_@F.#G2B/V4%(5K;&:EW2JOG%W]M G!@H'KW%B@D)KE(B,2W$M=K_^IB"JS?7X V@%?B2LX/ U4;,?:F<:PH_:QW= M-X[0&4Z4HQ?E]VB0\+=#=0O"X"U 8H< MS[.ZW#QTR?E_WM<_[+T7C+ K@[#F"X?* &0J^7>NU#;&D=M8][([L<<967BJ M60G"GXFW_/DGF 2_N.(Z)EDZ)MEZ)+)>!J(N ]$0^_+W/>%8TFH'BBX7X I> MN]+1,"4UDWX3/"]1,@OF_O-IF!V@>(KZH-0&Q2&:]$%K!P@FLP[4DQMWB:R7B*1+1#)8=RE1I!G%]6N;;<&VEQ@L M!)$"7"%G'3;,\4EA1+/0*$,;$\+(J$(; R$T2G5M@^(0NHMPTFF?#&K_4$FB M(BJ!DM[775#\1 LJJ7HE7H5.\1/[>8Q_G)4-B8SPI#8$(F@HMS%)XA8^[81/ M!X4_YHS+&R6^O*#;3.T,FBUB96.0)=7&))%1"6L;$TW/=)I9IW4VK/7PU&BD M5<9* M4X@N'*(RG4SU8;Q57\(";#DK >M/6.Y,(;M,8X3,8K914(U$9C';J#@(IV8Q M.SQ.8W2FF%_G>3@XK Y'HO>N<\,!L(?>260U-==D;/4T&P3CQ)QN7*@ 38TH^"K:!C/]6G/O7!PBM]]OFS 0_5NJK("*JH&H@>.3I9 5 MU;B5*U?5$FAN057I!IX7NQ5EW$D3>S:7:2+6NF0BYQYW8L.:N *R8XD;"<.I_]R2PV\3;@-X.M.E@3 MHV0AQ)/9?,NGCF<*@A(R;1@HWC8P@[(T1%C&GY;3Z5(:X.%ZS_[%:DR;:)'8TP%BK"E M^-A2$'],.49W"=(Y=3^A9)?&^O)ACVJ&F,NFSH4GA>S:'&2F;U!MXPW'B;@XUG@F+NK C!7&G M(/X_!<<=[:L_[BTLBD[J/Q,6G-3O'ORHS9#\2>6*<87YEXCS!B/T03:#I]EH M4=M_]T)HG 1V6>"L!FD"\/E2"+W?F''03?_T+U!+ P04 " #Q@?Y8%PVI M*^H" "!" &0 'AL+W=OTYN)9E@ *;2K*Y-@KE:HO?5_.2JBPO. U,#VSX*+"2@_%TI>U #RW M017UHR!(_0H3YA4C^VPBBA%O%"4,)@+)IJJP>+D"RM=C+_1>']R39:G, [\8 MU7@)#Z">ZHG0([_+,B<5,$DX0P(68^]+>'D51B; KOA%8"UW[I&Q,N7\V0R^ MS\=>8!0!A9DR*;"^K. :*#69M(X_VZ1>QS2!N_>OV;]:\]K,%$NXYO0WF:MR M[.4>FL,"-U3=\_4WV!I*3+X9I]+^HG6[-DL]-&NDXM4V6"NH"&NO>+/=B)V M*-H3$&T#[$;X+2]Y(S.9R MY"LMR*3U9UOX50N/]L!_-.P"#8)/* JB&#T]W*#3D[/W:7SMIS,5=:8BFW>P M)^][+[SS0JT7^N;%);E-';M3FR*YE#6>P=C352!!K, K/GX(T^#S >OC@ M4/;"[L.IKC7]PIN2,J(EV:"*,U7*,Y?<-F%J$YH27!7)(,I&_LHA(^YDQ,=D M)"Y6&Y7LL,(@3 9N6-+!DF.PU 5+>K!A',9N5MJQTF.LS,5*>ZP\3_?XRCI6 M=HR5NUA9CY5E4>1FY1TK/\8:NEAYWU<8)V[6L&,-#[(>2]#M?Z% N(C#'C'- MPB1U(\/@K4L%AZ%<8;JMWQJ_Z&-!N?M-T']%PS3+@ST"=MID>%# +4B)<,4; MIG1MVM)GMJ<0IG<"I'*J"7MJS@=!'.SYM\.W_A8>[$+%I.6C%:8-F!ZG_G=_ MHEZ[T"]ZEO\CR-\Y4,SA?(?%DC"I 0L=%UQDVI)HS[MVH'AMSY@I5_K$LK>E M_D8 81;H^07GZG5@CJWNJZ/X"U!+ P04 " #Q@?Y8&$^J/)8" "U!@ M&0 'AL+W=O'',&JL9E]).V_GVTH2Q>2[@OX;-_S8GQ'NI'J29< M2)XK+O3,*Q'K"]_7>0D5U6>R!F%6"JDJBB94*U_7"NC2)57<#X,@\2O*A)>E M;FZNLE0VR)F N2*ZJ2JJ7BZ!R\W,&WFO$W=L5:*=\+.TIBNX!WRLY\I$?H^R M9!4(S:0@"HJ9]V5T<3FU^]V&GPPV>FM,K).%E$\V^+Z<>8$5!!QRM C4O-9P M!9Q;("/C=X?I]90V<7O\BO[5>3=>%E3#E>2_V!++F3?UR!(*VG"\DYMOT/F) M+5XNN79/LFGW3B*/Y(U&677)1D'%1/NFS]TY;"6$X9Z$L$L(G>Z6R*F\IDBS M5,D-47:W0;,#9]5E&W%,V(]RC\JL,I.'V0T82YJYECP^A9^X4CDV9F;MNJXF)%='LF512 M8*E/AN2V@(D#M-6WSD;1^23UUP,RHEY&])Z,>(BKS8JWN,)1' QSQ3U7_!Y7 M,L05[W!-1^?#5$E/E1RD>I!(>7<):OIBV@H.WH!DASJ*DF28>])S3PYRWX#6 MA%:R$6B^K;LZ NWG90+!1#@D9+(CY#0,]QS"M!4-V.+ _SR5 MZ&I?FO M@+(;S'HA);X&MM?U?ZKL#U!+ P04 " #Q@?Y80]Q(3I8" #*" &0 M 'AL+W=O*DG9SM^7I!S5!6P%2)&\F(R.5I;(RC H<*= 5YT0]GB&3RV$0!T\;=W0V-VXCS-*2S/ >S;@<*;L* M&Y:";&41 [ M+/ <&7-,5L?O-6G0W.F F_,G]L_>O#4S(1K/)?M!"S,?!L=WV15WE! M#,E2)9>@W&G+YB;>JD=;<52XK-P;99]2BS/9%5I+&C[ #5&*N AIV+] 0RC3 M![ '5, U9AL1?M[>"]IH+RBF\3U IT)7ZJ2Y+C,+ UK%$M,,C>OXL'T<<66=U& M5M>S=W?(&@N%N50%%C 6N10%=85'&(PJE<]MG.%VPNB,^'+\>671<&F0ZU_; MC'1?P4BO,=)KC:\O"OB&:FN(V[$)/")1ND5%OU'1;\\R6>W*S?-RH.&YENBW1O7?$#+R>PWJ &VGL%0;.);<] M(,=BF\96YA=&[Z31??)V97#R"D;BZ&\+B%I3\*S^K6_^FC.N&XMK_HLL[O33 M<+&I)=SH3*[+7Q,UHT(#PZE%19TC^T]6=>.L%T:6OEE-I+&MST_G]F,#E3M@ MGT^E-$\+U_^:SY?L#U!+ P04 " #Q@?Y8L6FP":4" 2"0 &0 'AL M+W=O:T M$%,KD[*KRM2U*#GAI0#FU/<<)[1R3PDIB,W;' MDYA5DI("[C@259YC_OL**-M,+==Z&[@GZTSJ 3N)2[R&!&'O6G9OEU'*T(*"02LV U:>&&5"J MB92,EY;3ZI;4P.WV&_NU\:Z\/&$!,T9_D:7,IM;80DM8X8K*>[;Y!JV?D>9+ M&17F%VW:6,=":24DRUNP4I"3HOGBUS8/6P W. #P6H#WKP"_!?C&:*/,V)IC MB9.8LPWB.EJQZ8;)C4$K-Z30N[B07,T2A9/)-28TDY;85>-,.^ L.]5<8%\YPOR'"_H@<^&X7-(%=PU<'\7;JL4=7GR MNCQYAL\_P'_2'V9(9%AN"E(FK;U2'HW;2&(30,^A^B3B(GBNUZV\-^3.@&H=]%[8@+ M.G'!H+A%QK@\E\!S=;!J$#(_)+'A&6TM/_:B4?"7R,'5/ICH4>=E-.CE!]1 MD=LG?A#XWL-T)+(=CV'G,?QHP83']'@DLAV/4>W,!-1[+27&)/ M3*HKT30S]6@!K@/4_(HQ^=;1]V+W#$K^ %!+ P04 " #Q@?Y8)^XL ]4" M !#"0 &0 'AL+W=O5 FCRFO%<#9Q4Z^+"=56<0D952Q20XY>9D!G5V)5S5Q42 M:&)!&7<#S^NZ&66Y$_7MV+V,^J+4G.5P+XDJLXS*MR%PL1PXOK,:>&#S5)L! M-^H7= X3T(_%O<2>V[ D+(-<,9$3";.!<^E?C'HFW@8\,5BJM38Q2J9"/)O. M33)P/+,@X!!KPT#QM8 1<&Z(G M.7=( C-:$FW$7]C0E! M8T)@^=H[^#Y+*_V-#%'15CE[\:;2+E1!8Q@X6$H*Y *9 0K+('B$LI63ZW47W-DD@JISS3(#%-_ 4J;.MF: M*Q6/7U6<.447T7G0.N^[BW4M>V?[1RV=1DMGKY9;6 G/OE.QB*'-SQ/Y#-> M&+,R3ZITT'A0XV%8",6V:]S+_[?;>B"R#2NZC17=_ZH>NHW-H1%5*X*5D"\IW54+OUTKP6KV?"F%+4-=O=9JH:G7NVA5G?B_&5,Y9K@B' M&<*0%9-(5E=VU=&BL+?>5&B\0VTSQ;\4&<]87G"1 M(\GF8^\"G\=A9 K*,_[F;%OLK"-S*U,AOIJ-F]G8"\P5L90ERB"H7FS8%4M3 M0]+7\7\-]9HQ3>'N^@O]NKQY?3-36K KD?[#9VHY]DX]-&-SND[5@]C^SNH; M&AA>(M*B_(NVU;F#T$/)NE BJXOU%60\KY;TJ19BIP#W#Q2$=4&X5Q >&B&J M"Z+W%O3K@OY["P9U07GK?G7OI7"$*CH92;%%TIRM:6:E5+^LUGKQW/Q0'I74 M1[FN4Y-;D2]^54QFB+"I0A\)4Y2GQ2?T ?$<_;44ZX+FLV+D*SV8*?&3&GQ9 M@<,#X,]4]E!X]@L*@S#J*+]RE]\EJH<"7)8'Z,LC01\_?.K $#?FCW7>0U%0 M8OH.3.S&$)9H3'4U43?&U\(WZH>-^F')C0YRM>8W>:'D6C]\"OU[JT] -XIE MQ7]=DE>T?C?-])3S8D43-O9TTRB8W#!O\O-/>!C\UF4 )(Q PF(@F&5)U%@2 MN>CZ=_O$LW6&E% T1;ENU2G;,*F;)I)4][8N6YS$8VV!A)$*AJO?M7EI;"91 M;S#R-[MR XUHR=UOY.Z[Y>9Y*?>0ED#"""0L M!H)9EIPTEIPX'XA[)A-MA6DX8JZ;3Y9Q57HS9PRMZ#.=IGK))![R MR3G$L3Y5,!SL-)&@%P3[;81 #AH#P2P+3AL+3M_SUNT2UEEXK+"0, ()BX%@ MEOIGC?IGH#WI#-(22!B!A,5 ,,L2'+3!+/CQ7A1HJ(:BV8*WL1J[<_7=6A6*YC/3H1Q"@R9G4!JI:;NV[3D6.T^QA6O# M,':G86=S1]_0X]WU0Z>4H%D9E$9 :3$4S3:HSCPON-"G2N&)060]$J??V=+US,!TR?J5SPO$ IFVM\T#O1 MT4)6WP15&TJLRH]>ID(ID96K2RTXD^8$?7PNA'K9,-_1-%]F3;X#4$L#!!0 M ( /&!_EC580S\K ( )$( 9 >&PO=V]R:W-H965TV+=("*BQ&K :J=G+& M*RS5E"]M47/ F2%5I>TYSMBN,*%6')FU&QY'K)$EH7##D6BJ"O-?,RC9>FJY MUF;AEBP+J1?L.*KQ$NY /M0W7,WL7B4C%5!!&$4<\JEUX4X6H<8;P'<":[$U M1MK)(V-/>G*532U''PA*2*56P.JQ@CF4I192Q_C9:5I]2$W<'F_4+XUWY>41 M"YBS\@?)9#&USBR408Z;4MZR]5?H_)@#IJP4YA>M6VPPME#:",FJCJQ.4!': M/O%SEX3>(2+'$<<;9& M7*.5FAZ8[!NVRA>A^G]R)[G:)8HGXRN:L@K0/7Y&QPE(3$IQ@CZCA[L$'1^= MH"-$*+HO6",PS41D2Q52$^VTDY^U\MXK\CZZ9E06 BUH!MD /SG,'Q_@V\IJ M[]?;^)UY!P6_-72$?.<3\APO&#C/_.UT?\C._T5?_'/TG63X??%]H^?_M?A# ME6VYP3!7WU\34>,4II:ZH 3P%5CQQP_NV/DRE-;W%$O>4VSQ3F([!0CZ @2' MU#<%D.KMJSE;$7W[#I6B51D;%7WSK^(P<,:1O=I.\4M0X/C!+BAY"3IUS\)= MT.(EZ#P,W!ZT8S7LK88'K2[R'$Q3,&XYEC!DM-4XWXKLC )OSV@+[ M>U8'8;YWOF=V6.W4V[-K;]VQ%?"E:6X"I:RALGWC^M6^?UZ8MK&W/G,GS;KJ?%9!M)H!<2=CIOZ\$F "66;LE'V(D[CGWBG.O7I,#)F]TBQ # M[VF2T:FR96PW5E4:;E$*Z0/>H8R_66.20L:;9*/2'4$P*D!IHAJ:YJ@IC#-E M-BGZEF0VP3E+X@PM":!YFD+RSR-*\&&JZ,JQXWN\V3+1H=DO" M6VK-$L4IRFB,,T#0>JI\UL<+O0 4%G_%Z$ ;ST ,Y17C-]'X&DT5342$$A0R M00'YSQX]H2013#R.ORM2I?8I@,WG(WM0#)X/YA52](23'W'$ME/%4T"$UC!/ MV'=\^(*J =F"+\0)+?Z#0V6K*2#,*<-I!>81I'%6_L+WZD,T )Q'#C J@-$% M6&< 9@4P+P58%<"Z%&!7 /O2,3@5P+G4@UL!W$*L\NL6TLPA@[,)P0= A#5G M$P^%O@6:*Q)G(A57C/"W,<>QF0])%F<;"I:(@-46$@0^S1&#<4)OP3UX6-CC^W.*YX] %.[ X9F6))XGOKA MSY!PN'X6/K_K6?"99_B^Y2DBD&$REN55 MB;7D6#&EC^D.AFBJ\#F;(K)'RNS77W1'^TTFZI!D\R')_"')@B')%@.1M5+# MJE/#ZF.??>.K]M-Y67&.FVTS:: MGQKIAF>.VE:^S$IW[;95(+&R'%-K6RU.K0Q;TS^";WTUN_YJ=F]!S5&&^:)R MMJ3L(4MJ2++YD&3^D&3!D&2+@'4R>'TEM2/8AN'HGNXY[/N!@%>72G? M/5;+/M_74L;7>+Y[D*5.R6TWL]K5'M)7)[)9K'22ZV\@"MUWQO#_"Z5.=>[,XC ^0R/=@[DDX MEFF:'6UZ?5^KS:E'>V1ULL$?TF,@\6AZG3$N3HT8T(M >MNV_H=7>M'%*/73&&]!A(/78V- N9D6[+ MA="UCR.H]O-9C$]7EXE1D?U$C7Z7U\HA]^EJK;].??J#AA#(0^BDQ$)J=5:A MQB6!?M&,!HXSVO'H3VD.7Q,$[X*-^XY1DKC]EU;WV/^+FX/>OT/^IC7Y?T!^+>L;AX^J O M+RV?(=G$&04)6G-7VH/+0R7E/6#98'A77$.]8L9P6CQN$>1I(PSX^S7&[-@0 M#NK;V-F_4$L#!!0 ( /&!_E@68E&PO=V]R:W-H M965TX&"R[N9 &@T",MF1QZ MA5+5F>_+M "*Y1&O@.DO*#P;AUWC8"UN"2SDUAB94&:RDMI MGVC1V/9//9364G&Z+IW>%8QY6A O?OLF[ 4?'#R[+<^N1>_L.YP""SB<_7DX(R$PRT'?#H5F2[1ME^"E71XM ML,C0CR\:$ETIH/+GKNBZ+Q#=<1O=L?,4OH&@B,\1-DQWD7.[AP%: A;2P:37 M,NFY]4"KDB\!D+T-Z&MEDKR+D1/FF>GJMR3[KRR&_@M$=])&=^(\@EN0BK < M52 (WZD&MW_W23&IOY.$&Z.R7A[_55U$0N>T>)4IYS5338K6K M;8V25II'W[F(4" ^*:L?=/P8!^?WSG&YV]WLF/\ M6:P)D> E"F,Q-=92;JY-4_AK$F$Q8!L2JS=+QB,LU2U?F6+#"0ZR3E%H(LMR MS0C3V)A-LF?W?#9AB0QI3.XY$$D48?XZ)R';30UH[!\\T-5:I@_,V62#5^21 MR*?-/5=W9FDEH!&)!64QX&0Y-6[@]2URT@Y9BV^4[$3M&J0H"\:>TYO/P=2P M4H](2'R9FL#J9TMN21BFEI0?_Q1&C7+,M&/]>F_]UPQ>P2RP(+!", MB]3L$#B+[Q7(7@&VJ<)-Y2LXOR,2TU!<@#-@ K'&G A M8_ 44RDN:P_^6K-$X#A0#\\.[B>F5(ZGPYM^X>0\=Q(=<=(%7U@LUP)\B@,2 M=/2_U?>'2&/ 5!$KPX;V89LCK<7?DW@ ;.L2( LYX.GQ#IR?'40D_^ER56_X MCOC*,,P,VZ<:/D"PR\S;V4CVD9'^3*(%X8 MP=9:;+!/ MIH9:0P3A6V+,?OX)NM8O7>3O9.R UBEI'9WUV==$"JEF'XU78$%6-(ZS*QSB MV"?@W^/YFN=VAYG==%'?H >2'DF'XG M3+I1>](-Q\TL=32JS\P#?\>EO^,3)]-&%5H5?,G E@BI]7;<<@1!SVEXJQVW M9Q:\DLI[RR>"%Z$^_%X+:(2\40-(.V1/(&A5==O2+M_?,X&B$G2S)5P)+O"I M^/S!/:<^Z2RRUGNNYN]E[9"_IEO@_UC0SY7@"%@88B[ 1E6Y+-47*N=5)>V, M4#[FN)9X.!I8L)%YO6M]T5&%CMZXX/?%S<>!=GVB#RROB:MUIR]NI5.@5AAT M%(2^N'8;UX8=Z?T(H0(KI0)/ERJ-DM$7W&F#JWEM-U5,T>[X]#\DJ@0*/%6A M-(I*7YYAFP<-!UZS\.O=ZIO(2LC TY1,O>KT)7;;F7$&;FOF?H34@976@2-M M3;H) IHBXQ $5/@A$\DQ'JUJ>G,I>B=KA]B59()ZS=0JQ0\D/4!)/]Q;M>WD M:N^;Z@M>*3*D5V0WJQ4G*RP)^*PF/8T%]<$W'";D$K!:23N?-]5:MOQUQB8? MT*VO>MYHZ(T;RY[>L;[@E1Y#>CUV*OAA,3].C5J[#QC[YIJW06TNLL+6=]G]B-Z+3"[UK0:6X2]3Z\ ME=&L'?1&A*^R\V\!?);$,C_S+9^69^PWV&ULQ5EM;ZLV%/XK%KN:6JDM&,A;ET1J G?KM*M%[7KW8=H'!YP$%3#7=IKV MW\\&2B!0KVR^ZI>&EW.>8S_G<.RGGAX(?60[C#EX3N*4S8P=Y]FU:;)@AQ/$ MKDB&4_%F0VB"N+BE6Y-E%*,P=TIBT[:LH9F@*#7FT_S9BLZG9,_C*,4K"M@^ M21!]6>"8'&8&-%X?W$7;'9S(P; M>.W#B73(+;Y&^,!JUT!.94W(H[RY#6>&)4>$8QQP"8'$SQ->XCB62&(O7K^B?\\F+R:P1PTL2_QF%?#0F.5_ MP:&TM0P0[!DG2>DL1I!$:?&+GDLB:@X"I]O!+AWL4P?W#0>G='#>&\$M'=SW M1AB4#OG4S6+N.7$>XF@^I>0 J+06:/(B9S_W%GQ%J2R4>T[%VTCX\?D])\'C MY4)0'8(E243],91G\!+2/;PZ(AN"OWP0DN.4X87]W M54<1W^V.+QOH-&Z) ,TR=LS'_\ 0ZMG[I2HQ/,TPGF:P)K)-&MDNBJ MT.>_[SGCXNN,TBW Q<\:Q2@-<%=""JQ!CB47H*?Y9# 6M?14)UH9L"_1[XGH M:XK8('!0$3A0$GB;=[*F!.A;QCK!O )L6&-W[%C6";MM(\>% M-:L&;<.*MJ&Z[C+9*AC SY@&$>OL[@LE1%_B=()YPU99.L/3JM04L$'OJ*)W MI*2W6-2+GAO4>S-^EM>=93IJY=EV1W!P\G6WK> #D=-*Z]MY;J3P?"$H5&+ M17LX&;]16>-JZF/EU,7J!H&?9#%YP1CD1(#5G@8[0098B=;6-7=5?4H9C0(,R$;V MET2DD>5?6E:^#L&9V/MGHKF+_)UW;OV5"=N[XG2B>5K1?%UHS00=A2'\:&4(M4I#K6B>5C1? M%UHSE4=Y"-7Z\&>1,-Z].U=[]LZ!5MD(V[JQU9N^AVJ$1]D(U;JQG_ NP>KS M@8Y]JKS5(7MS^)Z8OJZ831J/,A)JT)%JC-Z5JE5)PK:4'+1*]7M(27C4DE M M)N\PXV*S)]I *:<>TH@S<'9W_\"ZMW9*O-Y\ZT3SM*+YNM":F3E*73C^Z(56 MJS+6BN9I1?-UH353>53'4*G;YE_%1X;#"_ 91?3M?R6J07JG0ZO(+=&:F_UQ M6Q-HU:]F[> KP72;GS@RH8?V*2^.,JJGU:GF37Z6=_)\ :^7L..Y)T]!\X.V M(WQQA"IDQS822T^,-R*4=342/9P6IY+%#2=9?NRV)IR3)+_<811B*@W$^PTA M_/5&!JC.AN?_ %!+ P04 " #Q@?Y8A\$GU?4# #9$ &0 'AL+W=O MDO*RYRJG17K'VY%4 3.RG/?!($L9_3E'G3 ML7TW$],Q+U26,I@))(L\I^*?.\CX?N)A[_#B(5UOE'GA3\=;NH8YJ,?M3.B> M7T=)TAR83#E# E83[Q;?W)'(3+ CGE+8RZ,V,DM92F!%BTP] M\/UO4"VH;^(M>2;M7[0OQPXTXK*0BN?59-W/4U8^Z=R3,:!W--.Q2[6Q-+F5F5^9*Z*^IGJ>F<\67S]=W>ET)NN>Y MWFQ);;JNT60/+M?%^OH5X(.2SDCC@#_EZP'@J#]X@$)$(_(O_ MLWPX$,(Z5:%%B#H0'D JD2Z5SI3-&GIDJ=*),7FZ:LN ,YPIMQNYI4N8>+J> M)(@=>-.??L!Q\+.#;%23C6STL(/L'T6^ ('X"LU;UE_RB]Z 7[_FUW;LIM& !&-_U\(FKMG$3C:_ M"LK,OKIPXQ-<,B"#=MQ!C3MPXC[I(_4=V,$)[#4.XK ==UCC#IVX6M!6D'X/ M>M@"W2?MR*,:>73VOD.U_6=L^NB$2DS"#BHX:+0OMYI:4YXEE$AT5:+@$WKEEX5WZ6TPE-: M.EVCN(-6(]S8J;M'M7DIL^A4J48=K!JYQN?K]8NZO91F_^2XA4$OP!U,&RG' M;BV?@; _5@TUBXZ*TJ=G73[M#GAI,3<>@ >OMFKL])%+*39V@=U^<;E;XU,3 MB88=;HT;$\%N%SG'K_&I9^!A1W62QC*(4]DO]:\JZC<&%G>1:6R X#?R+^+T MEPO/$VDL@;@MX4W\J\(\%I0(]\(.02&-3Q"W3[S2OTB+46A>9-C!JS$*XC:* M_U^2*\"7&7Q!U#^Z;>8@UO9.+=&2%TR5%\_Z;7UOORUOJ\WP\M+_F0J]^1)E ML-)3@]Y %X@H[]%E1_&MO;LNN-(W8=O< $U F 'Z^XIS=>@8@/J_&=/_ %!+ M P04 " #Q@?Y8C)BQN;0" !D!@ &0 'AL+W=OQT_<* M+P*V]D1F+I.%UFNW^)J-@\@!@804G0=.KPW<@93.$6'\.O@,FI#.\%0^>O_L M4.Y0Y M&OHJR Z3.>IT?3VEO#)VIPLZ:\M]N:[9"Y=5+4\LG5GI1,LN[@&YD/:2-&9@ M?%NH%)C-N0%6*8&D,YL_V\M1B 3HPH3I 69:P_3>@(G9HU:86_:@,LA>VX>4 M6)-=[YC=M'?6X;=*=5@_NF*]J#[QK2UY"N. +JH%LX$@>?^N&T>?SM1@T-1@<,Y[\B3LFLY^:0"84 @4 M 9GA".RB!)-2JG29+Z]_ M +/R\\VR5%<*ZR'0[#8C=%)/CC_J]?Q]Y&8EJ!,E+,DTZMQ0,4P]T^H%ZM+/ MD85&FDI>S.DW ,8IT/>EUGA?;2@)X*#-GOLE\6/F MYWF8&<\L]X0^L0QC#I[+HF(K*^.\OK)MEF2X1.R2U+@2.X^$EHB+*=W8K*88 MI8JI+&S/<69VB?+*6B_5VBU=+\F6%WF%;RE@V[)$].4:%V2_LESK=>%KOLFX M7+#7RQIM\!WF]_4M%3.[0TGS$E0#(KB[QSOV=$82%4> M"'F2DS_3E>5(B7"!$RXAD/C;X1M<%!))R/%/"VIU9TK&X_$K^F>EO%#F 3%\ M0XKO>"V#-V2 )QC\EL$?,'BG&&#+ '_TA*!E4*K;C>[*D%/>/(>7!"]!L M/:BMY'@+/\LQ!N\CS%%>L ^"^/XN N_??0#O0%Z!;QG9,E2E;&ES(:,\R4Y: M>:X;>;P3\OC@"ZEXQD!V5J-&+"!@<($I1M<%R MS(3SF]@EKHG.]PTZU*/+F'C%:I3@E26"'L-TAZWUK[^X,^%-@D4FP6)# M8#T7P+N=-1]10/.L6#2<7O*XH3LJGR?X7.I_1_C5TZ.S3PP;%4 MCB\2[L 0DU*<>^V"L24T9\:&SNS9==;9=39IU^\JU^+T NTP%6\'4&.:DQ00 M,07[+$\RL#W']")@8#5.!"C@!#Q@<.692OG.CADFP:-IR+GC!B ((RB8E M>1"DZ$67%&-#4O4<''8.#B?%O*4DW29, D6F02+ M#8'U/#'O/#%_T_0Z-^DBDV"12;#8$%C/18O.10O#Z74Q2BN+T(>#I#(F"A;A M( 5'BW$*#EUGD(+C,93K^ '4)U?7.=0)SJ3B=ZC [*,H/>@3YGFU >)]WQ8H M6!:>=4VH-FY,XYY[*XVB14;18E-H?0\=57+NFT:/%MZ4HTRB14;18E-H?4=Y M!T=YAF-("WC\48>!XP^"B(8*AG#P^(XT5*X/_<4@C&C(YE[@GP@CAP+2G2Q^ MUK_C2KPB"Q4]4%KF5$X=HRI7 C=8;FJ(9O[ MX3!VV$==2_&&V*AV,1/Z;"O>M*2ZU:XE_4DU8@?KU^[5C:M9CV0+6W5)#_!- M__L+HIN\8J# C^(HYS(4 M.FI=Q,.*E5S_2!&PO=V]R:W-H M965T_0%!+Y9DY9C(4LLH7)4P8XT*(X,AW+ZILQ)HDQ'NJZ"S8> MTDQ$)($+AG@6QYC=GT%$5R/#-M85EV01"E5ACH+:E!+K%-P(KOO&,5"HS2F]4X7,P,BS5(XC %\H"R[\E3""* ME)/LQVUA:I0QE7#S>>W^42!"$?&D8$"F.,L$I=T]0F*A'K* MSZ<1U[]HE;<=] WD9US0N!#+'L0DR?_Q70%B0V"[6P1.(7 >"WI;!-U"T'TL MZ&X1N(7 U63R5#0'#PL\'C*Z0DRUEF[J0\=H#U$$O0UI!G'2< /$0\Q ZXJ MIR2*Y"?D0U/(#BE;TR^"3_+@SI;@732EB0@Y.D\""*IZ4R929N.LLSES&@V_ M9%$'=:U#Y%B.6]>?Y^1)H]QKED_Q/;+[=>I*,MWRTW2UG;OMTRC" MJK7IA*?8AY$A%Q\.; G&^.T;NV]]:.#@EAS<%W"X?.!PL>9P"6IE(\D"G68B MI(S\@N 0G6HZ=43<)[G:EO4426-W7IYL3JXELPJY7DFN]RIRZ,<4XAFPGW60 M&BUWS'[2IIG7DED%9;]$V7_M9"R'7C$OZZ VFN\*M4TSK_]T3O0J%66:?JZ+45-<=G;ARL8V +?4'AR%>C7CZ&\R %3#>3[.:5B75 !RJOA M^ ]02P,$% @ \8'^6(_]*)ZF! X!8 !D !X;"]W;W)K&ULM9AK;Z,X%(;_BL6.5C-26S"WD&X2J6U TY5FMYK.S'YV MX31!!3MK3-/^^S67T!0<*YEAO[3@G/.^]F/CVVS+^%.Q!A#H)<]H,3?60FPN M3;.(UY"3XH)M@,I?'AG/B9"O?&46&PXDJ9/RS+0MRS=SDE)C,:O+[OABQDJ1 MI13N."K*/"?\]1HRMIT;V-@5?$U7:U$5F(O9AJS@'L3WS1V7;V:GDJ0YT")E M%'%XG!M7^#+";I501_Q(85OL/:.J*0^,/54OM\G"&9?^DB5C/CZQ#EZ;X!V;X+<)?LV^@5637A)!%C/.MHA7T5*M>JB[J\Z6@%-:C:Q[ MP>6OJM4$VLE\6&Q# WY,Q9 M '\&8_'[;]BW_E#US9ABRS'%PC'%HI'$WO6IV_6IJU-?_ ":,(XVY+6:'Y1= MV@CXM4"UM#TO?,NW9N;S?E=I74[MJF,^"U-3@5 M_%&6X9B6D<)2?EBV&ORD S_1@G9,>9:W=J92/<0S' M=(R&CO8T., XZ!@'6L9_UP-:D!?UM!$,+%W?[L\:6H=3L1[C&([I& T='2_P MU%BG'=:I%NLW5FV42;NOT8S;Z;"Y+G;\'F&MV:F$C[(,Q[2,IH-5T'5MWU4S MQM;;H<32[AN;P7M+Y3H(9^@O$,ISA37FSG%4M>6H:N&H:M%8:N_[=N_ B;5? MT"T5('6%/#=6W:OL63P8R>>.@W'OXVG#]D??N>T'O0&_5*GYWK2_.U2I>7(T MOP^+]*W[67KV&SU;2R]B'-(517').=#X54Y!\9K0%:",%>KCMSU.( S5H2YSF!Y4X5Y-K;Z_$8Z##;\S+T+N!SXJKXJ+>0QKJ2BN2WI M2KOKV*OZ$K)7?HTO;["B?(DOP^:R]4V^N?O]0O@JEI MS8M@F_KZ[X$)P?+Z<0TD 5X%R-\?&1.[E\J@N]1>_ =02P,$% @ \8'^ M6-WR+(H> @ % 4 !D !X;"]W;W)K&ULC91M M;],P$,>_BF4D!!*JT_0!-))(ZP9B2$/5*N"UFUP2:WX(MM.,;X\?TE"DKNQ- M[+/O_O<[Q^=L4/K1M 6/0DN38Y;:[LK0DS9@J!FICJ0;J=66E#K3-T0TVF@ M50@2G*1)LB:",HF++*QM=9&IWG(F8:N1Z86@^O<&N!IR/,?'A0?6M-8OD"+K M: ,[L-^[K786F50J)D :IB324.?X>GZU67G_X/"#P6!.YLA7LE?JT1MW58X3 M#P0<2NL5J!L.< .<>R&'\6O4Q%-*'W@Z/ZI_#K6[6O;4P(WB/UEEVQQ_P*B" MFO;T%U,=2^"[N+E=9^K-HHLSXOXAKDR'2TAQZXC#.@#X.+U MJ_DZ^7@!<3DA+B^I%]]ZL0>-5(U<"VJ'*)OC 9ASK%%M%=1\+QZ*>48.9P!6 M$\#JA0 :.J4MW7.X2+#Z+P$YN:D"=!/ZT:!2]=+&2SNM3BU_'6_Z7_?X7MQ3 MW3!I$(?:A2:S]RZOCCT8#:NZ<._WRKHN"M/6/5N@O8/;KY6R1\,GF!["X@]0 M2P,$% @ \8'^6)IFPJ/@ @ =0D !D !X;"]W;W)K&ULK99=;]HP%(;_BI554R>Q)B1\J8-(E'9:IR$A6+>+:A*$@83@62> MIEC\O@#*UP.GZ6P:IF29*-/@AOT,+V$&ZB:;"%US*Y>8I, DX0P)6 R<8?-\ MU#/Q-N '@;7<*B-#,N?\SE2NXX'CF82 0J2, ]9_*Q@!I<9(IW%?>CI5ET:X M7=ZX?[;LFF6.)8PX_4EBE0RO(!G2#"T/>$YQ*S6#:03+ :1K'A%+].63?53H;X^E&9<^CHF=_3\\!&G.F M$HFN6 SQKM[5%!6*OT&Y\ \:?LWI&0J\!O(]OU67STMRMD^^DTY0C6Q@_8+_ M'%ET^TU'H&L%J?Q5D]Y%8=>JMS.K^5QF.(*!HY>K!+$")WS_KMGQ/M6Q'LEL MA[Q5D;<.N8=3,-L'84LTS%7"!?D#<0,-4YXS50=>N'6LF]EU5F'3,[^^N]I& M.MCI&Y':%5+[(-+,3'B]:V6YB!*]:Z!,\*7 :0-AB[7U*JY#;#]#]-O/"6NC M_&X5M9-ZITJ]WGM]#R2V>^,L+C?T%V9QX=[TMU?J6?!D$A],X;6 [M;)EH)8 MV@-?HLBLN>*0JUJK.\70'J7N8WAQ(1ECL21,(@H++?7.NGJUB>*0+RJ*9_:< MG'.E3UU;3/2]"(0)T.\7G*M-Q710W;3"?U!+ P04 " #Q@?Y8A1-IP$<# M #*% #0 'AL+W-T>6QEUY#B9X[*67X^OG:8?^%8=#X,N%<2^Q^?<8_NF,?0KO13L M;L:8#A:YD-6 S+0N/X=A-9FQG%871SC[^GA?Z^D/@ M[B>?3DY:#^?7N_$S"YR3T"MZ=8#H1:N%"P.(B<>'B>_3QJ2[V])V^*D15QN>+#&LRV38SPJYKI:(N(!1ICD+'JD8 MD!$5?*PXL#*:<[%TX0X$)H4H5*!-F9I4;8A43PYNNQY4<*V3Y::2<3@M)K8<5HVX8V0D3X@X> M[U_9EO8BV]@SNV.R:1I#==/)N [H;ZHY[4W9RU?I!B5_+/37N9F.M'TH,G:K M6,87MK_(&@.8>AM7IV4IEE\$G\J,"L4?S+9H%0F)L 4"1Z9 MTGRR&?FC:'G/%GI53HL,]]PY0L__=IVG3#)%Q:9I4_OO>95?[3CJOI5E^ZVR M:]CKL7YGOW>35\=@,CX&DT=1D[UC,)D<@I\+&=8GH8WCUM9A MJXD&<*@=D)]P/!;KI,%XSH7FLN[->)HR^>+,9>0U'9L_U+;TS?B4970N]'T# M#LBZ_8.E?)XGS:A;6(AZU+K]':;7CIL3M3 '&,>QL#S_TWQZZ'P9$>RNFA',?R(2/[P?+X M.8FY_#--DBB*8VQ%1R.O@Q&V;G$,/WXUS!LPL#R0Z>_6&M]MO$+VUP&VI_LJ M!)LI7HG83/&U!L2_;L!($O]N8WF @>T"5CN0WY\':LK/B2+85DBA*$C\"F-]!%&$(/(TX@CD #Q@21?8]N/,^"E?O MJ7#]W\OA,U!+ P04 " #Q@?Y8EXJ[', 3 @ "P %]R96QS+RYR M96QSG9*Y;L,P#$!_Q=">, ?0(8@S9?$6!/D!5J(/V!(%BD6=OZ_:I7&0"QEY M/3P2W!YI0.TXI+:+J1C]$%)I6M6X 4BV)8]ISI%"KM0L'C6'TD!$VV-#L%HL M/D N&6:WO606IW.D5XA-/E_G;@2=&A(E@6FD7)TZ(=I7\=Q_:0T^FO8R*T>EOH^7%H5 J. MW&,EC'%BM/XU@LD/['X 4$L#!!0 ( /&!_EB*@42 %P4 )DI / M>&PO=V]R:V)O;VLN>&ULQ9I=<]HX%$#_BH:7SP(6X FMD0EF33]]2O9(94;L^8*?)^,!B,^@7EHO?I MX^E:*]7W#Z1AJ>%2V$)7\,#9D_YYWAV2(]=\PW-NGL>]:C]G/5)PP0O^@V7C MWJ!']%X^_245_R&%H7F2*IGGX]ZP/O' E.'IF^+$0:[I1E\$M5]I4-:KK4\MX9+9R?50:^9GGAJD9->R+DN6!BYV[C+V+OG<;51Q.VSJ( M5^J_A%%NMSQE,YF6!1.FCJ-BN0,4>L\/ND<$+=BX=ZI"J,C(7!@;)+(0]:5L M77>G]J\767W7QN)Z,517W)Y0BZP"QX.W#O ;CWN'#75'/ML%:*:5NU MJE%UEDE9%-2#_ ! ?L"%O&=')DKF=]8#J+<>(,?LY0F2J2PV7-05?#A0)<@N M^2)E]L3SO'J&"_M Q22(;),;%YSL%G'\Q]DE=.3G;^5_.!^ MYT-"+ADBR^2&4EAB.R'A4AEP)(!<,D64PITK87%B3%5,DV5/5Z-4@$0R1 M39 8F3Y>6A^PS'5L]DKZ38H,.6"(+(&*;R_SC"G]6]59F&<_,X:,$" ;(2D/ MA[QZ'VE./ELEB)3;O<3QV%(?$W)#@#W.D$7!C:NDJQYW:D>#MC$R2]OHYP)P MF(&LAH3MJ@%;^R@M@(00( LA*3>:?2L=W?SHHNB#06X(D-VPHL_D6/4IU<]% MRLB,ZS273A,^)*2( %D1"Z&Y?7G)6M',MCHR4T?Z]]]+L@A ;)#X.2S,9$!J21 5@F8?9(+?RH#LDJ( M;)4Z_VQ[R"%DD1#9(NV):"LFY)$0V2-O,ZU61'"R"MLG9U*N%U ?$[)+B&P7 M,+MISOQ!?@F1_7)FGH5B_V5BR[[:+SM3J4UK?Q2!JR3(VGFE_(?QW=ZP[)(>F:([ M1FS&0?W^*(*T$V'/?)TP;ZDI%3=V*.WT\N$%!0A*^A,!GQ)JA-''Q-24(2LH+.8=6S]=49( M03'V,*WY.(K>S0<*).QCDM#%"MHD[&^54I#XFI)L8>Y1S M#O.2N%,^)K@LCZP; '.298UH0KJ)D74#8-XG?_OS?3&DFQA9-P"FZSA]3$@X M<4=K,U7;;'XQ @DG[F")IK4_&D&^&76Y6-/\L@72S@A9.RWK(.VQA/PSPEZL M^75%I!T1TL^HTD__]"E@QK94KS=*6(V]0?+42Q6X7FKR$__ E!+ P04 " #Q@?Y8)V75I0P" "$)0 &@ 'AL M+U]R96QS+W=OINW]?% MQ_%PJJMF-X[]CY3J>E>.;;WK^G(Z7]ETP[$=S\MAF_IV_=YN2]+E,J?A=D;S M_'0[<_'ZV9?_F=AM-OMU^=FM?Q_+:?S'X/2G&][KKI2Q6;RVP[:,JR9]'*ZG M:[H5-FC1WD$*0SA]D$&3S!SD$^?Q! 4$Q?U"&H#Q_T#T$ MW<\?] !!#_,'/4+0X_Q!LD09EP1)$ZP)M!;D6@B\%@1;",06)%L(S!9$6PC4 M%F1;"-P6A%L(Y!:D6PCL%L1;"/16U%L)]%;46PGTULG'-H'>BGHK@=Z*>BN! MWHIZ*X'>BGHK@=Z*>BN!WHIZ*X'>BGHK@=Z&>AN!WH9Z&X'>AGH;@=XVV2PA MT-M0;R/0VU!O(]#;4&\CT-M0;R/0VU!O(]#;4&\CT-M1;R?0VU%O)]#;46\G MT-M1;R?0VR>;W01Z.^KM!'H[ZNT$>COJ[01Z.^KM!'H[ZNT$>@?J'01Z!^H= M!'H'ZAT$>@?J'01Z!^H=!'K'Y&@>!WH%Z!X'>@7H'@=Z!>@>!WAGU MS@1Z9]0[$^B=4>],H'=&O?-WZEW'ST.IUYZO-3[_.ZD>S_>6Z^,ORZ^3DU?E M@G.ZK:C/?P%02P,$% @ \8'^6.[5[1CF 0 ]20 !, !;0V]N=&5N M=%]4>7!E&ULS=I=3\(P% ;@OT)V:UCIU_R(<*/>JA?^@;H=9&%;F[8@ M_'N[ 28:)1I,?&]8H.UYSWJ2YXKKIZVC,-JT31>FV2)&=\58*!?4FI!;1UU: MF5O?FIB^^A?F3+DT+\3$9%*PTG:1NCB.?8UL=GU+<[-JXNANDWX.M>VFF:&PO=&AE M;64O=&AE;64Q+GAM;%!+ 0(4 Q0 ( /&!_EB=$0Z0U04 /@> 8 M " @0X( !X;"]W;W)K&PO=V]R M:W-H965T&UL4$L! A0#% @ \8'^6!5T46?O @ L0@ M !@ ("!B!4 'AL+W=O,. M !.F & @(&J'P >&PO=V]R:W-H965T&UL4$L! A0#% @ \8'^6"H'1\*X" D"8 !@ ("! MPRX 'AL+W=O@& !'$ & M @(&C.@ >&PO=V]R:W-H965T&UL4$L! A0#% @ M\8'^6 '=GJ0,"@ &!T !@ ("!P4$ 'AL+W=O&UL4$L! A0#% @ \8'^6)S& ML]4M!@ K10 !D ("!>5X 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ \8'^6!/;:4I)!P >Q$ !D M ("!+G 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ \8'^6"EJ *L!! ( D !D ("! M7X8 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ \8'^6._9'V8: @ Z@0 !D ("!%I( 'AL+W=O&UL4$L! A0#% @ \8'^6!#"[$!$ M @ B@8 !D ("!'9H 'AL+W=O$1ZD<* #@'@ &0 M@(&8G >&PO=V]R:W-H965T&UL4$L! A0#% @ \8'^6%^(U-Z.! W0T !D M ("!!JH 'AL+W=OX" #4!@ &0 @('+K@ >&PO=V]R M:W-H965T&UL M4$L! A0#% @ \8'^6$+$#L,? P -0L !D ("!#+@ M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ M\8'^6/2ZRW:% P ?@D !D ("!3\0 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ \8'^6+'T2#PI P J H !D M ("!J=P 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ \8'^6%V^\0%5! %Q, !D ("!;ND 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ \8'^ M6!A/JCR6 @ M08 !D ("!XO, 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ \8'^6"?N+ /5 @ 0PD M !D ("!6/P 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ \8'^6+_Y_B^!! F14 !D M ("!7P&PO=V]R:W-H965T M&UL4$L! A0# M% @ \8'^6!O2_?KS! )QX !D ("!>A0! 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ \8'^6)<. MM*UU! Y!< !D ("!NR ! 'AL+W=O&PO=V]R:W-H965TI@0 . 6 9 " @>&UL4$L! A0#% @ \8'^6-WR+(H> @ % 4 !D M ("!Q"T! 'AL+W=O&PO M=V]R:W-H965T*NQS $P( L ( !HC8! %]R96QS+RYR M96QS4$L! A0#% @ \8'^6(J!1( 7!0 F2D \ ( ! MBST8Y@$ /4D 3 " 1,_ K 0!;0V]N=&5N=%]4>7!E&UL4$L%!@ !' $< :!, "I! 0 $! end XML 76 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 77 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 79 FilingSummary.xml IDEA: XBRL DOCUMENT 3.24.2 html 149 299 1 false 43 0 false 5 false false R1.htm 995200090 - Document - Document and Entity Information Sheet http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation Document and Entity Information Cover 1 false false R2.htm 995200100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (UNAUDITED) Sheet http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited CONDENSED CONSOLIDATED BALANCE SHEETS (UNAUDITED) Statements 2 false false R3.htm 995200105 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (UNAUDITED) (Parenthetical) Sheet http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnauditedParenthetical CONDENSED CONSOLIDATED BALANCE SHEETS (UNAUDITED) (Parenthetical) Statements 3 false false R4.htm 995200200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME (UNAUDITED) Sheet http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeUnaudited CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME (UNAUDITED) Statements 4 false false R5.htm 995200300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (UNAUDITED) Sheet http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (UNAUDITED) Statements 5 false false R6.htm 995200400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (UNAUDITED) Sheet http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (UNAUDITED) Statements 6 false false R7.htm 995200405 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (UNAUDITED) Sheet http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnauditeds CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (UNAUDITED) Statements 7 false false R8.htm 995210101 - Disclosure - Description of Business Sheet http://www.doubleverify.com/role/DisclosureDescriptionOfBusiness Description of Business Notes 8 false false R9.htm 995210201 - 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 995210301 - Disclosure - Revenue Sheet http://www.doubleverify.com/role/DisclosureRevenue Revenue Notes 10 false false R11.htm 995210401 - Disclosure - Business Combinations Sheet http://www.doubleverify.com/role/DisclosureBusinessCombinations Business Combinations Notes 11 false false R12.htm 995210501 - Disclosure - Goodwill and Intangible Assets Sheet http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssets Goodwill and Intangible Assets Notes 12 false false R13.htm 995210601 - Disclosure - Property, Plant and Equipment Sheet http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipment Property, Plant and Equipment Notes 13 false false R14.htm 995210701 - Disclosure - Leases Sheet http://www.doubleverify.com/role/DisclosureLeases Leases Notes 14 false false R15.htm 995210801 - Disclosure - Fair Value Measurement Sheet http://www.doubleverify.com/role/DisclosureFairValueMeasurement Fair Value Measurement Notes 15 false false R16.htm 995210901 - Disclosure - Long-term Debt Sheet http://www.doubleverify.com/role/DisclosureLongTermDebt Long-term Debt Notes 16 false false R17.htm 995211001 - Disclosure - Income Tax Sheet http://www.doubleverify.com/role/DisclosureIncomeTax Income Tax Notes 17 false false R18.htm 995211101 - Disclosure - Earnings Per Share Sheet http://www.doubleverify.com/role/DisclosureEarningsPerShare Earnings Per Share Notes 18 false false R19.htm 995211201 - Disclosure - Stock-Based Compensation Sheet http://www.doubleverify.com/role/DisclosureStockBasedCompensation Stock-Based Compensation Notes 19 false false R20.htm 995211301 - Disclosure - Stockholders' Equity Sheet http://www.doubleverify.com/role/DisclosureStockholdersEquity Stockholders' Equity Notes 20 false false R21.htm 995211401 - Disclosure - Supplemental Financial Statement Information Sheet http://www.doubleverify.com/role/DisclosureSupplementalFinancialStatementInformation Supplemental Financial Statement Information Notes 21 false false R22.htm 995211501 - Disclosure - Commitments and Contingencies Sheet http://www.doubleverify.com/role/DisclosureCommitmentsAndContingencies Commitments and Contingencies Notes 22 false false R23.htm 995211601 - Disclosure - Segment Information Sheet http://www.doubleverify.com/role/DisclosureSegmentInformation Segment Information Notes 23 false false R24.htm 995211701 - Disclosure - Subsequent Events Sheet http://www.doubleverify.com/role/DisclosureSubsequentEvents Subsequent Events Notes 24 false false R25.htm 995410 - Disclosure - Pay vs Performance Disclosure Sheet http://xbrl.sec.gov/ecd/role/PvpDisclosure Pay vs Performance Disclosure Notes 25 false false R26.htm 995445 - Disclosure - Insider Trading Arrangements Sheet http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements Insider Trading Arrangements Notes 26 false false R27.htm 99920202 - 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 27 false false R28.htm 99930303 - Disclosure - Revenue (Tables) Sheet http://www.doubleverify.com/role/DisclosureRevenueTables Revenue (Tables) Tables http://www.doubleverify.com/role/DisclosureRevenue 28 false false R29.htm 99930503 - 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 29 false false R30.htm 99930603 - 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 30 false false R31.htm 99930703 - Disclosure - Leases (Tables) Sheet http://www.doubleverify.com/role/DisclosureLeasesTables Leases (Tables) Tables http://www.doubleverify.com/role/DisclosureLeases 31 false false R32.htm 99930803 - Disclosure - Fair Value Measurement (Tables) Sheet http://www.doubleverify.com/role/DisclosureFairValueMeasurementTables Fair Value Measurement (Tables) Tables http://www.doubleverify.com/role/DisclosureFairValueMeasurement 32 false false R33.htm 99931103 - Disclosure - Earnings Per Share (Tables) Sheet http://www.doubleverify.com/role/DisclosureEarningsPerShareTables Earnings Per Share (Tables) Tables http://www.doubleverify.com/role/DisclosureEarningsPerShare 33 false false R34.htm 99931203 - Disclosure - Stock-Based Compensation (Tables) Sheet http://www.doubleverify.com/role/DisclosureStockBasedCompensationTables Stock-Based Compensation (Tables) Tables http://www.doubleverify.com/role/DisclosureStockBasedCompensation 34 false false R35.htm 99931403 - Disclosure - Supplemental Financial Statement Information (Tables) Sheet http://www.doubleverify.com/role/DisclosureSupplementalFinancialStatementInformationTables Supplemental Financial Statement Information (Tables) Tables http://www.doubleverify.com/role/DisclosureSupplementalFinancialStatementInformation 35 false false R36.htm 99940101 - Disclosure - Description of Business (Details) Sheet http://www.doubleverify.com/role/DisclosureDescriptionOfBusinessDetails Description of Business (Details) Details http://www.doubleverify.com/role/DisclosureDescriptionOfBusiness 36 false false R37.htm 99940301 - Disclosure - Revenue (Details) Sheet http://www.doubleverify.com/role/DisclosureRevenueDetails Revenue (Details) Details http://www.doubleverify.com/role/DisclosureRevenueTables 37 false false R38.htm 99940401 - Disclosure - Business Combinations - Acquisition (Details) Sheet http://www.doubleverify.com/role/DisclosureBusinessCombinationsAcquisitionDetails Business Combinations - Acquisition (Details) Details 38 false false R39.htm 99940501 - Disclosure - Goodwill and Intangible Assets - Goodwill (Details) Sheet http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails Goodwill and Intangible Assets - Goodwill (Details) Details 39 false false R40.htm 99940502 - 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 40 false false R41.htm 99940503 - 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 41 false false R42.htm 99940504 - 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 42 false false R43.htm 99940601 - 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 43 false false R44.htm 99940701 - Disclosure - Leases - Leases Cost (Details) Sheet http://www.doubleverify.com/role/DisclosureLeasesLeasesCostDetails Leases - Leases Cost (Details) Details 44 false false R45.htm 99940702 - Disclosure - Leases - Weighted-average remaining lease terms and discount rates (Details) Sheet http://www.doubleverify.com/role/DisclosureLeasesWeightedAverageRemainingLeaseTermsAndDiscountRatesDetails Leases - Weighted-average remaining lease terms and discount rates (Details) Details 45 false false R46.htm 99940703 - Disclosure - Leases - Maturities of Operating Lease Liabilities (Details) Sheet http://www.doubleverify.com/role/DisclosureLeasesMaturitiesOfOperatingLeaseLiabilitiesDetails Leases - Maturities of Operating Lease Liabilities (Details) Details 46 false false R47.htm 99940704 - Disclosure - Leases - Maturities of Finance Lease Liabilities (Details) Sheet http://www.doubleverify.com/role/DisclosureLeasesMaturitiesOfFinanceLeaseLiabilitiesDetails Leases - Maturities of Finance Lease Liabilities (Details) Details 47 false false R48.htm 99940705 - Disclosure - Leases - Narratives (Details) Sheet http://www.doubleverify.com/role/DisclosureLeasesNarrativesDetails Leases - Narratives (Details) Details 48 false false R49.htm 99940801 - 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 49 false false R50.htm 99940802 - Disclosure - Fair Value Measurement - Narrative (Details) Sheet http://www.doubleverify.com/role/DisclosureFairValueMeasurementNarrativeDetails Fair Value Measurement - Narrative (Details) Details 50 false false R51.htm 99940901 - Disclosure - Long-term Debt (Details) Sheet http://www.doubleverify.com/role/DisclosureLongTermDebtDetails Long-term Debt (Details) Details http://www.doubleverify.com/role/DisclosureLongTermDebt 51 false false R52.htm 99941001 - Disclosure - Income Tax (Details) Sheet http://www.doubleverify.com/role/DisclosureIncomeTaxDetails Income Tax (Details) Details http://www.doubleverify.com/role/DisclosureIncomeTax 52 false false R53.htm 99941101 - Disclosure - Earnings Per Share (Details) Sheet http://www.doubleverify.com/role/DisclosureEarningsPerShareDetails Earnings Per Share (Details) Details http://www.doubleverify.com/role/DisclosureEarningsPerShareTables 53 false false R54.htm 99941201 - Disclosure - Stock-Based Compensation (Details) Sheet http://www.doubleverify.com/role/DisclosureStockBasedCompensationDetails Stock-Based Compensation (Details) Details http://www.doubleverify.com/role/DisclosureStockBasedCompensationTables 54 false false R55.htm 99941202 - Disclosure - Stock-Based Compensation - Stock option activity (Details) Sheet http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails Stock-Based Compensation - Stock option activity (Details) Details 55 false false R56.htm 99941203 - Disclosure - Stock-Based Compensation - Additional information (Details) Sheet http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails Stock-Based Compensation - Additional information (Details) Details 56 false false R57.htm 99941204 - Disclosure - Stock-Based Compensation - RSUs and PSUs (Details) Sheet http://www.doubleverify.com/role/DisclosureStockBasedCompensationRsusAndPsusDetails Stock-Based Compensation - RSUs and PSUs (Details) Details 57 false false R58.htm 99941205 - Disclosure - Stock-Based Compensation - Valuation Assumptions (Details) Sheet http://www.doubleverify.com/role/DisclosureStockBasedCompensationValuationAssumptionsDetails Stock-Based Compensation - Valuation Assumptions (Details) Details 58 false false R59.htm 99941206 - 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 59 false false R60.htm 99941301 - Disclosure - Stockholders' Equity (Details) Sheet http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails Stockholders' Equity (Details) Details http://www.doubleverify.com/role/DisclosureStockholdersEquity 60 false false R61.htm 99941401 - Disclosure - Supplemental Financial Statement Information (Details) Sheet http://www.doubleverify.com/role/DisclosureSupplementalFinancialStatementInformationDetails Supplemental Financial Statement Information (Details) Details http://www.doubleverify.com/role/DisclosureSupplementalFinancialStatementInformationTables 61 false false R62.htm 99941601 - Disclosure - Segment Information (Details) Sheet http://www.doubleverify.com/role/DisclosureSegmentInformationDetails Segment Information (Details) Details http://www.doubleverify.com/role/DisclosureSegmentInformation 62 false false R63.htm 99941701 - Disclosure - Subsequent Events (Details) Sheet http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails Subsequent Events (Details) Details http://www.doubleverify.com/role/DisclosureSubsequentEvents 63 false false All Reports Book All Reports dv-20240630.xsd dv-20240630_cal.xml dv-20240630_def.xml dv-20240630_lab.xml dv-20240630_pre.xml dv-20240630x10q.htm http://fasb.org/srt/2024 http://fasb.org/us-gaap/2024 http://xbrl.sec.gov/dei/2024 http://xbrl.sec.gov/ecd/2024 true true JSON 82 MetaLinks.json IDEA: XBRL DOCUMENT { "version": "2.2", "instance": { "dv-20240630x10q.htm": { "nsprefix": "dvh", "nsuri": "http://www.doubleverify.com/20240630", "dts": { "schema": { "local": [ "dv-20240630.xsd" ], "remote": [ "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd", "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd", "http://www.xbrl.org/2003/xl-2003-12-31.xsd", "http://www.xbrl.org/2003/xlink-2003-12-31.xsd", "http://www.xbrl.org/2005/xbrldt-2005.xsd", "http://www.xbrl.org/2006/ref-2006-02-27.xsd", "http://www.xbrl.org/lrr/arcrole/esma-arcrole-2018-11-21.xsd", "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd", "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd", "https://www.xbrl.org/2023/calculation-1.1.xsd", "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd", "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd", "https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd", "https://xbrl.fasb.org/srt/2024/elts/srt-roles-2024.xsd", "https://xbrl.fasb.org/srt/2024/elts/srt-types-2024.xsd", "https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd", "https://xbrl.fasb.org/us-gaap/2024/elts/us-roles-2024.xsd", "https://xbrl.fasb.org/us-gaap/2024/elts/us-types-2024.xsd", "https://xbrl.sec.gov/country/2024/country-2024.xsd", "https://xbrl.sec.gov/dei/2024/dei-2024.xsd", "https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd", "https://xbrl.sec.gov/ecd/2024/ecd-sub-2024.xsd", "https://xbrl.sec.gov/stpr/2024/stpr-2024.xsd" ] }, "calculationLink": { "local": [ "dv-20240630_cal.xml" ] }, "definitionLink": { "local": [ "dv-20240630_def.xml" ] }, "labelLink": { "local": [ "dv-20240630_lab.xml" ] }, "presentationLink": { "local": [ "dv-20240630_pre.xml" ] }, "inline": { "local": [ "dv-20240630x10q.htm" ] } }, "keyStandard": 285, "keyCustom": 14, "axisStandard": 22, "axisCustom": 0, "memberStandard": 32, "memberCustom": 10, "hidden": { "total": 13, "http://fasb.org/us-gaap/2024": 8, "http://xbrl.sec.gov/dei/2024": 5 }, "contextCount": 149, "entityCount": 1, "segmentCount": 43, "elementCount": 561, "unitCount": 5, "baseTaxonomies": { "http://fasb.org/us-gaap/2024": 685, "http://xbrl.sec.gov/dei/2024": 29, "http://xbrl.sec.gov/ecd/2024": 4, "http://fasb.org/srt/2024": 1 }, "report": { "R1": { "role": "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation", "longName": "995200090 - Document - Document and Entity Information", "shortName": "Document and Entity Information", "isDefault": "true", "groupType": "document", "subGroupType": "", "menuCat": "Cover", "order": "1", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true } }, "R2": { "role": "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited", "longName": "995200100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (UNAUDITED)", "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS (UNAUDITED)", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "2", "firstAnchor": { "contextRef": "As_Of_6_30_2024_dVQhSqJpp0GLpPuDiucuHQ", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "Unit_Standard_USD_3YTaqqS99EScCkUrtFzF6g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_sFX2mogZNkmfW0r-_yNB8g", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "Unit_Standard_USD_3YTaqqS99EScCkUrtFzF6g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "unique": true } }, "R3": { "role": "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnauditedParenthetical", "longName": "995200105 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (UNAUDITED) (Parenthetical)", "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS (UNAUDITED) (Parenthetical)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "3", "firstAnchor": { "contextRef": "As_Of_6_30_2024_dVQhSqJpp0GLpPuDiucuHQ", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "unitRef": "Unit_Standard_USD_3YTaqqS99EScCkUrtFzF6g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_6_30_2024_dVQhSqJpp0GLpPuDiucuHQ", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "unitRef": "Unit_Standard_USD_3YTaqqS99EScCkUrtFzF6g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true } }, "R4": { "role": "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeUnaudited", "longName": "995200200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME (UNAUDITED)", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME (UNAUDITED)", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "4", "firstAnchor": { "contextRef": "Duration_4_1_2024_To_6_30_2024_1noq0tU_x0yVK657P5DcBA", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_3YTaqqS99EScCkUrtFzF6g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_4_1_2024_To_6_30_2024_1noq0tU_x0yVK657P5DcBA", "name": "us-gaap:CostOfGoodsAndServicesSold", "unitRef": "Unit_Standard_USD_3YTaqqS99EScCkUrtFzF6g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "unique": true } }, "R5": { "role": "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited", "longName": "995200300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (UNAUDITED)", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (UNAUDITED)", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "5", "firstAnchor": { "contextRef": "As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_EyRQREPwvkqi10e2ZBW_kQ", "name": "us-gaap:StockholdersEquity", "unitRef": "Unit_Standard_USD_3YTaqqS99EScCkUrtFzF6g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_3_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AociIncludingPortionAttributableToNoncontrollingInterestMember_1IjE0rI1LkW9jE_sIwO8wg", "name": "us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax", "unitRef": "Unit_Standard_USD_3YTaqqS99EScCkUrtFzF6g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "unique": true } }, "R6": { "role": "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited", "longName": "995200400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (UNAUDITED)", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (UNAUDITED)", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "6", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:ProfitLoss", "unitRef": "Unit_Standard_USD_3YTaqqS99EScCkUrtFzF6g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:ProfitLoss", "unitRef": "Unit_Standard_USD_3YTaqqS99EScCkUrtFzF6g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true } }, "R7": { "role": "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnauditeds", "longName": "995200405 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (UNAUDITED)", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (UNAUDITED)", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "7", "firstAnchor": { "contextRef": "As_Of_6_30_2024_dVQhSqJpp0GLpPuDiucuHQ", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "Unit_Standard_USD_3YTaqqS99EScCkUrtFzF6g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_6_30_2023_4dIu79b5jUeI4n5JaxDNyw", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "Unit_Standard_USD_3YTaqqS99EScCkUrtFzF6g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "unique": true } }, "R8": { "role": "http://www.doubleverify.com/role/DisclosureDescriptionOfBusiness", "longName": "995210101 - Disclosure - Description of Business", "shortName": "Description of Business", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "8", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true } }, "R9": { "role": "http://www.doubleverify.com/role/DisclosureBasisOfPresentationAndSummaryOfSignificantAccountingPolicies", "longName": "995210201 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies", "shortName": "Basis of Presentation and Summary of Significant Accounting Policies", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "9", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true } }, "R10": { "role": "http://www.doubleverify.com/role/DisclosureRevenue", "longName": "995210301 - Disclosure - Revenue", "shortName": "Revenue", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "10", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true } }, "R11": { "role": "http://www.doubleverify.com/role/DisclosureBusinessCombinations", "longName": "995210401 - Disclosure - Business Combinations", "shortName": "Business Combinations", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "11", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true } }, "R12": { "role": "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssets", "longName": "995210501 - Disclosure - Goodwill and Intangible Assets", "shortName": "Goodwill and Intangible Assets", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "12", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true } }, "R13": { "role": "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipment", "longName": "995210601 - Disclosure - Property, Plant and Equipment", "shortName": "Property, Plant and Equipment", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "13", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true } }, "R14": { "role": "http://www.doubleverify.com/role/DisclosureLeases", "longName": "995210701 - Disclosure - Leases", "shortName": "Leases", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "14", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "dvh:LeaseDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "dvh:LeaseDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true } }, "R15": { "role": "http://www.doubleverify.com/role/DisclosureFairValueMeasurement", "longName": "995210801 - Disclosure - Fair Value Measurement", "shortName": "Fair Value Measurement", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "15", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true } }, "R16": { "role": "http://www.doubleverify.com/role/DisclosureLongTermDebt", "longName": "995210901 - Disclosure - Long-term Debt", "shortName": "Long-term Debt", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "16", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true } }, "R17": { "role": "http://www.doubleverify.com/role/DisclosureIncomeTax", "longName": "995211001 - Disclosure - Income Tax", "shortName": "Income Tax", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "17", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true } }, "R18": { "role": "http://www.doubleverify.com/role/DisclosureEarningsPerShare", "longName": "995211101 - Disclosure - Earnings Per Share", "shortName": "Earnings Per Share", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "18", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true } }, "R19": { "role": "http://www.doubleverify.com/role/DisclosureStockBasedCompensation", "longName": "995211201 - Disclosure - Stock-Based Compensation", "shortName": "Stock-Based Compensation", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "19", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true } }, "R20": { "role": "http://www.doubleverify.com/role/DisclosureStockholdersEquity", "longName": "995211301 - Disclosure - Stockholders' Equity", "shortName": "Stockholders' Equity", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "20", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true } }, "R21": { "role": "http://www.doubleverify.com/role/DisclosureSupplementalFinancialStatementInformation", "longName": "995211401 - Disclosure - Supplemental Financial Statement Information", "shortName": "Supplemental Financial Statement Information", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "21", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:AdditionalFinancialInformationDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:AdditionalFinancialInformationDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true } }, "R22": { "role": "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingencies", "longName": "995211501 - Disclosure - Commitments and Contingencies", "shortName": "Commitments and Contingencies", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "22", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true } }, "R23": { "role": "http://www.doubleverify.com/role/DisclosureSegmentInformation", "longName": "995211601 - Disclosure - Segment Information", "shortName": "Segment Information", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "23", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true } }, "R24": { "role": "http://www.doubleverify.com/role/DisclosureSubsequentEvents", "longName": "995211701 - Disclosure - Subsequent Events", "shortName": "Subsequent Events", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "24", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:SubsequentEventsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:SubsequentEventsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true } }, "R25": { "role": "http://xbrl.sec.gov/ecd/role/PvpDisclosure", "longName": "995410 - Disclosure - Pay vs Performance Disclosure", "shortName": "Pay vs Performance Disclosure", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "25", "firstAnchor": { "contextRef": "Duration_4_1_2024_To_6_30_2024_1noq0tU_x0yVK657P5DcBA", "name": "us-gaap:NetIncomeLoss", "unitRef": "Unit_Standard_USD_3YTaqqS99EScCkUrtFzF6g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true }, "uniqueAnchor": null }, "R26": { "role": "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "longName": "995445 - Disclosure - Insider Trading Arrangements", "shortName": "Insider Trading Arrangements", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "26", "firstAnchor": { "contextRef": "Duration_4_1_2024_To_6_30_2024_1noq0tU_x0yVK657P5DcBA", "name": "ecd:Rule10b51ArrAdoptedFlag", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_4_1_2024_To_6_30_2024_1noq0tU_x0yVK657P5DcBA", "name": "ecd:Rule10b51ArrAdoptedFlag", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true } }, "R27": { "role": "http://www.doubleverify.com/role/DisclosureBasisOfPresentationAndSummaryOfSignificantAccountingPoliciesPolicies", "longName": "99920202 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies (Policies)", "shortName": "Basis of Presentation and Summary of Significant Accounting Policies (Policies)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "policies", "menuCat": "Policies", "order": "27", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "dvh:BasisOfPreparationAndPrinciplesOfConsolidationPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "dvh:BasisOfPreparationAndPrinciplesOfConsolidationPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true } }, "R28": { "role": "http://www.doubleverify.com/role/DisclosureRevenueTables", "longName": "99930303 - Disclosure - Revenue (Tables)", "shortName": "Revenue (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "28", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true } }, "R29": { "role": "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsTables", "longName": "99930503 - Disclosure - Goodwill and Intangible Assets (Tables)", "shortName": "Goodwill and Intangible Assets (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "29", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true } }, "R30": { "role": "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentTables", "longName": "99930603 - Disclosure - Property, Plant and Equipment (Tables)", "shortName": "Property, Plant and Equipment (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "30", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true } }, "R31": { "role": "http://www.doubleverify.com/role/DisclosureLeasesTables", "longName": "99930703 - Disclosure - Leases (Tables)", "shortName": "Leases (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "31", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:LeaseCostTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "dvh:LeaseDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:LeaseCostTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "dvh:LeaseDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true } }, "R32": { "role": "http://www.doubleverify.com/role/DisclosureFairValueMeasurementTables", "longName": "99930803 - Disclosure - Fair Value Measurement (Tables)", "shortName": "Fair Value Measurement (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "32", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true } }, "R33": { "role": "http://www.doubleverify.com/role/DisclosureEarningsPerShareTables", "longName": "99931103 - Disclosure - Earnings Per Share (Tables)", "shortName": "Earnings Per Share (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "33", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true } }, "R34": { "role": "http://www.doubleverify.com/role/DisclosureStockBasedCompensationTables", "longName": "99931203 - Disclosure - Stock-Based Compensation (Tables)", "shortName": "Stock-Based Compensation (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "34", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true } }, "R35": { "role": "http://www.doubleverify.com/role/DisclosureSupplementalFinancialStatementInformationTables", "longName": "99931403 - Disclosure - Supplemental Financial Statement Information (Tables)", "shortName": "Supplemental Financial Statement Information (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "35", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:AdditionalFinancialInformationDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:AdditionalFinancialInformationDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true } }, "R36": { "role": "http://www.doubleverify.com/role/DisclosureDescriptionOfBusinessDetails", "longName": "99940101 - Disclosure - Description of Business (Details)", "shortName": "Description of Business (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "36", "firstAnchor": { "contextRef": "As_Of_8_18_2017_us-gaap_BusinessAcquisitionAxis_dvh_DoubleverifyInc.Member_G2GhQyJf5kyxUKTG1lugSQ", "name": "us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired", "unitRef": "Unit_Standard_pure_sKYbYsX7RkSMzQH5bQI2fQ", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_8_18_2017_us-gaap_BusinessAcquisitionAxis_dvh_DoubleverifyInc.Member_G2GhQyJf5kyxUKTG1lugSQ", "name": "us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired", "unitRef": "Unit_Standard_pure_sKYbYsX7RkSMzQH5bQI2fQ", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true } }, "R37": { "role": "http://www.doubleverify.com/role/DisclosureRevenueDetails", "longName": "99940301 - Disclosure - Revenue (Details)", "shortName": "Revenue (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "37", "firstAnchor": { "contextRef": "Duration_4_1_2024_To_6_30_2024_1noq0tU_x0yVK657P5DcBA", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_3YTaqqS99EScCkUrtFzF6g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_sFX2mogZNkmfW0r-_yNB8g", "name": "us-gaap:UnbilledReceivablesCurrent", "unitRef": "Unit_Standard_USD_3YTaqqS99EScCkUrtFzF6g", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "unique": true } }, "R38": { "role": "http://www.doubleverify.com/role/DisclosureBusinessCombinationsAcquisitionDetails", "longName": "99940401 - Disclosure - Business Combinations - Acquisition (Details)", "shortName": "Business Combinations - Acquisition (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "38", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:GoodwillPurchaseAccountingAdjustments", "unitRef": "Unit_Standard_USD_3YTaqqS99EScCkUrtFzF6g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfGoodwillTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_4_1_2024_To_6_30_2024_us-gaap_BusinessAcquisitionAxis_dvh_ScibidsTechnologySasMember_Lpl8nePFLEmNls4Ry_6mug", "name": "us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired", "unitRef": "Unit_Standard_USD_3YTaqqS99EScCkUrtFzF6g", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:BusinessCombinationDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "unique": true } }, "R39": { "role": "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails", "longName": "99940501 - Disclosure - Goodwill and Intangible Assets - Goodwill (Details)", "shortName": "Goodwill and Intangible Assets - Goodwill (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "39", "firstAnchor": { "contextRef": "As_Of_12_31_2023_sFX2mogZNkmfW0r-_yNB8g", "name": "us-gaap:Goodwill", "unitRef": "Unit_Standard_USD_3YTaqqS99EScCkUrtFzF6g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:GoodwillForeignCurrencyTranslationGainLoss", "unitRef": "Unit_Standard_USD_3YTaqqS99EScCkUrtFzF6g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfGoodwillTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "unique": true } }, "R40": { "role": "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails", "longName": "99940502 - Disclosure - Goodwill and Intangible Assets - Summary of Company's intangible assets (Details)", "shortName": "Goodwill and Intangible Assets - Summary of Company's intangible assets (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "40", "firstAnchor": { "contextRef": "As_Of_6_30_2024_dVQhSqJpp0GLpPuDiucuHQ", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "unitRef": "Unit_Standard_USD_3YTaqqS99EScCkUrtFzF6g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_sFX2mogZNkmfW0r-_yNB8g", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "unitRef": "Unit_Standard_USD_3YTaqqS99EScCkUrtFzF6g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "unique": true } }, "R41": { "role": "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails", "longName": "99940503 - Disclosure - Goodwill and Intangible Assets - Estimated future expected amortization expense (Details)", "shortName": "Goodwill and Intangible Assets - Estimated future expected amortization expense (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "41", "firstAnchor": { "contextRef": "As_Of_6_30_2024_dVQhSqJpp0GLpPuDiucuHQ", "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "unitRef": "Unit_Standard_USD_3YTaqqS99EScCkUrtFzF6g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_6_30_2024_dVQhSqJpp0GLpPuDiucuHQ", "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "unitRef": "Unit_Standard_USD_3YTaqqS99EScCkUrtFzF6g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true } }, "R42": { "role": "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsWeightedAverageRemainingUsefulLifeDetails", "longName": "99940504 - Disclosure - Goodwill and Intangible Assets - Weighted-average remaining useful life (Details)", "shortName": "Goodwill and Intangible Assets - Weighted-average remaining useful life (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "42", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:ImpairmentOfIntangibleAssetsFinitelived", "unitRef": "Unit_Standard_USD_3YTaqqS99EScCkUrtFzF6g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "us-gaap:ImpairmentOfIntangibleAssetsFinitelived", "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:ImpairmentOfIntangibleAssetsFinitelived", "unitRef": "Unit_Standard_USD_3YTaqqS99EScCkUrtFzF6g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "us-gaap:ImpairmentOfIntangibleAssetsFinitelived", "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true } }, "R43": { "role": "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails", "longName": "99940601 - Disclosure - Property, Plant and Equipment (Details)", "shortName": "Property, Plant and Equipment (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "43", "firstAnchor": { "contextRef": "As_Of_6_30_2024_dVQhSqJpp0GLpPuDiucuHQ", "name": "us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "unitRef": "Unit_Standard_USD_3YTaqqS99EScCkUrtFzF6g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_sFX2mogZNkmfW0r-_yNB8g", "name": "us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "unitRef": "Unit_Standard_USD_3YTaqqS99EScCkUrtFzF6g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "unique": true } }, "R44": { "role": "http://www.doubleverify.com/role/DisclosureLeasesLeasesCostDetails", "longName": "99940701 - Disclosure - Leases - Leases Cost (Details)", "shortName": "Leases - Leases Cost (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "44", "firstAnchor": { "contextRef": "Duration_4_1_2024_To_6_30_2024_1noq0tU_x0yVK657P5DcBA", "name": "us-gaap:OperatingLeaseCost", "unitRef": "Unit_Standard_USD_3YTaqqS99EScCkUrtFzF6g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:LeaseCostTableTextBlock", "dvh:LeaseDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_4_1_2024_To_6_30_2024_1noq0tU_x0yVK657P5DcBA", "name": "us-gaap:OperatingLeaseCost", "unitRef": "Unit_Standard_USD_3YTaqqS99EScCkUrtFzF6g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:LeaseCostTableTextBlock", "dvh:LeaseDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true } }, "R45": { "role": "http://www.doubleverify.com/role/DisclosureLeasesWeightedAverageRemainingLeaseTermsAndDiscountRatesDetails", "longName": "99940702 - Disclosure - Leases - Weighted-average remaining lease terms and discount rates (Details)", "shortName": "Leases - Weighted-average remaining lease terms and discount rates (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "45", "firstAnchor": { "contextRef": "As_Of_6_30_2024_dVQhSqJpp0GLpPuDiucuHQ", "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "td", "tr", "table", "dvh:ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesForFinanceAndOperatingLeasesTableTextBlock", "dvh:LeaseDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_6_30_2024_dVQhSqJpp0GLpPuDiucuHQ", "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "td", "tr", "table", "dvh:ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesForFinanceAndOperatingLeasesTableTextBlock", "dvh:LeaseDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true } }, "R46": { "role": "http://www.doubleverify.com/role/DisclosureLeasesMaturitiesOfOperatingLeaseLiabilitiesDetails", "longName": "99940703 - Disclosure - Leases - Maturities of Operating Lease Liabilities (Details)", "shortName": "Leases - Maturities of Operating Lease Liabilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "46", "firstAnchor": { "contextRef": "As_Of_6_30_2024_dVQhSqJpp0GLpPuDiucuHQ", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "unitRef": "Unit_Standard_USD_3YTaqqS99EScCkUrtFzF6g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_6_30_2024_dVQhSqJpp0GLpPuDiucuHQ", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "unitRef": "Unit_Standard_USD_3YTaqqS99EScCkUrtFzF6g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true } }, "R47": { "role": "http://www.doubleverify.com/role/DisclosureLeasesMaturitiesOfFinanceLeaseLiabilitiesDetails", "longName": "99940704 - Disclosure - Leases - Maturities of Finance Lease Liabilities (Details)", "shortName": "Leases - Maturities of Finance Lease Liabilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "47", "firstAnchor": { "contextRef": "As_Of_6_30_2024_dVQhSqJpp0GLpPuDiucuHQ", "name": "us-gaap:FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear", "unitRef": "Unit_Standard_USD_3YTaqqS99EScCkUrtFzF6g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_6_30_2024_dVQhSqJpp0GLpPuDiucuHQ", "name": "us-gaap:FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear", "unitRef": "Unit_Standard_USD_3YTaqqS99EScCkUrtFzF6g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true } }, "R48": { "role": "http://www.doubleverify.com/role/DisclosureLeasesNarrativesDetails", "longName": "99940705 - Disclosure - Leases - Narratives (Details)", "shortName": "Leases - Narratives (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "48", "firstAnchor": { "contextRef": "As_Of_6_30_2024_srt_RangeAxis_srt_MaximumMember_atSR7RFp0US37caaVk6Cfw", "name": "us-gaap:LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_6_30_2024_srt_RangeAxis_srt_MaximumMember_atSR7RFp0US37caaVk6Cfw", "name": "us-gaap:LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true } }, "R49": { "role": "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails", "longName": "99940801 - Disclosure - Fair Value Measurement - Fair value on a recurring basis (Details)", "shortName": "Fair Value Measurement - Fair value on a recurring basis (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "49", "firstAnchor": { "contextRef": "As_Of_6_30_2024_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_z1-c1TXPqE6e2_SMNmyk1g", "name": "us-gaap:CashAndCashEquivalentsFairValueDisclosure", "unitRef": "Unit_Standard_USD_3YTaqqS99EScCkUrtFzF6g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_6_30_2024_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_z1-c1TXPqE6e2_SMNmyk1g", "name": "us-gaap:CashAndCashEquivalentsFairValueDisclosure", "unitRef": "Unit_Standard_USD_3YTaqqS99EScCkUrtFzF6g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true } }, "R50": { "role": "http://www.doubleverify.com/role/DisclosureFairValueMeasurementNarrativeDetails", "longName": "99940802 - Disclosure - Fair Value Measurement - Narrative (Details)", "shortName": "Fair Value Measurement - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "50", "firstAnchor": { "contextRef": "As_Of_6_30_2024_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember_P9t-rSIPX025OT4S6XK6VQ", "name": "us-gaap:InvestmentsFairValueDisclosure", "unitRef": "Unit_Standard_USD_3YTaqqS99EScCkUrtFzF6g", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_6_30_2024_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember_P9t-rSIPX025OT4S6XK6VQ", "name": "us-gaap:InvestmentsFairValueDisclosure", "unitRef": "Unit_Standard_USD_3YTaqqS99EScCkUrtFzF6g", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true } }, "R51": { "role": "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails", "longName": "99940901 - Disclosure - Long-term Debt (Details)", "shortName": "Long-term Debt (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "51", "firstAnchor": { "contextRef": "As_Of_6_30_2024_dVQhSqJpp0GLpPuDiucuHQ", "name": "dvh:LineOfCreditFacilityMaximumTotalLeverageRatio", "unitRef": "Unit_Standard_pure_sKYbYsX7RkSMzQH5bQI2fQ", "xsiNil": "false", "lang": null, "decimals": "1", "ancestors": [ "p", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_6_30_2024_dVQhSqJpp0GLpPuDiucuHQ", "name": "dvh:LineOfCreditFacilityMaximumTotalLeverageRatio", "unitRef": "Unit_Standard_pure_sKYbYsX7RkSMzQH5bQI2fQ", "xsiNil": "false", "lang": null, "decimals": "1", "ancestors": [ "p", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true } }, "R52": { "role": "http://www.doubleverify.com/role/DisclosureIncomeTaxDetails", "longName": "99941001 - Disclosure - Income Tax (Details)", "shortName": "Income Tax (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "52", "firstAnchor": { "contextRef": "Duration_4_1_2024_To_6_30_2024_1noq0tU_x0yVK657P5DcBA", "name": "us-gaap:IncomeTaxExpenseBenefit", "unitRef": "Unit_Standard_USD_3YTaqqS99EScCkUrtFzF6g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_4_1_2024_To_6_30_2024_1noq0tU_x0yVK657P5DcBA", "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "unitRef": "Unit_Standard_pure_sKYbYsX7RkSMzQH5bQI2fQ", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "unique": true } }, "R53": { "role": "http://www.doubleverify.com/role/DisclosureEarningsPerShareDetails", "longName": "99941101 - Disclosure - Earnings Per Share (Details)", "shortName": "Earnings Per Share (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "53", "firstAnchor": { "contextRef": "Duration_4_1_2024_To_6_30_2024_1noq0tU_x0yVK657P5DcBA", "name": "us-gaap:NetIncomeLoss", "unitRef": "Unit_Standard_USD_3YTaqqS99EScCkUrtFzF6g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_4_1_2024_To_6_30_2024_1noq0tU_x0yVK657P5DcBA", "name": "us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "unitRef": "Unit_Standard_shares_JFaVo9_L60qQRaRqU3pzNQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "unique": true } }, "R54": { "role": "http://www.doubleverify.com/role/DisclosureStockBasedCompensationDetails", "longName": "99941201 - Disclosure - Stock-Based Compensation (Details)", "shortName": "Stock-Based Compensation (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "54", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_us-gaap_AwardTypeAxis_dvh_EquityIncentiveProgramMember_GUymmAtj1Ei1GAVHtsAZWA", "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_us-gaap_AwardTypeAxis_dvh_EquityIncentiveProgramMember_GUymmAtj1Ei1GAVHtsAZWA", "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true } }, "R55": { "role": "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails", "longName": "99941202 - Disclosure - Stock-Based Compensation - Stock option activity (Details)", "shortName": "Stock-Based Compensation - Stock option activity (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "55", "firstAnchor": { "contextRef": "As_Of_12_31_2023_sFX2mogZNkmfW0r-_yNB8g", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "unitRef": "Unit_Standard_shares_JFaVo9_L60qQRaRqU3pzNQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod", "unitRef": "Unit_Standard_shares_JFaVo9_L60qQRaRqU3pzNQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "unique": true } }, "R56": { "role": "http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "longName": "99941203 - Disclosure - Stock-Based Compensation - Additional information (Details)", "shortName": "Stock-Based Compensation - Additional information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "56", "firstAnchor": { "contextRef": "As_Of_6_30_2024_dVQhSqJpp0GLpPuDiucuHQ", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "unitRef": "Unit_Standard_shares_JFaVo9_L60qQRaRqU3pzNQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue", "unitRef": "Unit_Standard_USD_3YTaqqS99EScCkUrtFzF6g", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "unique": true } }, "R57": { "role": "http://www.doubleverify.com/role/DisclosureStockBasedCompensationRsusAndPsusDetails", "longName": "99941204 - Disclosure - Stock-Based Compensation - RSUs and PSUs (Details)", "shortName": "Stock-Based Compensation - RSUs and PSUs (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "57", "firstAnchor": { "contextRef": "As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_idesmTeI_kaa_8iic6MA1w", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "unitRef": "Unit_Standard_shares_JFaVo9_L60qQRaRqU3pzNQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_idesmTeI_kaa_8iic6MA1w", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "unitRef": "Unit_Standard_shares_JFaVo9_L60qQRaRqU3pzNQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true } }, "R58": { "role": "http://www.doubleverify.com/role/DisclosureStockBasedCompensationValuationAssumptionsDetails", "longName": "99941205 - Disclosure - Stock-Based Compensation - Valuation Assumptions (Details)", "shortName": "Stock-Based Compensation - Valuation Assumptions (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "58", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_us-gaap_AwardTypeAxis_us-gaap_PerformanceSharesMember_UTX7czyAhkCHSzI0NjCiaw", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum", "unitRef": "Unit_Standard_pure_sKYbYsX7RkSMzQH5bQI2fQ", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_us-gaap_AwardTypeAxis_us-gaap_PerformanceSharesMember_UTX7czyAhkCHSzI0NjCiaw", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum", "unitRef": "Unit_Standard_pure_sKYbYsX7RkSMzQH5bQI2fQ", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true } }, "R59": { "role": "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails", "longName": "99941206 - Disclosure - Stock-Based Compensation - Stock-based compensation expense (Details)", "shortName": "Stock-Based Compensation - Stock-based compensation expense (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "59", "firstAnchor": { "contextRef": "Duration_4_1_2024_To_6_30_2024_1noq0tU_x0yVK657P5DcBA", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "unitRef": "Unit_Standard_USD_3YTaqqS99EScCkUrtFzF6g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "unique": true } }, "R60": { "role": "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "longName": "99941301 - Disclosure - Stockholders' Equity (Details)", "shortName": "Stockholders' Equity (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "60", "firstAnchor": { "contextRef": "Duration_7_30_2024_To_7_30_2024_fog6wVNQDEaMHfz3nURI6g", "name": "us-gaap:TreasuryStockValueAcquiredCostMethod", "unitRef": "Unit_Standard_USD_3YTaqqS99EScCkUrtFzF6g", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:SubsequentEventsTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_5_16_2024_srt_ShareRepurchaseProgramAxis_dvh_ShareRepurchaseProgramMember_FwrqjMFHEU-S4mxFn-mhPA", "name": "srt:StockRepurchaseProgramAuthorizedAmount1", "unitRef": "Unit_Standard_USD_3YTaqqS99EScCkUrtFzF6g", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "unique": true } }, "R61": { "role": "http://www.doubleverify.com/role/DisclosureSupplementalFinancialStatementInformationDetails", "longName": "99941401 - Disclosure - Supplemental Financial Statement Information (Details)", "shortName": "Supplemental Financial Statement Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "61", "firstAnchor": { "contextRef": "As_Of_6_30_2024_dVQhSqJpp0GLpPuDiucuHQ", "name": "dvh:AccruedVendorPaymentsCurrent", "unitRef": "Unit_Standard_USD_3YTaqqS99EScCkUrtFzF6g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "us-gaap:AdditionalFinancialInformationDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_sFX2mogZNkmfW0r-_yNB8g", "name": "dvh:AccruedVendorPaymentsCurrent", "unitRef": "Unit_Standard_USD_3YTaqqS99EScCkUrtFzF6g", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "us-gaap:AdditionalFinancialInformationDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "unique": true } }, "R62": { "role": "http://www.doubleverify.com/role/DisclosureSegmentInformationDetails", "longName": "99941601 - Disclosure - Segment Information (Details)", "shortName": "Segment Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "62", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:NumberOfOperatingSegments", "unitRef": "Unit_Standard_segment_25iM1M9ucEGOoOm4ULejPg", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_6_30_2024_ZTCCs2fK4E60zj2DsuCRfQ", "name": "us-gaap:NumberOfOperatingSegments", "unitRef": "Unit_Standard_segment_25iM1M9ucEGOoOm4ULejPg", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true, "unique": true } }, "R63": { "role": "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails", "longName": "99941701 - Disclosure - Subsequent Events (Details)", "shortName": "Subsequent Events (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "63", "firstAnchor": { "contextRef": "As_Of_7_30_2024_kHYPYtXnLkecAqpWMAqbpg", "name": "us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1", "unitRef": "Unit_Standard_USD_3YTaqqS99EScCkUrtFzF6g", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:SubsequentEventsTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_7_30_2024_To_7_30_2024_srt_ShareRepurchaseProgramAxis_dvh_ShareRepurchaseProgramMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_NiEKBzgmKk2HJbJC5wjXJw", "name": "us-gaap:TreasuryStockSharesAcquired", "unitRef": "Unit_Standard_shares_JFaVo9_L60qQRaRqU3pzNQ", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:SubsequentEventsTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240630x10q.htm", "unique": true } } }, "tag": { "us-gaap_AccountingPoliciesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccountingPoliciesAbstract", "lang": { "en-us": { "role": { "label": "Basis of Presentation and Summary of Significant Accounting Policies" } } }, "auth_ref": [] }, "us-gaap_AccountsPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccountsPayableCurrent", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Accounts Payable, Current", "terseLabel": "Trade payables", "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)." } } }, "auth_ref": [ "r48", "r765" ] }, "us-gaap_AccountsReceivableNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccountsReceivableNetCurrent", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Accounts Receivable, after Allowance for Credit Loss, Current", "verboseLabel": "Trade receivables, net of allowances for doubtful accounts of $9,564 and $9,442 as of June 30, 2024 and December 31, 2023, respectively", "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." } } }, "auth_ref": [ "r901" ] }, "us-gaap_AccrualForTaxesOtherThanIncomeTaxesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccrualForTaxesOtherThanIncomeTaxesCurrent", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/DisclosureSupplementalFinancialStatementInformationDetails" ], "lang": { "en-us": { "role": { "label": "Accrual for Taxes Other than Income Taxes, Current", "terseLabel": "Other taxes", "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)." } } }, "auth_ref": [ "r51", "r710", "r973" ] }, "us-gaap_AccruedBonusesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccruedBonusesCurrent", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/DisclosureSupplementalFinancialStatementInformationDetails" ], "lang": { "en-us": { "role": { "label": "Accrued Bonuses, Current", "terseLabel": "Employee commissions and bonuses", "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)." } } }, "auth_ref": [ "r51" ] }, "us-gaap_AccruedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccruedLiabilitiesCurrent", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/DisclosureSupplementalFinancialStatementInformationDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Accrued Liabilities, Current", "terseLabel": "Accrued expenses", "totalLabel": "Total accrued expense", "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)." } } }, "auth_ref": [ "r51" ] }, "us-gaap_AccruedLiabilitiesCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccruedLiabilitiesCurrentAbstract", "presentation": [ "http://www.doubleverify.com/role/DisclosureSupplementalFinancialStatementInformationDetails" ], "lang": { "en-us": { "role": { "label": "Accrued Liabilities, Current [Abstract]", "terseLabel": "Accrued Expenses" } } }, "auth_ref": [] }, "us-gaap_AccruedSalariesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccruedSalariesCurrent", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/DisclosureSupplementalFinancialStatementInformationDetails" ], "lang": { "en-us": { "role": { "label": "Accrued Salaries, Current", "terseLabel": "Payroll and other employee related expense", "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)." } } }, "auth_ref": [ "r51", "r710" ] }, "dvh_AccruedVendorPaymentsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.doubleverify.com/20240630", "localname": "AccruedVendorPaymentsCurrent", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/DisclosureSupplementalFinancialStatementInformationDetails" ], "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" } } }, "auth_ref": [] }, "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment", "negatedLabel": "Less accumulated depreciation and amortization", "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services." } } }, "auth_ref": [ "r30", "r137", "r589" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax", "terseLabel": "Accumulated other comprehensive loss, net of income taxes", "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source." } } }, "auth_ref": [ "r15", "r16", "r65", "r145", "r586", "r609", "r610" ] }, "dvh_ActivationMember": { "xbrltype": "domainItemType", "nsuri": "http://www.doubleverify.com/20240630", "localname": "ActivationMember", "presentation": [ "http://www.doubleverify.com/role/DisclosureRevenueDetails" ], "lang": { "en-us": { "role": { "documentation": "It represents the information pertaining to activation.", "label": "Activation [Member]", "terseLabel": "Activation" } } }, "auth_ref": [] }, "ecd_Additional402vDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "Additional402vDisclosureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Additional 402(v) Disclosure [Text Block]", "terseLabel": "Additional 402(v) Disclosure" } } }, "auth_ref": [ "r817" ] }, "us-gaap_AdditionalFinancialInformationDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AdditionalFinancialInformationDisclosureTextBlock", "presentation": [ "http://www.doubleverify.com/role/DisclosureSupplementalFinancialStatementInformation" ], "lang": { "en-us": { "role": { "label": "Additional Financial Information Disclosure [Text Block]", "terseLabel": "Supplemental Financial Statement Information", "documentation": "The entire disclosures of supplemental information, including descriptions and amounts, related to the balance sheet, income statement, and/or cash flow statement." } } }, "auth_ref": [] }, "us-gaap_AdditionalPaidInCapital": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AdditionalPaidInCapital", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Additional Paid in Capital", "verboseLabel": "Additional paid-in capital", "documentation": "Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock." } } }, "auth_ref": [ "r60", "r765", "r1031" ] }, "us-gaap_AdditionalPaidInCapitalMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AdditionalPaidInCapitalMember", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Additional Paid-in Capital", "terseLabel": "Additional Paid-in Capital", "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." } } }, "auth_ref": [ "r625", "r889", "r890", "r891", "r892", "r975", "r1032" ] }, "ecd_AdjToCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AdjToCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment to Compensation Amount", "terseLabel": "Adjustment to Compensation, Amount" } } }, "auth_ref": [ "r830" ] }, "ecd_AdjToCompAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AdjToCompAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment to Compensation [Axis]", "terseLabel": "Adjustment to Compensation:" } } }, "auth_ref": [ "r830" ] }, "ecd_AdjToNonPeoNeoCompFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AdjToNonPeoNeoCompFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]", "terseLabel": "Adjustment to Non-PEO NEO Compensation Footnote" } } }, "auth_ref": [ "r830" ] }, "ecd_AdjToPeoCompFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AdjToPeoCompFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment To PEO Compensation, Footnote [Text Block]", "terseLabel": "Adjustment To PEO Compensation, Footnote" } } }, "auth_ref": [ "r830" ] }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "APIC, Share-based Payment Arrangement, Increase for Cost Recognition", "terseLabel": "Stock-based compensation expense", "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement." } } }, "auth_ref": [ "r37", "r38", "r392" ] }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "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 income to net cash provided by operating activities" } } }, "auth_ref": [] }, "ecd_AggtChngPnsnValInSummryCompstnTblForAplblYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AggtChngPnsnValInSummryCompstnTblForAplblYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Aggregate Change in Present Value of Accumulated Benefit for All Pension Plans Reported in Summary Compensation Table [Member]", "terseLabel": "Aggregate Change in Present Value of Accumulated Benefit for All Pension Plans Reported in Summary Compensation Table" } } }, "auth_ref": [ "r863" ] }, "ecd_AggtErrCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AggtErrCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Aggregate Erroneous Compensation Amount", "terseLabel": "Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r789", "r799", "r809", "r841" ] }, "ecd_AggtErrCompNotYetDeterminedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AggtErrCompNotYetDeterminedTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]", "terseLabel": "Aggregate Erroneous Compensation Not Yet Determined" } } }, "auth_ref": [ "r792", "r802", "r812", "r844" ] }, "ecd_AggtPnsnAdjsSvcCstMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AggtPnsnAdjsSvcCstMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Aggregate Pension Adjustments Service Cost [Member]", "terseLabel": "Aggregate Pension Adjustments Service Cost" } } }, "auth_ref": [ "r864" ] }, "ecd_AllAdjToCompMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AllAdjToCompMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "All Adjustments to Compensation [Member]", "terseLabel": "All Adjustments to Compensation" } } }, "auth_ref": [ "r830" ] }, "ecd_AllExecutiveCategoriesMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AllExecutiveCategoriesMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "All Executive Categories [Member]", "terseLabel": "All Executive Categories" } } }, "auth_ref": [ "r837" ] }, "ecd_AllIndividualsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AllIndividualsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "All Individuals [Member]", "terseLabel": "All Individuals" } } }, "auth_ref": [ "r793", "r803", "r813", "r837", "r845", "r849", "r857" ] }, "ecd_AllTradingArrangementsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AllTradingArrangementsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "All Trading Arrangements [Member]", "terseLabel": "All Trading Arrangements" } } }, "auth_ref": [ "r855" ] }, "us-gaap_AllocatedShareBasedCompensationExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AllocatedShareBasedCompensationExpense", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Payment Arrangement, Expense", "terseLabel": "Total stock-based compensation", "verboseLabel": "Stock-based compensation expense", "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized." } } }, "auth_ref": [ "r422", "r427" ] }, "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AllowanceForDoubtfulAccountsReceivableCurrent", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnauditedParenthetical" ], "lang": { "en-us": { "role": { "label": "Accounts Receivable, Allowance for Credit Loss, Current", "terseLabel": "Trade receivables, net of allowances", "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current." } } }, "auth_ref": [ "r146", "r232", "r266" ] }, "dei_AmendmentFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "AmendmentFlag", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Amendment Flag", "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission." } } }, "auth_ref": [] }, "dvh_AmortizationOfDebtIssuanceCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://www.doubleverify.com/20240630", "localname": "AmortizationOfDebtIssuanceCosts", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "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" } } }, "auth_ref": [] }, "us-gaap_AmortizationOfIntangibleAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AmortizationOfIntangibleAssets", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Amortization of Intangible Assets", "terseLabel": "Amortization expense", "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." } } }, "auth_ref": [ "r6", "r283", "r290", "r726" ] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "presentation": [ "http://www.doubleverify.com/role/DisclosureEarningsPerShareDetails" ], "lang": { "en-us": { "role": { "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", "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." } } }, "auth_ref": [ "r197" ] }, "us-gaap_AociIncludingPortionAttributableToNoncontrollingInterestMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AociIncludingPortionAttributableToNoncontrollingInterestMember", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Accumulated Other Comprehensive (Loss) Income Net of Income Taxes", "terseLabel": "Accumulated Other Comprehensive (Loss) Income Net of Income Taxes", "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." } } }, "auth_ref": [ "r2", "r8", "r16", "r880", "r881", "r882" ] }, "us-gaap_Assets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "Assets", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Assets", "totalLabel": "Total assets", "documentation": "Amount of asset recognized for present right to economic benefit." } } }, "auth_ref": [ "r98", "r110", "r141", "r168", "r201", "r209", "r221", "r224", "r263", "r315", "r316", "r317", "r318", "r319", "r320", "r321", "r322", "r323", "r460", "r464", "r500", "r581", "r659", "r718", "r719", "r765", "r780", "r942", "r943", "r990" ] }, "us-gaap_AssetsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AssetsAbstract", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Assets [Abstract]", "terseLabel": "Assets:" } } }, "auth_ref": [] }, "us-gaap_AssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AssetsCurrent", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Assets, Current", "totalLabel": "Total current assets", "documentation": "Amount of asset recognized for present right to economic benefit, classified as current." } } }, "auth_ref": [ "r133", "r147", "r168", "r263", "r315", "r316", "r317", "r318", "r319", "r320", "r321", "r322", "r323", "r460", "r464", "r500", "r765", "r942", "r943", "r990" ] }, "us-gaap_AssetsCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AssetsCurrentAbstract", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Assets, Current [Abstract]", "terseLabel": "Current assets" } } }, "auth_ref": [] }, "us-gaap_AssetsFairValueDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AssetsFairValueDisclosureAbstract", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Assets, Fair Value Disclosure [Abstract]", "terseLabel": "Assets:" } } }, "auth_ref": [] }, "ecd_AwardExrcPrice": { "xbrltype": "perShareItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardExrcPrice", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Exercise Price", "terseLabel": "Exercise Price" } } }, "auth_ref": [ "r852" ] }, "ecd_AwardGrantDateFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardGrantDateFairValue", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Grant Date Fair Value", "terseLabel": "Fair Value as of Grant Date" } } }, "auth_ref": [ "r853" ] }, "ecd_AwardTmgDiscLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardTmgDiscLineItems", "lang": { "en-us": { "role": { "label": "Award Timing Disclosures [Line Items]", "terseLabel": "Award Timing Disclosures" } } }, "auth_ref": [ "r848" ] }, "ecd_AwardTmgHowMnpiCnsdrdTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardTmgHowMnpiCnsdrdTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing, How MNPI Considered [Text Block]", "terseLabel": "Award Timing, How MNPI Considered" } } }, "auth_ref": [ "r848" ] }, "ecd_AwardTmgMethodTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardTmgMethodTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing Method [Text Block]", "terseLabel": "Award Timing Method" } } }, "auth_ref": [ "r848" ] }, "ecd_AwardTmgMnpiCnsdrdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardTmgMnpiCnsdrdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing MNPI Considered [Flag]", "terseLabel": "Award Timing MNPI Considered" } } }, "auth_ref": [ "r848" ] }, "ecd_AwardTmgMnpiDiscTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardTmgMnpiDiscTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing MNPI Disclosure [Text Block]", "terseLabel": "Award Timing MNPI Disclosure" } } }, "auth_ref": [ "r848" ] }, "ecd_AwardTmgPredtrmndFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardTmgPredtrmndFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing Predetermined [Flag]", "terseLabel": "Award Timing Predetermined" } } }, "auth_ref": [ "r848" ] }, "us-gaap_AwardTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AwardTypeAxis", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationRsusAndPsusDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationTables", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationValuationAssumptionsDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Type [Axis]", "terseLabel": "Award Type", "documentation": "Information by type of award under share-based payment arrangement." } } }, "auth_ref": [ "r396", "r397", "r398", "r399", "r400", "r401", "r402", "r403", "r404", "r405", "r406", "r407", "r408", "r409", "r410", "r411", "r412", "r413", "r414", "r415", "r416", "r417", "r418", "r419", "r420", "r421" ] }, "ecd_AwardUndrlygSecuritiesAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardUndrlygSecuritiesAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Underlying Securities Amount", "terseLabel": "Underlying Securities" } } }, "auth_ref": [ "r851" ] }, "ecd_AwardsCloseToMnpiDiscIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardsCloseToMnpiDiscIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r850" ] }, "ecd_AwardsCloseToMnpiDiscTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardsCloseToMnpiDiscTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures [Table]", "terseLabel": "Awards Close in Time to MNPI Disclosures" } } }, "auth_ref": [ "r849" ] }, "ecd_AwardsCloseToMnpiDiscTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardsCloseToMnpiDiscTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]", "terseLabel": "Awards Close in Time to MNPI Disclosures, Table" } } }, "auth_ref": [ "r849" ] }, "us-gaap_BaseRateMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BaseRateMember", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Alternate Base Rate", "terseLabel": "Alternate Base Rate", "documentation": "Minimum rate investor will accept." } } }, "auth_ref": [] }, "dvh_BasisOfPreparationAndPrinciplesOfConsolidationPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.doubleverify.com/20240630", "localname": "BasisOfPreparationAndPrinciplesOfConsolidationPolicyTextBlock", "presentation": [ "http://www.doubleverify.com/role/DisclosureBasisOfPresentationAndSummaryOfSignificantAccountingPoliciesPolicies" ], "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" } } }, "auth_ref": [] }, "us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "presentation": [ "http://www.doubleverify.com/role/DisclosureBasisOfPresentationAndSummaryOfSignificantAccountingPolicies" ], "lang": { "en-us": { "role": { "label": "Basis of Presentation and Significant Accounting Policies [Text Block]", "terseLabel": "Basis of Presentation and Summary of Significant Accounting Policies", "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." } } }, "auth_ref": [ "r80" ] }, "us-gaap_BusinessAcquisitionAcquireeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessAcquisitionAcquireeDomain", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsAcquisitionDetails", "http://www.doubleverify.com/role/DisclosureDescriptionOfBusinessDetails" ], "lang": { "en-us": { "role": { "label": "Business Acquisition, Acquiree [Domain]", "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." } } }, "auth_ref": [ "r284", "r285", "r286", "r287", "r288", "r455", "r743", "r744" ] }, "us-gaap_BusinessAcquisitionAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessAcquisitionAxis", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsAcquisitionDetails", "http://www.doubleverify.com/role/DisclosureDescriptionOfBusinessDetails" ], "lang": { "en-us": { "role": { "label": "Business Acquisition [Axis]", "documentation": "Information by business combination or series of individually immaterial business combinations." } } }, "auth_ref": [ "r39", "r41", "r284", "r285", "r286", "r287", "r288", "r455", "r743", "r744" ] }, "us-gaap_BusinessAcquisitionLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessAcquisitionLineItems", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsAcquisitionDetails", "http://www.doubleverify.com/role/DisclosureDescriptionOfBusinessDetails" ], "lang": { "en-us": { "role": { "label": "Business Acquisition [Line Items]", "terseLabel": "Business Combinations", "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." } } }, "auth_ref": [ "r455" ] }, "us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessAcquisitionPercentageOfVotingInterestsAcquired", "presentation": [ "http://www.doubleverify.com/role/DisclosureDescriptionOfBusinessDetails" ], "lang": { "en-us": { "role": { "label": "Business Acquisition, Percentage of Voting Interests Acquired", "terseLabel": "Ownership percentage acquired", "documentation": "Percentage of voting equity interests acquired at the acquisition date in the business combination." } } }, "auth_ref": [ "r40" ] }, "us-gaap_BusinessCombinationDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessCombinationDisclosureTextBlock", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinations" ], "lang": { "en-us": { "role": { "label": "Business Combination Disclosure [Text Block]", "terseLabel": "Business Combinations", "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)." } } }, "auth_ref": [ "r94", "r456" ] }, "us-gaap_BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentConsiderationTransferred": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentConsiderationTransferred", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsAcquisitionDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Provisional Information, Initial Accounting Incomplete, Adjustment, Consideration Transferred", "terseLabel": "Purchase consideration", "documentation": "This element represents the amount of any measurement period adjustment (as defined) realized during the reporting period to items of consideration transferred in connection with a business combination for which the initial accounting was incomplete." } } }, "auth_ref": [ "r42" ] }, "us-gaap_BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentsRelatedToPreviousPeriod": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentsRelatedToPreviousPeriod", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsAcquisitionDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Provisional Information, Initial Accounting Incomplete, Adjustments Related to Previous Period", "terseLabel": "Measurement period adjustments recorded", "documentation": "Amount of increase (decrease) in income that would have been recognized in previous periods if the adjustments to provisional amounts were recognized as of the acquisition date." } } }, "auth_ref": [ "r454" ] }, "us-gaap_BusinessCombinationsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessCombinationsAbstract", "lang": { "en-us": { "role": { "label": "Business Combinations" } } }, "auth_ref": [] }, "us-gaap_CapitalExpendituresIncurredButNotYetPaid": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CapitalExpendituresIncurredButNotYetPaid", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Capital Expenditures Incurred but Not yet Paid", "verboseLabel": "Capital assets financed by accounts payable and accrued expenses", "documentation": "Future cash outflow to pay for purchases of fixed assets that have occurred." } } }, "auth_ref": [ "r22", "r23", "r24" ] }, "us-gaap_CapitalLeaseObligationsIncurred": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CapitalLeaseObligationsIncurred", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Lease Obligation Incurred", "terseLabel": "Acquisition of equipment under finance lease", "documentation": "Amount of increase in lease obligation from new lease." } } }, "auth_ref": [ "r22", "r23" ] }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CashAndCashEquivalentsAtCarryingValue", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnauditeds" ], "lang": { "en-us": { "role": { "label": "Cash and Cash Equivalents, at Carrying Value", "verboseLabel": "Cash and cash equivalents", "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." } } }, "auth_ref": [ "r20", "r135", "r709" ] }, "us-gaap_CashAndCashEquivalentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CashAndCashEquivalentsAxis", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "Cash and Cash Equivalents [Axis]", "documentation": "Information by type of cash and cash equivalent balance." } } }, "auth_ref": [ "r135" ] }, "us-gaap_CashAndCashEquivalentsFairValueDisclosure": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CashAndCashEquivalentsFairValueDisclosure", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails", "http://www.doubleverify.com/role/DisclosureFairValueMeasurementNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "Cash and Cash Equivalents, Fair Value Disclosure", "terseLabel": "Cash equivalents", "verboseLabel": "Cash equivalents", "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." } } }, "auth_ref": [ "r977", "r978" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnauditeds" ], "lang": { "en-us": { "role": { "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", "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." } } }, "auth_ref": [ "r20", "r77", "r165" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect", "totalLabel": "Net (decrease) increase in cash, cash equivalents, and restricted cash", "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." } } }, "auth_ref": [ "r1", "r77" ] }, "ecd_ChangedPeerGroupFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ChangedPeerGroupFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Changed Peer Group, Footnote [Text Block]", "terseLabel": "Changed Peer Group, Footnote" } } }, "auth_ref": [ "r828" ] }, "ecd_ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year [Member]", "terseLabel": "Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year" } } }, "auth_ref": [ "r825" ] }, "ecd_ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested [Member]", "terseLabel": "Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested" } } }, "auth_ref": [ "r823" ] }, "dei_CityAreaCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "CityAreaCode", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "City Area Code", "documentation": "Area code of city" } } }, "auth_ref": [] }, "us-gaap_ClassOfStockDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ClassOfStockDomain", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Class of Stock [Domain]", "documentation": "Share of stock differentiated by the voting rights the holder receives. Examples include, but are not limited to, common stock, redeemable preferred stock, nonredeemable preferred stock, and convertible stock." } } }, "auth_ref": [ "r123", "r142", "r143", "r144", "r168", "r188", "r192", "r194", "r196", "r203", "r204", "r263", "r315", "r317", "r318", "r319", "r322", "r323", "r353", "r354", "r356", "r359", "r366", "r500", "r618", "r619", "r620", "r621", "r625", "r626", "r627", "r628", "r629", "r630", "r631", "r632", "r633", "r634", "r635", "r636", "r647", "r668", "r687", "r699", "r700", "r701", "r702", "r703", "r867", "r886", "r893" ] }, "ecd_CoSelectedMeasureAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "CoSelectedMeasureAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Company Selected Measure Amount", "terseLabel": "Company Selected Measure Amount" } } }, "auth_ref": [ "r829" ] }, "ecd_CoSelectedMeasureName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "CoSelectedMeasureName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Company Selected Measure Name", "terseLabel": "Company Selected Measure Name" } } }, "auth_ref": [ "r829" ] }, "us-gaap_CommitmentsAndContingencies": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommitmentsAndContingencies", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Commitments and Contingencies", "terseLabel": "Commitments and contingencies (Note 15)", "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." } } }, "auth_ref": [ "r56", "r101", "r583", "r646" ] }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommitmentsAndContingenciesDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Commitments and Contingencies." } } }, "auth_ref": [] }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommitmentsAndContingenciesDisclosureTextBlock", "presentation": [ "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingencies" ], "lang": { "en-us": { "role": { "label": "Commitments and Contingencies Disclosure [Text Block]", "terseLabel": "Commitments and Contingencies", "documentation": "The entire disclosure for commitments and contingencies." } } }, "auth_ref": [ "r85", "r304", "r306", "r705", "r934", "r939" ] }, "us-gaap_CommonStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommonStockMember", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Common Stock", "terseLabel": "Common Stock", "documentation": "Stock that is subordinate to all other stock of the issuer." } } }, "auth_ref": [ "r770", "r771", "r772", "r774", "r775", "r776", "r777", "r889", "r890", "r892", "r975", "r1030", "r1032" ] }, "us-gaap_CommonStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommonStockParOrStatedValuePerShare", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnauditedParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock, Par or Stated Value Per Share", "terseLabel": "Common stock, par value", "documentation": "Face amount or stated value per share of common stock." } } }, "auth_ref": [ "r59" ] }, "us-gaap_CommonStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommonStockSharesAuthorized", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnauditedParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock, Shares Authorized", "terseLabel": "Common stock, shares authorized", "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws." } } }, "auth_ref": [ "r59", "r647" ] }, "us-gaap_CommonStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommonStockSharesIssued", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnauditedParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock, Shares, Issued", "terseLabel": "Common stock, shares issued", "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." } } }, "auth_ref": [ "r59" ] }, "us-gaap_CommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommonStockSharesOutstanding", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnauditedParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock, Shares, Outstanding", "terseLabel": "Common stock, shares outstanding", "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation." } } }, "auth_ref": [ "r9", "r59", "r647", "r665", "r1032", "r1033" ] }, "us-gaap_CommonStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommonStockValue", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Common Stock, Value, Issued", "verboseLabel": "Common stock, $0.001 par value, 1,000,000 shares authorized, 172,634 shares issued and 171,244 outstanding as of June 30, 2024; 1,000,000 shares authorized, 171,168 shares issued and 171,146 outstanding as of December 31, 2023", "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." } } }, "auth_ref": [ "r59", "r585", "r765" ] }, "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "CompActuallyPaidVsCoSelectedMeasureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]", "terseLabel": "Compensation Actually Paid vs. Company Selected Measure" } } }, "auth_ref": [ "r834" ] }, "ecd_CompActuallyPaidVsNetIncomeTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "CompActuallyPaidVsNetIncomeTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Net Income [Text Block]", "terseLabel": "Compensation Actually Paid vs. Net Income" } } }, "auth_ref": [ "r833" ] }, "ecd_CompActuallyPaidVsOtherMeasureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "CompActuallyPaidVsOtherMeasureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Other Measure [Text Block]", "terseLabel": "Compensation Actually Paid vs. Other Measure" } } }, "auth_ref": [ "r835" ] }, "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "CompActuallyPaidVsTotalShareholderRtnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]", "terseLabel": "Compensation Actually Paid vs. Total Shareholder Return" } } }, "auth_ref": [ "r832" ] }, "us-gaap_ComprehensiveIncomeNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ComprehensiveIncomeNetOfTax", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeUnaudited" ], "lang": { "en-us": { "role": { "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent", "totalLabel": "Total comprehensive income", "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." } } }, "auth_ref": [ "r17", "r149", "r151", "r155", "r577", "r596", "r597" ] }, "us-gaap_ComprehensiveIncomeNetOfTaxAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ComprehensiveIncomeNetOfTaxAbstract", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeUnaudited" ], "lang": { "en-us": { "role": { "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent [Abstract]", "terseLabel": "Comprehensive income:" } } }, "auth_ref": [] }, "us-gaap_ComputerEquipmentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ComputerEquipmentMember", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Computers and peripheral equipment", "terseLabel": "Computers and Peripheral Equipment", "documentation": "Long lived, depreciable assets that are used in the creation, maintenance and utilization of information systems." } } }, "auth_ref": [] }, "us-gaap_CostOfGoodsAndServicesSold": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CostOfGoodsAndServicesSold", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeUnaudited" ], "lang": { "en-us": { "role": { "label": "Cost of Goods and Services Sold", "terseLabel": "Cost of revenue (exclusive of depreciation and amortization shown separately below)", "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." } } }, "auth_ref": [ "r67", "r68", "r571" ] }, "dei_CoverAbstract": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "CoverAbstract", "lang": { "en-us": { "role": { "label": "Document and Entity Information [Abstract]", "documentation": "Cover page." } } }, "auth_ref": [] }, "us-gaap_CreditFacilityAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CreditFacilityAxis", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Credit Facility [Axis]", "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing." } } }, "auth_ref": [ "r314", "r940" ] }, "us-gaap_CreditFacilityDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CreditFacilityDomain", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Credit Facility [Domain]", "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing." } } }, "auth_ref": [ "r314", "r940", "r941" ] }, "dei_CurrentFiscalYearEndDate": { "xbrltype": "gMonthDayItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "CurrentFiscalYearEndDate", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Current Fiscal Year End Date", "documentation": "End date of current fiscal year in the format --MM-DD." } } }, "auth_ref": [] }, "us-gaap_CustomerRelationshipsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CustomerRelationshipsMember", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails", "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsWeightedAverageRemainingUsefulLifeDetails" ], "lang": { "en-us": { "role": { "label": "Customer relationships", "terseLabel": "Customer relationships", "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships." } } }, "auth_ref": [ "r45", "r920", "r922", "r923", "r924", "r926", "r928", "r931", "r932" ] }, "us-gaap_DebtDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DebtDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Long-term Debt." } } }, "auth_ref": [] }, "us-gaap_DebtDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DebtDisclosureTextBlock", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebt" ], "lang": { "en-us": { "role": { "label": "Debt Disclosure [Text Block]", "terseLabel": "Long-term Debt", "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." } } }, "auth_ref": [ "r86", "r166", "r297", "r298", "r299", "r300", "r301", "r313", "r314", "r324", "r330", "r331", "r332", "r333", "r334", "r335", "r340", "r347", "r348", "r350", "r514" ] }, "us-gaap_DebtInstrumentAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DebtInstrumentAxis", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument [Axis]", "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities." } } }, "auth_ref": [ "r14", "r50", "r51", "r99", "r100", "r170", "r325", "r326", "r327", "r328", "r329", "r331", "r336", "r337", "r338", "r339", "r341", "r342", "r343", "r344", "r345", "r346", "r727", "r728", "r729", "r730", "r731", "r763", "r887", "r935", "r936", "r937", "r985", "r986" ] }, "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DebtInstrumentBasisSpreadOnVariableRate1", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Basis Spread on Variable Rate", "terseLabel": "Spread rate", "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument." } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentFaceAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DebtInstrumentFaceAmount", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Face Amount", "terseLabel": "Aggregate principal amount", "documentation": "Face (par) amount of debt instrument at time of issuance." } } }, "auth_ref": [ "r325", "r514", "r515", "r728", "r729", "r763" ] }, "us-gaap_DebtInstrumentLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DebtInstrumentLineItems", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument [Line Items]", "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." } } }, "auth_ref": [ "r170", "r325", "r326", "r327", "r328", "r329", "r331", "r336", "r337", "r338", "r339", "r341", "r342", "r343", "r344", "r345", "r346", "r349", "r727", "r728", "r729", "r730", "r731", "r763", "r887", "r985", "r986" ] }, "us-gaap_DebtInstrumentNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DebtInstrumentNameDomain", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Name [Domain]", "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities." } } }, "auth_ref": [ "r14", "r170", "r325", "r326", "r327", "r328", "r329", "r331", "r336", "r337", "r338", "r339", "r341", "r342", "r343", "r344", "r345", "r346", "r727", "r728", "r729", "r730", "r731", "r763", "r887", "r935", "r936", "r937", "r985", "r986" ] }, "us-gaap_DebtInstrumentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DebtInstrumentTable", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Long-term Debt Instruments [Table]", "documentation": "Disclosure of information about long-term debt instrument or arrangement." } } }, "auth_ref": [ "r14", "r31", "r32", "r46", "r88", "r89", "r170", "r325", "r326", "r327", "r328", "r329", "r331", "r336", "r337", "r338", "r339", "r341", "r342", "r343", "r344", "r345", "r346", "r349", "r727", "r728", "r729", "r730", "r731", "r763", "r887", "r985", "r986" ] }, "us-gaap_DeferredIncomeTaxAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DeferredIncomeTaxAssetsNet", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Deferred Income Tax Assets, Net", "terseLabel": "Deferred tax assets", "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting." } } }, "auth_ref": [ "r431", "r432" ] }, "dvh_DeferredIncomeTaxExpenseBenefitAndAdjustments": { "xbrltype": "monetaryItemType", "nsuri": "http://www.doubleverify.com/20240630", "localname": "DeferredIncomeTaxExpenseBenefitAndAdjustments", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "documentation": "Amount of deferred income tax expense (benefit) and adjustments pertaining to income (loss) from continuing operations.", "label": "Deferred Income Tax Expense (Benefit) and Adjustments", "terseLabel": "Deferred taxes" } } }, "auth_ref": [] }, "us-gaap_DeferredIncomeTaxLiabilitiesNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DeferredIncomeTaxLiabilitiesNet", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Deferred Income Tax Liabilities, Net", "terseLabel": "Deferred tax liabilities", "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting." } } }, "auth_ref": [ "r431", "r432", "r582" ] }, "us-gaap_Depreciation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "Depreciation", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Depreciation", "terseLabel": "Depreciation expense", "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." } } }, "auth_ref": [ "r6", "r29" ] }, "us-gaap_DepreciationAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DepreciationAndAmortization", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeUnaudited" ], "lang": { "en-us": { "role": { "label": "Depreciation, Depletion and Amortization, Nonproduction", "terseLabel": "Depreciation and amortization", "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." } } }, "auth_ref": [ "r6", "r29" ] }, "us-gaap_DepreciationDepletionAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DepreciationDepletionAndAmortization", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Depreciation, Depletion and Amortization", "terseLabel": "Depreciation and amortization expense", "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." } } }, "auth_ref": [ "r6", "r201", "r214", "r224", "r718", "r719" ] }, "us-gaap_DevelopedTechnologyRightsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DevelopedTechnologyRightsMember", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails", "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsWeightedAverageRemainingUsefulLifeDetails" ], "lang": { "en-us": { "role": { "label": "Developed technology", "terseLabel": "Developed Technology", "documentation": "Rights to developed technology, which can include the right to develop, use, market, sell, or offer for sale products, compounds, or intellectual property." } } }, "auth_ref": [ "r95", "r920", "r922", "r923", "r924", "r926", "r928", "r931", "r932" ] }, "us-gaap_DisaggregationOfRevenueLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DisaggregationOfRevenueLineItems", "presentation": [ "http://www.doubleverify.com/role/DisclosureRevenueDetails" ], "lang": { "en-us": { "role": { "label": "Disaggregation of Revenue [Line Items]", "terseLabel": "Disaggregation of revenue", "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." } } }, "auth_ref": [ "r377", "r733", "r734", "r735", "r736", "r737", "r738", "r739" ] }, "us-gaap_DisaggregationOfRevenueTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DisaggregationOfRevenueTable", "presentation": [ "http://www.doubleverify.com/role/DisclosureRevenueDetails" ], "lang": { "en-us": { "role": { "label": "Disaggregation of Revenue [Table]", "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." } } }, "auth_ref": [ "r377", "r733", "r734", "r735", "r736", "r737", "r738", "r739" ] }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DisaggregationOfRevenueTableTextBlock", "presentation": [ "http://www.doubleverify.com/role/DisclosureRevenueTables" ], "lang": { "en-us": { "role": { "label": "Disaggregation of Revenue [Table Text Block]", "terseLabel": "Schedule of disaggregated revenue", "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." } } }, "auth_ref": [ "r946" ] }, "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensation" ], "lang": { "en-us": { "role": { "label": "Share-based Payment Arrangement [Text Block]", "terseLabel": "Stock-Based Compensation", "documentation": "The entire disclosure for share-based payment arrangement." } } }, "auth_ref": [ "r390", "r395", "r423", "r424", "r426", "r746" ] }, "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract", "lang": { "en-us": { "role": { "label": "Stock-Based Compensation" } } }, "auth_ref": [] }, "us-gaap_DisclosureTextBlockSupplementAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DisclosureTextBlockSupplementAbstract", "lang": { "en-us": { "role": { "label": "Supplemental Financial Statement Information" } } }, "auth_ref": [] }, "dei_DocumentFiscalPeriodFocus": { "xbrltype": "fiscalPeriodItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "DocumentFiscalPeriodFocus", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Fiscal Period Focus", "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." } } }, "auth_ref": [] }, "dei_DocumentFiscalYearFocus": { "xbrltype": "gYearItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "DocumentFiscalYearFocus", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Fiscal Year Focus", "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." } } }, "auth_ref": [] }, "dei_DocumentPeriodEndDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "DocumentPeriodEndDate", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Period End Date", "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD." } } }, "auth_ref": [] }, "dei_DocumentQuarterlyReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "DocumentQuarterlyReport", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Quarterly Report", "documentation": "Boolean flag that is true only for a form used as an quarterly report." } } }, "auth_ref": [ "r784" ] }, "dei_DocumentTransitionReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "DocumentTransitionReport", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Transition Report", "documentation": "Boolean flag that is true only for a form used as a transition report." } } }, "auth_ref": [ "r816" ] }, "dei_DocumentType": { "xbrltype": "submissionTypeItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "DocumentType", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Type", "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'." } } }, "auth_ref": [] }, "dvh_DoubleverifyInc.Member": { "xbrltype": "domainItemType", "nsuri": "http://www.doubleverify.com/20240630", "localname": "DoubleverifyInc.Member", "presentation": [ "http://www.doubleverify.com/role/DisclosureDescriptionOfBusinessDetails" ], "lang": { "en-us": { "role": { "documentation": "Information relating to Double verify Inc.", "label": "DoubleVerify Inc.", "terseLabel": "DoubleVerify Inc." } } }, "auth_ref": [] }, "ecd_DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year [Member]", "terseLabel": "Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year" } } }, "auth_ref": [ "r827" ] }, "us-gaap_EarningsPerShareAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EarningsPerShareAbstract", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeUnaudited" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share", "terseLabel": "Earnings per share:" } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareBasic": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EarningsPerShareBasic", "presentation": [ "http://www.doubleverify.com/role/DisclosureEarningsPerShareDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeUnaudited" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Basic", "terseLabel": "Basic", "verboseLabel": "Basic earnings per share", "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period." } } }, "auth_ref": [ "r156", "r176", "r177", "r178", "r179", "r180", "r181", "r186", "r188", "r194", "r195", "r196", "r200", "r452", "r458", "r475", "r476", "r578", "r598", "r712" ] }, "us-gaap_EarningsPerShareDiluted": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EarningsPerShareDiluted", "presentation": [ "http://www.doubleverify.com/role/DisclosureEarningsPerShareDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeUnaudited" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Diluted", "terseLabel": "Diluted", "verboseLabel": "Diluted earnings per share", "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." } } }, "auth_ref": [ "r156", "r176", "r177", "r178", "r179", "r180", "r181", "r188", "r194", "r195", "r196", "r200", "r452", "r458", "r475", "r476", "r578", "r598", "r712" ] }, "us-gaap_EarningsPerShareTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EarningsPerShareTextBlock", "presentation": [ "http://www.doubleverify.com/role/DisclosureEarningsPerShare" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share [Text Block]", "terseLabel": "Earnings Per Share", "documentation": "The entire disclosure for earnings per share." } } }, "auth_ref": [ "r185", "r197", "r198", "r199" ] }, "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "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", "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." } } }, "auth_ref": [ "r505" ] }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EffectiveIncomeTaxRateContinuingOperations", "presentation": [ "http://www.doubleverify.com/role/DisclosureIncomeTaxDetails" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation, Percent", "terseLabel": "Effective tax rate", "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r434", "r748" ] }, "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]", "terseLabel": "Share-based payment arrangements information", "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." } } }, "auth_ref": [] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount", "terseLabel": "Unrecognized stock-based compensation expense", "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement." } } }, "auth_ref": [ "r425" ] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "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", "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." } } }, "auth_ref": [ "r425" ] }, "us-gaap_EmployeeStockOptionMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EmployeeStockOptionMember", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Employee Stock Option [Member]", "terseLabel": "Employee Stock Option", "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." } } }, "auth_ref": [] }, "dvh_EmployeeStockPurchasePlan2021Member": { "xbrltype": "domainItemType", "nsuri": "http://www.doubleverify.com/20240630", "localname": "EmployeeStockPurchasePlan2021Member", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to 2021 Employee Stock Purchase Plan.", "label": "2021 Employee Stock Purchase Plan", "terseLabel": "2021 Employee Stock Purchase Plan" } } }, "auth_ref": [] }, "dei_EntityAddressAddressLine1": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityAddressAddressLine1", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address, Address Line One", "documentation": "Address Line 1 such as Attn, Building Name, Street Name" } } }, "auth_ref": [] }, "dei_EntityAddressCityOrTown": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityAddressCityOrTown", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address, City or Town", "documentation": "Name of the City or Town" } } }, "auth_ref": [] }, "dei_EntityAddressPostalZipCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityAddressPostalZipCode", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address, Postal Zip Code", "documentation": "Code for the postal or zip code" } } }, "auth_ref": [] }, "dei_EntityAddressStateOrProvince": { "xbrltype": "stateOrProvinceItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityAddressStateOrProvince", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address State Or Province", "documentation": "Name of the state or province." } } }, "auth_ref": [] }, "dei_EntityCentralIndexKey": { "xbrltype": "centralIndexKeyItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityCentralIndexKey", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Central Index Key", "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK." } } }, "auth_ref": [ "r782" ] }, "dei_EntityCommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityCommonStockSharesOutstanding", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Common Stock, Shares Outstanding", "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." } } }, "auth_ref": [] }, "dei_EntityCurrentReportingStatus": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityCurrentReportingStatus", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Current Reporting Status", "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." } } }, "auth_ref": [] }, "dei_EntityEmergingGrowthCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityEmergingGrowthCompany", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Emerging Growth Company", "documentation": "Indicate if registrant meets the emerging growth company criteria." } } }, "auth_ref": [ "r782" ] }, "dei_EntityFileNumber": { "xbrltype": "fileNumberItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityFileNumber", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity File Number", "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." } } }, "auth_ref": [] }, "dei_EntityFilerCategory": { "xbrltype": "filerCategoryItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityFilerCategory", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Filer Category", "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." } } }, "auth_ref": [ "r782" ] }, "dei_EntityIncorporationStateCountryCode": { "xbrltype": "edgarStateCountryItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityIncorporationStateCountryCode", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Incorporation, State or Country Code", "documentation": "Two-character EDGAR code representing the state or country of incorporation." } } }, "auth_ref": [] }, "dei_EntityInteractiveDataCurrent": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityInteractiveDataCurrent", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Interactive Data Current", "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)." } } }, "auth_ref": [ "r866" ] }, "dei_EntityRegistrantName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityRegistrantName", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Registrant Name", "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC." } } }, "auth_ref": [ "r782" ] }, "dei_EntityShellCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityShellCompany", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Shell Company", "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act." } } }, "auth_ref": [ "r782" ] }, "dei_EntitySmallBusiness": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntitySmallBusiness", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Small Business", "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)." } } }, "auth_ref": [ "r782" ] }, "dei_EntityTaxIdentificationNumber": { "xbrltype": "employerIdItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityTaxIdentificationNumber", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Tax Identification Number", "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS." } } }, "auth_ref": [ "r782" ] }, "ecd_EqtyAwrdsAdjFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "EqtyAwrdsAdjFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Equity Awards Adjustments, Footnote [Text Block]", "terseLabel": "Equity Awards Adjustments, Footnote" } } }, "auth_ref": [ "r821" ] }, "ecd_EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Equity Awards Adjustments, Excluding Value Reported in the Compensation Table [Member]", "terseLabel": "Equity Awards Adjustments, Excluding Value Reported in Compensation Table" } } }, "auth_ref": [ "r862" ] }, "ecd_EqtyAwrdsAdjsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "EqtyAwrdsAdjsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Equity Awards Adjustments [Member]", "terseLabel": "Equity Awards Adjustments" } } }, "auth_ref": [ "r862" ] }, "ecd_EqtyAwrdsInSummryCompstnTblForAplblYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "EqtyAwrdsInSummryCompstnTblForAplblYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table [Member]", "terseLabel": "Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table" } } }, "auth_ref": [ "r862" ] }, "us-gaap_EquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EquityAbstract", "lang": { "en-us": { "role": { "label": "Stockholders' Equity" } } }, "auth_ref": [] }, "us-gaap_EquityComponentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EquityComponentDomain", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Equity Component [Domain]", "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." } } }, "auth_ref": [ "r9", "r131", "r152", "r153", "r154", "r171", "r172", "r173", "r175", "r180", "r182", "r184", "r202", "r264", "r265", "r295", "r367", "r442", "r443", "r449", "r450", "r451", "r453", "r457", "r458", "r466", "r467", "r468", "r469", "r470", "r471", "r474", "r506", "r507", "r508", "r509", "r510", "r511", "r516", "r517", "r535", "r594", "r605", "r606", "r607", "r625", "r687" ] }, "dvh_EquityIncentiveProgramMember": { "xbrltype": "domainItemType", "nsuri": "http://www.doubleverify.com/20240630", "localname": "EquityIncentiveProgramMember", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to Equity Incentive Program.", "label": "Equity Incentive Program", "terseLabel": "Equity Incentive Program" } } }, "auth_ref": [] }, "ecd_EquityValuationAssumptionDifferenceFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "EquityValuationAssumptionDifferenceFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Equity Valuation Assumption Difference, Footnote [Text Block]", "terseLabel": "Equity Valuation Assumption Difference, Footnote" } } }, "auth_ref": [ "r831" ] }, "ecd_ErrCompAnalysisTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ErrCompAnalysisTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Erroneous Compensation Analysis [Text Block]", "terseLabel": "Erroneous Compensation Analysis" } } }, "auth_ref": [ "r789", "r799", "r809", "r841" ] }, "ecd_ErrCompRecoveryTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ErrCompRecoveryTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Erroneously Awarded Compensation Recovery [Table]", "terseLabel": "Erroneously Awarded Compensation Recovery" } } }, "auth_ref": [ "r786", "r796", "r806", "r838" ] }, "ecd_ExecutiveCategoryAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ExecutiveCategoryAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Executive Category [Axis]", "terseLabel": "Executive Category:" } } }, "auth_ref": [ "r837" ] }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails", "http://www.doubleverify.com/role/DisclosureFairValueMeasurementNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]", "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." } } }, "auth_ref": [ "r478", "r479", "r492", "r751" ] }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails", "http://www.doubleverify.com/role/DisclosureFairValueMeasurementNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value, Recurring and Nonrecurring [Table]", "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis." } } }, "auth_ref": [ "r478", "r479", "r492", "r751" ] }, "us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Asset Class [Domain]", "documentation": "Class of asset." } } }, "auth_ref": [ "r483", "r484", "r485", "r486", "r487", "r488", "r493", "r754" ] }, "us-gaap_FairValueByAssetClassAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueByAssetClassAxis", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Asset Class [Axis]", "documentation": "Information by class of asset." } } }, "auth_ref": [ "r483", "r484", "r485", "r486", "r487", "r488", "r493", "r754" ] }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueByFairValueHierarchyLevelAxis", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails", "http://www.doubleverify.com/role/DisclosureFairValueMeasurementNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value Hierarchy and NAV [Axis]", "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient." } } }, "auth_ref": [ "r338", "r383", "r384", "r385", "r386", "r387", "r388", "r477", "r479", "r480", "r481", "r482", "r491", "r492", "r494", "r542", "r543", "r544", "r728", "r729", "r740", "r741", "r742", "r751", "r756" ] }, "us-gaap_FairValueByMeasurementFrequencyAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueByMeasurementFrequencyAxis", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Measurement Frequency [Axis]", "documentation": "Information by measurement frequency." } } }, "auth_ref": [ "r478", "r479", "r480", "r482", "r751", "r980", "r983" ] }, "us-gaap_FairValueDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueDisclosuresAbstract", "lang": { "en-us": { "role": { "label": "Fair Value Measurement" } } }, "auth_ref": [] }, "us-gaap_FairValueDisclosuresTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueDisclosuresTextBlock", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurement" ], "lang": { "en-us": { "role": { "label": "Fair Value Disclosures [Text Block]", "terseLabel": "Fair Value Measurement", "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." } } }, "auth_ref": [ "r487", "r489", "r490", "r491", "r494", "r495", "r496", "r497", "r498", "r574", "r751", "r757" ] }, "us-gaap_FairValueInputsLevel1Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueInputsLevel1Member", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails", "http://www.doubleverify.com/role/DisclosureFairValueMeasurementNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "Level 1", "terseLabel": "Level 1", "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date." } } }, "auth_ref": [ "r338", "r383", "r388", "r479", "r492", "r542", "r740", "r741", "r742", "r751" ] }, "us-gaap_FairValueMeasurementFrequencyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueMeasurementFrequencyDomain", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Measurement Frequency [Domain]", "documentation": "Measurement frequency." } } }, "auth_ref": [ "r478", "r479", "r480", "r482", "r751", "r980", "r983" ] }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueMeasurementsFairValueHierarchyDomain", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails", "http://www.doubleverify.com/role/DisclosureFairValueMeasurementNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value Hierarchy and NAV [Domain]", "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value." } } }, "auth_ref": [ "r338", "r383", "r384", "r385", "r386", "r387", "r388", "r477", "r479", "r480", "r481", "r482", "r491", "r492", "r494", "r542", "r543", "r544", "r728", "r729", "r740", "r741", "r742", "r751", "r756" ] }, "us-gaap_FairValueMeasurementsRecurringMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueMeasurementsRecurringMember", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Recurring", "terseLabel": "Recurring", "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." } } }, "auth_ref": [ "r751", "r977", "r978", "r979", "r980", "r981", "r983" ] }, "dvh_FinanceLeaseCostsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.doubleverify.com/20240630", "localname": "FinanceLeaseCostsAbstract", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeasesLeasesCostDetails" ], "lang": { "en-us": { "role": { "documentation": "No definition available.", "label": "Finance Lease Costs [Abstract]", "terseLabel": "Finance lease cost" } } }, "auth_ref": [] }, "us-gaap_FinanceLeaseInterestExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FinanceLeaseInterestExpense", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeasesLeasesCostDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Interest Expense", "terseLabel": "Interest on finance lease liabilities (3)", "documentation": "Amount of interest expense on finance lease liability." } } }, "auth_ref": [ "r520", "r525", "r764" ] }, "us-gaap_FinanceLeaseInterestPaymentOnLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FinanceLeaseInterestPaymentOnLiability", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeasesLeasesCostDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Interest Payment on Liability", "terseLabel": "Operating cash outflows from finance leases", "documentation": "Amount of interest paid on finance lease liability." } } }, "auth_ref": [ "r522", "r529" ] }, "us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FinanceLeaseLiabilitiesPaymentsDueAbstract", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeasesMaturitiesOfFinanceLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Liability, Payment, Due [Abstract]", "terseLabel": "Maturities of finance lease liabilities" } } }, "auth_ref": [] }, "us-gaap_FinanceLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FinanceLeaseLiability", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeasesMaturitiesOfFinanceLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Liability", "verboseLabel": "Present value of total lease payments", "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease." } } }, "auth_ref": [ "r519", "r533" ] }, "us-gaap_FinanceLeaseLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FinanceLeaseLiabilityCurrent", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Liability, Current", "terseLabel": "Current portion of finance lease obligations", "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as current." } } }, "auth_ref": [ "r519" ] }, "us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FinanceLeaseLiabilityMaturityTableTextBlock", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeasesTables" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Liability, Fiscal Year Maturity [Table Text Block]", "terseLabel": "Schedule of maturities of finance lease liabilities", "documentation": "Tabular disclosure of undiscounted cash flows of finance lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to finance lease liability recognized in statement of financial position." } } }, "auth_ref": [ "r989" ] }, "us-gaap_FinanceLeaseLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FinanceLeaseLiabilityNoncurrent", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Liability, Noncurrent", "terseLabel": "Finance lease obligations", "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as noncurrent." } } }, "auth_ref": [ "r519" ] }, "us-gaap_FinanceLeaseLiabilityPaymentsDue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FinanceLeaseLiabilityPaymentsDue", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeasesMaturitiesOfFinanceLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Liability, Payment, Due", "totalLabel": "Total lease payments", "documentation": "Amount of lessee's undiscounted obligation for lease payments for finance lease." } } }, "auth_ref": [ "r533" ] }, "us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FinanceLeaseLiabilityPaymentsDueNextTwelveMonths", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeasesMaturitiesOfFinanceLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Liability, to be Paid, Year One", "terseLabel": "2025", "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r533" ] }, "us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FinanceLeaseLiabilityPaymentsDueYearTwo", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeasesMaturitiesOfFinanceLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Liability, to be Paid, Year Two", "terseLabel": "2026", "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r533" ] }, "us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeasesMaturitiesOfFinanceLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Liability, to be Paid, Remainder of Fiscal Year", "terseLabel": "2024 (for remaining six months)", "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in remainder of current fiscal year." } } }, "auth_ref": [ "r989" ] }, "us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FinanceLeaseLiabilityUndiscountedExcessAmount", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeasesMaturitiesOfFinanceLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Liability, Undiscounted Excess Amount", "negatedLabel": "Less amount representing interest", "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for finance lease." } } }, "auth_ref": [ "r533" ] }, "us-gaap_FinanceLeasePrincipalPayments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FinanceLeasePrincipalPayments", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeasesLeasesCostDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Principal Payments", "negatedLabel": "Finance lease payments", "terseLabel": "Financing cash outflows from finance leases", "documentation": "Amount of cash outflow for principal payment on finance lease." } } }, "auth_ref": [ "r521", "r529" ] }, "us-gaap_FinanceLeaseRightOfUseAssetAccumulatedAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FinanceLeaseRightOfUseAssetAccumulatedAmortization", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Right-of-Use Asset, Accumulated Amortization", "verboseLabel": "Finance lease assets, accumulated depreciation", "documentation": "Amount of accumulated amortization of right-of-use asset from finance lease." } } }, "auth_ref": [ "r869", "r870" ] }, "us-gaap_FinanceLeaseRightOfUseAssetAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FinanceLeaseRightOfUseAssetAmortization", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeasesLeasesCostDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Right-of-Use Asset, Amortization", "terseLabel": "Depreciation of finance lease assets (2)", "documentation": "Amount of amortization expense attributable to right-of-use asset from finance lease." } } }, "auth_ref": [ "r520", "r525", "r764" ] }, "us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Right-of-Use Asset, before Accumulated Amortization", "verboseLabel": "Finance lease assets, gross", "documentation": "Amount, before accumulated amortization, of right-of-use asset from finance lease." } } }, "auth_ref": [ "r868" ] }, "us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FinanceLeaseWeightedAverageDiscountRatePercent", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeasesWeightedAverageRemainingLeaseTermsAndDiscountRatesDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Weighted Average Discount Rate, Percent", "terseLabel": "Weighted-average discount rate - finance leases", "documentation": "Weighted average discount rate for finance lease calculated at point in time." } } }, "auth_ref": [ "r532", "r764" ] }, "us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FinanceLeaseWeightedAverageRemainingLeaseTerm1", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeasesWeightedAverageRemainingLeaseTermsAndDiscountRatesDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Weighted Average Remaining Lease Term", "terseLabel": "Weighted-average remaining lease term - finance leases (in years)", "documentation": "Weighted average remaining lease term for finance lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r531", "r764" ] }, "us-gaap_FinancialInstrumentAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FinancialInstrumentAxis", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "Financial Instrument [Axis]", "documentation": "Information by type of financial instrument." } } }, "auth_ref": [ "r233", "r234", "r235", "r236", "r237", "r238", "r239", "r240", "r241", "r242", "r243", "r244", "r245", "r246", "r247", "r248", "r249", "r250", "r251", "r252", "r253", "r254", "r255", "r256", "r257", "r258", "r259", "r260", "r261", "r262", "r267", "r268", "r270", "r271", "r272", "r273", "r274", "r275", "r349", "r364", "r472", "r499", "r539", "r540", "r541", "r542", "r543", "r544", "r545", "r546", "r547", "r548", "r549", "r550", "r551", "r552", "r553", "r555", "r556", "r557", "r558", "r559", "r560", "r561", "r562", "r563", "r564", "r565", "r566", "r567", "r568", "r569", "r595", "r724", "r751", "r754", "r756", "r757", "r758", "r759", "r760", "r761", "r762", "r766", "r871", "r872", "r873", "r874", "r875", "r876", "r877", "r902", "r903", "r904", "r905", "r976", "r979", "r980", "r981", "r982", "r983" ] }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Accumulated Amortization", "negatedLabel": "Accumulated Amortization", "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r139", "r276", "r289", "r726" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Asset, Expected Amortization, after Year Five", "terseLabel": "Thereafter", "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)." } } }, "auth_ref": [ "r929", "r1034" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Asset, Expected Amortization, Year One", "verboseLabel": "2025", "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)." } } }, "auth_ref": [ "r291", "r708", "r726" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Asset, Expected Amortization, Remainder of Fiscal Year", "terseLabel": "2024 (for remaining six months)", "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." } } }, "auth_ref": [ "r1034" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Five", "terseLabel": "2029", "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)." } } }, "auth_ref": [ "r291", "r708", "r726" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Four", "terseLabel": "2028", "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)." } } }, "auth_ref": [ "r291", "r708", "r726" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Three", "terseLabel": "2027", "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)." } } }, "auth_ref": [ "r291", "r708", "r726" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Two", "terseLabel": "2026", "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)." } } }, "auth_ref": [ "r291", "r708", "r726" ] }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails", "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsWeightedAverageRemainingUsefulLifeDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets by Major Class [Axis]", "documentation": "Information by major type or class of finite-lived intangible assets." } } }, "auth_ref": [ "r282", "r284", "r285", "r286", "r288", "r289", "r292", "r293", "r572", "r573", "r708" ] }, "us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]" } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsGross", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Gross", "terseLabel": "Gross Carrying Amount", "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r276", "r289", "r573", "r726" ] }, "us-gaap_FiniteLivedIntangibleAssetsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsLineItems", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails", "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsWeightedAverageRemainingUsefulLifeDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets [Line Items]", "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." } } }, "auth_ref": [ "r282", "r289", "r292", "r293", "r294", "r572", "r708", "r726" ] }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails", "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsWeightedAverageRemainingUsefulLifeDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]", "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." } } }, "auth_ref": [ "r282", "r284", "r285", "r286", "r288", "r289", "r292", "r293", "r708" ] }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsNet", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails", "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Net", "totalLabel": "Total", "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r572", "r928" ] }, "us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsWeightedAverageRemainingUsefulLifeDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Remaining Amortization Period", "terseLabel": "Remaining useful life", "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." } } }, "auth_ref": [ "r572" ] }, "us-gaap_ForeignCurrencyTransactionGainLossBeforeTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ForeignCurrencyTransactionGainLossBeforeTax", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/DisclosureSupplementalFinancialStatementInformationDetails" ], "lang": { "en-us": { "role": { "label": "Foreign Currency Transaction Gain (Loss), before Tax", "negatedLabel": "Foreign currency exchange loss", "documentation": "Amount, before tax, of realized and unrealized gain (loss) from foreign currency transaction." } } }, "auth_ref": [ "r501", "r502", "r503", "r504", "r684" ] }, "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount", "terseLabel": "Forgone Recovery due to Disqualification of Tax Benefits, Amount" } } }, "auth_ref": [ "r793", "r803", "r813", "r845" ] }, "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ForgoneRecoveryDueToExpenseOfEnforcementAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Expense of Enforcement, Amount", "terseLabel": "Forgone Recovery due to Expense of Enforcement, Amount" } } }, "auth_ref": [ "r793", "r803", "r813", "r845" ] }, "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ForgoneRecoveryDueToViolationOfHomeCountryLawAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Violation of Home Country Law, Amount", "terseLabel": "Forgone Recovery due to Violation of Home Country Law, Amount" } } }, "auth_ref": [ "r793", "r803", "r813", "r845" ] }, "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ForgoneRecoveryExplanationOfImpracticabilityTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery, Explanation of Impracticability [Text Block]", "terseLabel": "Forgone Recovery, Explanation of Impracticability" } } }, "auth_ref": [ "r793", "r803", "r813", "r845" ] }, "ecd_ForgoneRecoveryIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ForgoneRecoveryIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r793", "r803", "r813", "r845" ] }, "ecd_FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year [Member]", "terseLabel": "Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year" } } }, "auth_ref": [ "r826" ] }, "us-gaap_FurnitureAndFixturesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FurnitureAndFixturesMember", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Office furniture and equipment", "terseLabel": "Office Furniture and Equipment", "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." } } }, "auth_ref": [] }, "us-gaap_GainLossOnDispositionOfAssets1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "GainLossOnDispositionOfAssets1", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Gain (Loss) on Disposition of Assets", "negatedLabel": "Loss on disposal of fixed assets", "documentation": "Amount of gain (loss) on sale or disposal of assets, including but not limited to property plant and equipment, intangible assets and equity in securities of subsidiaries or equity method investee." } } }, "auth_ref": [ "r885" ] }, "us-gaap_GeneralAndAdministrativeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "GeneralAndAdministrativeExpense", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeUnaudited" ], "lang": { "en-us": { "role": { "label": "General and Administrative Expense", "terseLabel": "General and administrative", "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." } } }, "auth_ref": [ "r70", "r670" ] }, "us-gaap_GeneralAndAdministrativeExpenseMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "GeneralAndAdministrativeExpenseMember", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "label": "General and administrative", "terseLabel": "General and administrative", "documentation": "Primary financial statement caption encompassing general and administrative expense." } } }, "auth_ref": [ "r70" ] }, "us-gaap_Goodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "Goodwill", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Goodwill", "periodEndLabel": "Goodwill at Ending", "periodStartLabel": "Goodwill at Beginning", "verboseLabel": "Goodwill", "documentation": "Amount, after accumulated impairment loss, of asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized." } } }, "auth_ref": [ "r138", "r277", "r575", "r719", "r725", "r753", "r765", "r909", "r916" ] }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Goodwill and Intangible Assets" } } }, "auth_ref": [] }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssets" ], "lang": { "en-us": { "role": { "label": "Goodwill and Intangible Assets Disclosure [Text Block]", "terseLabel": "Goodwill and Intangible Assets", "documentation": "The entire disclosure for goodwill and intangible assets." } } }, "auth_ref": [ "r907", "r919" ] }, "us-gaap_GoodwillForeignCurrencyTranslationGainLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "GoodwillForeignCurrencyTranslationGainLoss", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails" ], "lang": { "en-us": { "role": { "label": "Goodwill, Foreign Currency Translation Gain (Loss)", "negatedLabel": "Foreign exchange impact", "documentation": "Amount of foreign currency translation gain (loss) which increases (decreases) asset representing future economic benefit from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized." } } }, "auth_ref": [ "r280" ] }, "us-gaap_GoodwillImpairmentLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "GoodwillImpairmentLoss", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsWeightedAverageRemainingUsefulLifeDetails" ], "lang": { "en-us": { "role": { "label": "Goodwill, Impairment Loss", "terseLabel": "Impairment of goodwill", "documentation": "Amount of impairment loss from asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized." } } }, "auth_ref": [ "r6", "r278", "r279", "r281", "r725", "r753" ] }, "us-gaap_GoodwillPurchaseAccountingAdjustments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "GoodwillPurchaseAccountingAdjustments", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsAcquisitionDetails", "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails" ], "lang": { "en-us": { "role": { "label": "Goodwill, Purchase Accounting Adjustments", "terseLabel": "Measurement period adjustments", "verboseLabel": "Adjustments recorded to goodwill", "documentation": "Amount of increase (decrease) from measurement period adjustment of asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized." } } }, "auth_ref": [ "r0", "r915" ] }, "us-gaap_GoodwillRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "GoodwillRollForward", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails" ], "lang": { "en-us": { "role": { "label": "Goodwill [Roll Forward]", "terseLabel": "Changes to the goodwill carrying value", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_ImpairmentOfIntangibleAssetsFinitelived": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ImpairmentOfIntangibleAssetsFinitelived", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsWeightedAverageRemainingUsefulLifeDetails" ], "lang": { "en-us": { "role": { "label": "Impairment of Intangible Assets, Finite-lived", "terseLabel": "Impairment of intangible assets", "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." } } }, "auth_ref": [ "r283", "r885", "r933" ] }, "us-gaap_ImpairmentOfLongLivedAssetsHeldForUse": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ImpairmentOfLongLivedAssetsHeldForUse", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Impairment of Long-Lived Assets Held-for-use", "terseLabel": "Impairment of long-lived assets", "verboseLabel": "Impairments of Property, plant and equipment", "documentation": "The aggregate amount of write-downs for impairments recognized during the period for long lived assets held for use (including those held for disposal by means other than sale)." } } }, "auth_ref": [ "r6", "r28", "r84", "r752" ] }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeUnaudited" ], "lang": { "en-us": { "role": { "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest", "totalLabel": "Income before income taxes", "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest." } } }, "auth_ref": [ "r66", "r105", "r109", "r579", "r591", "r714", "r718", "r895", "r897", "r898", "r899", "r900" ] }, "us-gaap_IncomeStatementAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeStatementAbstract", "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME (UNAUDITED)" } } }, "auth_ref": [] }, "us-gaap_IncomeStatementLocationAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeStatementLocationAxis", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Income Statement Location [Axis]", "documentation": "Information by location in statement of income where disaggregated amount has been reported." } } }, "auth_ref": [ "r296", "r302", "r303", "r484", "r488", "r493", "r602", "r604", "r671", "r708", "r755", "r1002" ] }, "us-gaap_IncomeStatementLocationDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeStatementLocationDomain", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Income Statement Location [Domain]", "documentation": "Location in statement of income where disaggregated amount has been reported." } } }, "auth_ref": [ "r302", "r303", "r484", "r488", "r493", "r602", "r604", "r671", "r708", "r755", "r1002" ] }, "us-gaap_IncomeTaxDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeTaxDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Income Tax" } } }, "auth_ref": [] }, "us-gaap_IncomeTaxDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeTaxDisclosureTextBlock", "presentation": [ "http://www.doubleverify.com/role/DisclosureIncomeTax" ], "lang": { "en-us": { "role": { "label": "Income Tax Disclosure [Text Block]", "terseLabel": "Income Tax", "documentation": "The entire disclosure for income tax." } } }, "auth_ref": [ "r169", "r430", "r434", "r435", "r436", "r437", "r438", "r439", "r444", "r446", "r447", "r448", "r623", "r748" ] }, "us-gaap_IncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeTaxExpenseBenefit", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/DisclosureIncomeTaxDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeUnaudited" ], "lang": { "en-us": { "role": { "label": "Income Tax Expense (Benefit)", "terseLabel": "Income tax expense", "verboseLabel": "Income tax provision", "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r111", "r121", "r183", "r184", "r201", "r215", "r224", "r433", "r434", "r445", "r600", "r748" ] }, "us-gaap_IncomeTaxesPaidNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeTaxesPaidNet", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Income Taxes Paid, Net", "terseLabel": "Cash paid for taxes", "documentation": "Amount, after refund, of cash paid to foreign, federal, state, and local jurisdictions as income tax." } } }, "auth_ref": [ "r21", "r164", "r440", "r441" ] }, "us-gaap_IncreaseDecreaseInAccountsPayableTrade": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInAccountsPayableTrade", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Accounts Payable, Trade", "terseLabel": "Trade payables", "documentation": "Change in recurring obligations of a business that arise from the acquisition of merchandise, materials, supplies and services used in the production and sale of goods and services." } } }, "auth_ref": [ "r5" ] }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInAccountsReceivable", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Accounts Receivable", "negatedLabel": "Trade receivables", "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." } } }, "auth_ref": [ "r5" ] }, "us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Accrued Liabilities and Other Operating Liabilities", "terseLabel": "Accrued expenses and other liabilities", "documentation": "Amount of increase (decrease) in accrued expenses, and obligations classified as other." } } }, "auth_ref": [ "r884" ] }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Operating Capital [Abstract]", "verboseLabel": "Changes in operating assets and liabilities" } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Prepaid Expense and Other Assets", "negatedLabel": "Prepaid expenses and other assets", "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other." } } }, "auth_ref": [ "r5" ] }, "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "presentation": [ "http://www.doubleverify.com/role/DisclosureEarningsPerShareDetails" ], "lang": { "en-us": { "role": { "label": "Incremental Common Shares Attributable to Dilutive Effect of Share-based Payment Arrangements", "verboseLabel": "Dilutive effect of share-based awards", "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." } } }, "auth_ref": [ "r189", "r190", "r191", "r196", "r394" ] }, "ecd_IndividualAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "IndividualAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Individual [Axis]", "terseLabel": "Individual:" } } }, "auth_ref": [ "r793", "r803", "r813", "r837", "r845", "r849", "r857" ] }, "ecd_InsiderTradingArrLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "InsiderTradingArrLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Arrangements [Line Items]", "terseLabel": "Insider Trading Arrangements:" } } }, "auth_ref": [ "r855" ] }, "ecd_InsiderTradingPoliciesProcLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "InsiderTradingPoliciesProcLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures [Line Items]", "terseLabel": "Insider Trading Policies and Procedures:" } } }, "auth_ref": [ "r785", "r861" ] }, "ecd_InsiderTrdPoliciesProcAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "InsiderTrdPoliciesProcAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures Adopted [Flag]", "terseLabel": "Insider Trading Policies and Procedures Adopted" } } }, "auth_ref": [ "r785", "r861" ] }, "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "InsiderTrdPoliciesProcNotAdoptedTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]", "terseLabel": "Insider Trading Policies and Procedures Not Adopted" } } }, "auth_ref": [ "r785", "r861" ] }, "us-gaap_IntangibleAssetsNetExcludingGoodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IntangibleAssetsNetExcludingGoodwill", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Intangible Assets, Net (Excluding Goodwill)", "verboseLabel": "Intangible assets, net", "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." } } }, "auth_ref": [ "r282", "r928", "r930" ] }, "us-gaap_InterestExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "InterestExpense", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeUnaudited" ], "lang": { "en-us": { "role": { "label": "Interest Expense", "terseLabel": "Interest expense", "documentation": "Amount of interest expense classified as operating and nonoperating. Includes, but is not limited to, cost of borrowing accounted for as interest expense." } } }, "auth_ref": [ "r201", "r209", "r213", "r216", "r224", "r513", "r718", "r719" ] }, "us-gaap_InterestIncomeExpenseNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "InterestIncomeExpenseNet", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Interest Income (Expense), Net", "negatedLabel": "Interest (income) expense, net", "documentation": "Amount of interest income (expense) classified as operating." } } }, "auth_ref": [ "r576", "r897" ] }, "us-gaap_InterestPaidNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "InterestPaidNet", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Interest Paid, Excluding Capitalized Interest, Operating Activities", "terseLabel": "Cash paid for interest", "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." } } }, "auth_ref": [ "r159", "r162", "r163" ] }, "us-gaap_InvestmentIncomeInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "InvestmentIncomeInterest", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/DisclosureSupplementalFinancialStatementInformationDetails" ], "lang": { "en-us": { "role": { "label": "Investment Income, Interest", "negatedLabel": "Interest income", "documentation": "Amount before accretion (amortization) of purchase discount (premium) of interest income on nonoperating securities." } } }, "auth_ref": [ "r201", "r212", "r224", "r718", "r883" ] }, "us-gaap_InvestmentPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "InvestmentPolicyTextBlock", "presentation": [ "http://www.doubleverify.com/role/DisclosureBasisOfPresentationAndSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Investment, Policy [Policy Text Block]", "terseLabel": "Short-term Investments", "documentation": "Disclosure of accounting policy for investment in financial asset." } } }, "auth_ref": [ "r599", "r614", "r615", "r616", "r617", "r693", "r694" ] }, "us-gaap_InvestmentsFairValueDisclosure": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "InvestmentsFairValueDisclosure", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails", "http://www.doubleverify.com/role/DisclosureFairValueMeasurementNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "Investments, Fair Value Disclosure", "terseLabel": "Short-term investments", "documentation": "Fair value portion of investment securities, including, but not limited to, marketable securities, derivative financial instruments, and investments accounted for under the equity method." } } }, "auth_ref": [ "r977", "r978", "r982" ] }, "dvh_LeaseCashFlowInformationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.doubleverify.com/20240630", "localname": "LeaseCashFlowInformationAbstract", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeasesLeasesCostDetails" ], "lang": { "en-us": { "role": { "documentation": "No definition available.", "label": "Lease Cash Flow Information [Abstract]", "terseLabel": "Cash paid for amounts included in the measurement of lease liabilities" } } }, "auth_ref": [] }, "us-gaap_LeaseCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LeaseCost", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeasesLeasesCostDetails" ], "lang": { "en-us": { "role": { "label": "Lease, Cost", "totalLabel": "Total lease cost", "documentation": "Amount of lease cost recognized by lessee for lease contract." } } }, "auth_ref": [ "r524", "r764" ] }, "us-gaap_LeaseCostAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LeaseCostAbstract", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeasesLeasesCostDetails" ], "lang": { "en-us": { "role": { "label": "Lease, Cost [Abstract]", "terseLabel": "Lease cost:" } } }, "auth_ref": [] }, "us-gaap_LeaseCostTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LeaseCostTableTextBlock", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeasesTables" ], "lang": { "en-us": { "role": { "label": "Lease, Cost [Table Text Block]", "terseLabel": "Schedule of lease cost and other information about leases", "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income." } } }, "auth_ref": [ "r988" ] }, "dvh_LeaseDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.doubleverify.com/20240630", "localname": "LeaseDisclosureTextBlock", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeases" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure of information about leases.", "label": "Lease Disclosure [Text Block]", "terseLabel": "Leases" } } }, "auth_ref": [] }, "dvh_LeaseOtherInformationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.doubleverify.com/20240630", "localname": "LeaseOtherInformationAbstract", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeasesLeasesCostDetails" ], "lang": { "en-us": { "role": { "documentation": "No definition available.", "label": "Lease Other Information [Abstract]", "terseLabel": "Other information:" } } }, "auth_ref": [] }, "us-gaap_LeaseholdImprovementsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LeaseholdImprovementsMember", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Leasehold improvements", "terseLabel": "Leasehold Improvements", "documentation": "Additions or improvements to assets held under a lease arrangement." } } }, "auth_ref": [ "r83", "r534" ] }, "us-gaap_LeasesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LeasesAbstract", "lang": { "en-us": { "role": { "label": "Leases" } } }, "auth_ref": [] }, "us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeasesNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Lease Not yet Commenced, Term of Contract", "terseLabel": "Lease Term", "documentation": "Term of lessee's operating lease not yet commenced, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r987" ] }, "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeasesTables" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, Maturity [Table Text Block]", "terseLabel": "Schedule of the future operating lease commitment under agreement", "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position." } } }, "auth_ref": [ "r989" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseLiabilityPaymentsDue", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeasesMaturitiesOfOperatingLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, to be Paid", "totalLabel": "Total lease payments", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease." } } }, "auth_ref": [ "r533" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeasesMaturitiesOfOperatingLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, to be Paid, after Year Five", "terseLabel": "Thereafter", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease due after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r533" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeasesMaturitiesOfOperatingLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, to be Paid, Year One", "terseLabel": "2025", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r533" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeasesMaturitiesOfOperatingLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, to be Paid, Year Five", "terseLabel": "2029", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r533" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeasesMaturitiesOfOperatingLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, to be Paid, Year Four", "terseLabel": "2028", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r533" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeasesMaturitiesOfOperatingLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, to be Paid, Year Three", "terseLabel": "2027", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r533" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeasesMaturitiesOfOperatingLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, to be Paid, Year Two", "terseLabel": "2026", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r533" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeasesMaturitiesOfOperatingLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year", "terseLabel": "2024 (for remaining six months)", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease having initial or remaining lease term in excess of one year to be paid in remainder of current fiscal year." } } }, "auth_ref": [ "r989" ] }, "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeasesMaturitiesOfOperatingLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount", "negatedLabel": "Less amount representing interest", "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease." } } }, "auth_ref": [ "r533" ] }, "us-gaap_LetterOfCreditMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LetterOfCreditMember", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Letter of Credit", "terseLabel": "Letter of Credit", "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)." } } }, "auth_ref": [] }, "us-gaap_Liabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "Liabilities", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Liabilities", "totalLabel": "Total liabilities", "documentation": "Amount of liability recognized for present obligation requiring transfer or otherwise providing economic benefit to others." } } }, "auth_ref": [ "r14", "r50", "r51", "r52", "r54", "r55", "r56", "r57", "r168", "r263", "r315", "r316", "r317", "r318", "r319", "r320", "r321", "r322", "r323", "r461", "r464", "r465", "r500", "r645", "r713", "r780", "r942", "r990", "r991" ] }, "us-gaap_LiabilitiesAndStockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LiabilitiesAndStockholdersEquity", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Liabilities and Equity", "totalLabel": "Total liabilities and stockholders' equity", "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any." } } }, "auth_ref": [ "r64", "r102", "r588", "r765", "r888", "r906", "r984" ] }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LiabilitiesAndStockholdersEquityAbstract", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Liabilities and Equity [Abstract]", "terseLabel": "Liabilities and Stockholder's Equity:" } } }, "auth_ref": [] }, "us-gaap_LiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LiabilitiesCurrent", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Liabilities, Current", "totalLabel": "Total current liabilities", "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." } } }, "auth_ref": [ "r52", "r134", "r168", "r263", "r315", "r316", "r317", "r318", "r319", "r320", "r321", "r322", "r323", "r461", "r464", "r465", "r500", "r765", "r942", "r990", "r991" ] }, "us-gaap_LiabilitiesCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LiabilitiesCurrentAbstract", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Liabilities, Current [Abstract]", "terseLabel": "Current liabilities" } } }, "auth_ref": [] }, "us-gaap_LineOfCreditFacilityCommitmentFeePercentage": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LineOfCreditFacilityCommitmentFeePercentage", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Line of Credit Facility, Commitment Fee Percentage", "terseLabel": "Percentage of commitment fee payable periodically", "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." } } }, "auth_ref": [] }, "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LineOfCreditFacilityMaximumBorrowingCapacity", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Line of Credit Facility, Maximum Borrowing Capacity", "terseLabel": "Maximum borrowing capacity", "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." } } }, "auth_ref": [ "r49", "r53" ] }, "dvh_LineOfCreditFacilityMaximumTotalLeverageRatio": { "xbrltype": "pureItemType", "nsuri": "http://www.doubleverify.com/20240630", "localname": "LineOfCreditFacilityMaximumTotalLeverageRatio", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "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" } } }, "auth_ref": [] }, "dvh_LineOfCreditFacilityMinimumFixedChargeCoverageRatio": { "xbrltype": "pureItemType", "nsuri": "http://www.doubleverify.com/20240630", "localname": "LineOfCreditFacilityMinimumFixedChargeCoverageRatio", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "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" } } }, "auth_ref": [] }, "dei_LocalPhoneNumber": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "LocalPhoneNumber", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Local Phone Number", "documentation": "Local phone number for entity." } } }, "auth_ref": [] }, "us-gaap_LongTermDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LongTermDebt", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Long-term Debt", "verboseLabel": "Outstanding amount", "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation." } } }, "auth_ref": [ "r14", "r100", "r337", "r351", "r728", "r729", "r763", "r1000" ] }, "srt_MajorCustomersAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "MajorCustomersAxis", "presentation": [ "http://www.doubleverify.com/role/DisclosureRevenueDetails" ], "lang": { "en-us": { "role": { "label": "Customer [Axis]", "documentation": "Information by name or description of a single external customer or a group of external customers." } } }, "auth_ref": [ "r230", "r735", "r767", "r769", "r946", "r1001", "r1003", "r1004", "r1005", "r1006", "r1007", "r1008", "r1009", "r1010", "r1011", "r1012", "r1013", "r1014", "r1015", "r1016", "r1017", "r1018", "r1019", "r1020", "r1021", "r1022", "r1023", "r1024", "r1025", "r1026", "r1027", "r1028", "r1029" ] }, "srt_MaximumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "MaximumMember", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeasesNarrativesDetails", "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails", "http://www.doubleverify.com/role/DisclosureRevenueDetails" ], "lang": { "en-us": { "role": { "label": "Maximum", "terseLabel": "Maximum", "documentation": "Upper limit of the provided range." } } }, "auth_ref": [ "r124", "r125", "r126", "r127", "r128", "r129", "r130", "r309", "r310", "r311", "r312", "r389", "r428", "r482", "r570", "r601", "r603", "r611", "r637", "r638", "r692", "r695", "r696", "r697", "r698", "r706", "r707", "r723", "r732", "r745", "r756", "r757", "r761", "r762", "r768", "r944", "r992", "r993", "r994", "r995", "r996", "r997" ] }, "ecd_MeasureAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "MeasureAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Measure [Axis]", "terseLabel": "Measure:" } } }, "auth_ref": [ "r829" ] }, "ecd_MeasureName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "MeasureName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Measure Name", "terseLabel": "Name" } } }, "auth_ref": [ "r829" ] }, "dvh_MeasurementMember": { "xbrltype": "domainItemType", "nsuri": "http://www.doubleverify.com/20240630", "localname": "MeasurementMember", "presentation": [ "http://www.doubleverify.com/role/DisclosureRevenueDetails" ], "lang": { "en-us": { "role": { "documentation": "It represents the information pertaining to measurement member.", "label": "Measurement [Member]", "terseLabel": "Measurement" } } }, "auth_ref": [] }, "srt_MinimumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "MinimumMember", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeasesNarrativesDetails", "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails", "http://www.doubleverify.com/role/DisclosureRevenueDetails" ], "lang": { "en-us": { "role": { "label": "Minimum", "terseLabel": "Minimum", "documentation": "Lower limit of the provided range." } } }, "auth_ref": [ "r124", "r125", "r126", "r127", "r128", "r129", "r130", "r309", "r310", "r311", "r312", "r389", "r428", "r482", "r570", "r601", "r603", "r611", "r637", "r638", "r692", "r695", "r696", "r697", "r698", "r706", "r707", "r723", "r732", "r745", "r756", "r757", "r761", "r768", "r944", "r992", "r993", "r994", "r995", "r996", "r997" ] }, "ecd_MnpiDiscTimedForCompValFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "MnpiDiscTimedForCompValFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "MNPI Disclosure Timed for Compensation Value [Flag]", "terseLabel": "MNPI Disclosure Timed for Compensation Value" } } }, "auth_ref": [ "r848" ] }, "dvh_MoneyMarketFundsAndTimeDepositsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.doubleverify.com/20240630", "localname": "MoneyMarketFundsAndTimeDepositsMember", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementNarrativeDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to money market funds and time deposits.", "label": "Money market funds and time deposits", "terseLabel": "Money market funds and time deposits" } } }, "auth_ref": [] }, "ecd_MtrlTermsOfTrdArrTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "MtrlTermsOfTrdArrTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Material Terms of Trading Arrangement [Text Block]", "terseLabel": "Material Terms of Trading Arrangement" } } }, "auth_ref": [ "r856" ] }, "srt_NameOfMajorCustomerDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "NameOfMajorCustomerDomain", "presentation": [ "http://www.doubleverify.com/role/DisclosureRevenueDetails" ], "lang": { "en-us": { "role": { "label": "Customer [Domain]", "documentation": "Single external customer or group of external customers." } } }, "auth_ref": [ "r230", "r735", "r767", "r769", "r946", "r1001", "r1003", "r1004", "r1005", "r1006", "r1007", "r1008", "r1009", "r1010", "r1011", "r1012", "r1013", "r1014", "r1015", "r1016", "r1017", "r1018", "r1019", "r1020", "r1021", "r1022", "r1023", "r1024", "r1025", "r1026", "r1027", "r1028", "r1029" ] }, "ecd_NamedExecutiveOfficersFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NamedExecutiveOfficersFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Named Executive Officers, Footnote [Text Block]", "terseLabel": "Named Executive Officers, Footnote" } } }, "auth_ref": [ "r830" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetCashProvidedByUsedInFinancingActivities", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities", "totalLabel": "Net cash (used in) provided by financing activities", "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." } } }, "auth_ref": [ "r161" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]", "terseLabel": "Financing activities:" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetCashProvidedByUsedInInvestingActivities", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities", "totalLabel": "Net cash used in investing activities", "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." } } }, "auth_ref": [ "r161" ] }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]", "terseLabel": "Investing activities:" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetCashProvidedByUsedInOperatingActivities", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities", "totalLabel": "Net cash provided by operating activities", "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." } } }, "auth_ref": [ "r77", "r78", "r79" ] }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]", "terseLabel": "Operating activities:" } } }, "auth_ref": [] }, "us-gaap_NetIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetIncomeLoss", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/DisclosureEarningsPerShareDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeUnaudited", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "totalLabel": "Net income", "verboseLabel": "Net income", "label": "Net Income (Loss)", "terseLabel": "Net Income (Loss)", "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent." } } }, "auth_ref": [ "r69", "r79", "r106", "r132", "r148", "r150", "r154", "r168", "r174", "r176", "r177", "r178", "r179", "r180", "r183", "r184", "r193", "r263", "r315", "r316", "r317", "r318", "r319", "r320", "r321", "r322", "r323", "r452", "r458", "r476", "r500", "r593", "r667", "r685", "r686", "r778", "r942" ] }, "us-gaap_NetIncomeLossAvailableToCommonStockholdersDilutedAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetIncomeLossAvailableToCommonStockholdersDilutedAbstract", "presentation": [ "http://www.doubleverify.com/role/DisclosureEarningsPerShareDetails" ], "lang": { "en-us": { "role": { "label": "Net Income (Loss) Available to Common Stockholders, Diluted [Abstract]", "terseLabel": "Numerator:" } } }, "auth_ref": [] }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "presentation": [ "http://www.doubleverify.com/role/DisclosureBasisOfPresentationAndSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "New Accounting Pronouncements, Policy [Policy Text Block]", "terseLabel": "Recently Issued Accounting Pronouncements", "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." } } }, "auth_ref": [] }, "dvh_NonCashLeaseExpenses": { "xbrltype": "monetaryItemType", "nsuri": "http://www.doubleverify.com/20240630", "localname": "NonCashLeaseExpenses", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "documentation": "Amount of non-cash lease expenses incurred during the period.", "label": "Non Cash Lease Expenses", "terseLabel": "Non-cash lease expense" } } }, "auth_ref": [] }, "ecd_NonGaapMeasureDescriptionTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NonGaapMeasureDescriptionTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-GAAP Measure Description [Text Block]", "terseLabel": "Non-GAAP Measure Description" } } }, "auth_ref": [ "r829" ] }, "ecd_NonNeosMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NonNeosMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-NEOs [Member]", "terseLabel": "Non-NEOs" } } }, "auth_ref": [ "r793", "r803", "r813", "r837", "r845" ] }, "ecd_NonPeoNeoAvgCompActuallyPaidAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NonPeoNeoAvgCompActuallyPaidAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO Average Compensation Actually Paid Amount", "terseLabel": "Non-PEO NEO Average Compensation Actually Paid Amount" } } }, "auth_ref": [ "r820" ] }, "ecd_NonPeoNeoAvgTotalCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NonPeoNeoAvgTotalCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO Average Total Compensation Amount", "terseLabel": "Non-PEO NEO Average Total Compensation Amount" } } }, "auth_ref": [ "r819" ] }, "ecd_NonPeoNeoMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NonPeoNeoMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO [Member]", "terseLabel": "Non-PEO NEO" } } }, "auth_ref": [ "r837" ] }, "ecd_NonRule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NonRule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]", "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted" } } }, "auth_ref": [ "r856" ] }, "ecd_NonRule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NonRule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]", "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated" } } }, "auth_ref": [ "r856" ] }, "us-gaap_NoncashInvestingAndFinancingItemsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NoncashInvestingAndFinancingItemsAbstract", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Noncash Investing and Financing Items [Abstract]", "terseLabel": "Non-cash investing and financing activities:" } } }, "auth_ref": [] }, "us-gaap_NoncompeteAgreementsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NoncompeteAgreementsMember", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Non-compete agreements", "terseLabel": "Non-compete agreements", "documentation": "Agreement in which one party agrees not to pursue a similar trade in competition with another party." } } }, "auth_ref": [ "r44", "r920", "r922", "r923", "r924", "r926", "r928", "r931", "r932" ] }, "us-gaap_NumberOfOperatingSegments": { "xbrltype": "integerItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NumberOfOperatingSegments", "presentation": [ "http://www.doubleverify.com/role/DisclosureSegmentInformationDetails" ], "lang": { "en-us": { "role": { "label": "Number of Operating Segments", "terseLabel": "Number of operating segments", "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." } } }, "auth_ref": [ "r719", "r896" ] }, "us-gaap_NumberOfReportableSegments": { "xbrltype": "integerItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NumberOfReportableSegments", "presentation": [ "http://www.doubleverify.com/role/DisclosureDescriptionOfBusinessDetails", "http://www.doubleverify.com/role/DisclosureSegmentInformationDetails" ], "lang": { "en-us": { "role": { "label": "Number of Reportable Segments", "terseLabel": "Number of reportable segments", "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." } } }, "auth_ref": [ "r715", "r722", "r896" ] }, "us-gaap_OperatingIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingIncomeLoss", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeUnaudited" ], "lang": { "en-us": { "role": { "label": "Operating Income (Loss)", "totalLabel": "Income from operations", "documentation": "The net result for the period of deducting operating expenses from operating revenues." } } }, "auth_ref": [ "r109", "r714", "r895", "r897", "r898", "r899", "r900" ] }, "us-gaap_OperatingLeaseCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeaseCost", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeasesLeasesCostDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Cost", "terseLabel": "Operating lease cost (1)", "documentation": "Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability." } } }, "auth_ref": [ "r526", "r764" ] }, "us-gaap_OperatingLeaseLeaseNotYetCommencedMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeaseLeaseNotYetCommencedMember", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeasesNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Lease Not yet Commenced [Member]", "terseLabel": "Operating Lease, Lease Not yet Commenced", "documentation": "Lease that has not yet commenced, classified as operating." } } }, "auth_ref": [ "r305", "r987" ] }, "us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeaseLiabilitiesPaymentsDueAbstract", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeasesMaturitiesOfOperatingLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, Payment, Due [Abstract]", "terseLabel": "Maturities of operating lease liabilities" } } }, "auth_ref": [] }, "us-gaap_OperatingLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeaseLiability", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeasesMaturitiesOfOperatingLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Liability", "verboseLabel": "Present value of total lease payments", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease." } } }, "auth_ref": [ "r519" ] }, "us-gaap_OperatingLeaseLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeaseLiabilityCurrent", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Liability, Current", "terseLabel": "Operating lease liabilities, current", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current." } } }, "auth_ref": [ "r519" ] }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeaseLiabilityNoncurrent", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Liability, Noncurrent", "terseLabel": "Operating lease liabilities, non-current", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent." } } }, "auth_ref": [ "r519" ] }, "us-gaap_OperatingLeasePayments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeasePayments", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeasesLeasesCostDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Payments", "terseLabel": "Operating cash outflows from operating leases", "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use." } } }, "auth_ref": [ "r523", "r529" ] }, "us-gaap_OperatingLeaseRightOfUseAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeaseRightOfUseAsset", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Right-of-Use Asset", "terseLabel": "Operating lease right-of-use assets, net", "documentation": "Amount of lessee's right to use underlying asset under operating lease." } } }, "auth_ref": [ "r518" ] }, "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeaseWeightedAverageDiscountRatePercent", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeasesWeightedAverageRemainingLeaseTermsAndDiscountRatesDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Weighted Average Discount Rate, Percent", "terseLabel": "Weighted-average discount rate - operating leases", "documentation": "Weighted average discount rate for operating lease calculated at point in time." } } }, "auth_ref": [ "r532", "r764" ] }, "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeasesWeightedAverageRemainingLeaseTermsAndDiscountRatesDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Weighted Average Remaining Lease Term", "terseLabel": "Weighted-average remaining lease term - operating leases (in years)", "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r531", "r764" ] }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract", "lang": { "en-us": { "role": { "label": "Description of Business" } } }, "auth_ref": [] }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "presentation": [ "http://www.doubleverify.com/role/DisclosureDescriptionOfBusiness" ], "lang": { "en-us": { "role": { "label": "Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]", "terseLabel": "Description of Business", "documentation": "The entire disclosure for organization, consolidation and basis of presentation of financial statements disclosure." } } }, "auth_ref": [ "r47", "r96", "r612", "r613" ] }, "us-gaap_OtherAssetsNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherAssetsNoncurrent", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Other Assets, Noncurrent", "terseLabel": "Other non-current assets", "documentation": "Amount of noncurrent assets classified as other." } } }, "auth_ref": [ "r140" ] }, "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeUnaudited", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "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", "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." } } }, "auth_ref": [ "r3", "r594" ] }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeUnaudited" ], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent [Abstract]", "terseLabel": "Other comprehensive (loss) income:" } } }, "auth_ref": [] }, "us-gaap_OtherIncomeAndExpensesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherIncomeAndExpensesAbstract", "presentation": [ "http://www.doubleverify.com/role/DisclosureSupplementalFinancialStatementInformationDetails" ], "lang": { "en-us": { "role": { "label": "Other Income and Expenses [Abstract]", "terseLabel": "Other Income, Net" } } }, "auth_ref": [] }, "dvh_OtherIncomeNet": { "xbrltype": "monetaryItemType", "nsuri": "http://www.doubleverify.com/20240630", "localname": "OtherIncomeNet", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/DisclosureSupplementalFinancialStatementInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of other non-operating income, net.", "label": "Other Income, Net", "negatedTotalLabel": "Other income, net" } } }, "auth_ref": [] }, "us-gaap_OtherLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherLiabilitiesCurrent", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Other Liabilities, Current", "terseLabel": "Other current liabilities", "documentation": "Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r51", "r765" ] }, "us-gaap_OtherLiabilitiesNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherLiabilitiesNoncurrent", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Other Liabilities, Noncurrent", "terseLabel": "Other non-current liabilities", "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r55" ] }, "us-gaap_OtherNonoperatingExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherNonoperatingExpense", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/DisclosureSupplementalFinancialStatementInformationDetails" ], "lang": { "en-us": { "role": { "label": "Other Nonoperating Expense", "terseLabel": "Other miscellaneous expense, net", "documentation": "Amount of expense related to nonoperating activities, classified as other." } } }, "auth_ref": [ "r72" ] }, "us-gaap_OtherNonoperatingIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherNonoperatingIncomeExpense", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeUnaudited" ], "lang": { "en-us": { "role": { "label": "Other Nonoperating Income (Expense)", "negatedLabel": "Other income, net", "documentation": "Amount of income (expense) related to nonoperating activities, classified as other." } } }, "auth_ref": [ "r72" ] }, "us-gaap_OtherOperatingActivitiesCashFlowStatement": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherOperatingActivitiesCashFlowStatement", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Other Operating Activities, Cash Flow Statement", "terseLabel": "Other", "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)." } } }, "auth_ref": [] }, "ecd_OtherPerfMeasureAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "OtherPerfMeasureAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Other Performance Measure, Amount", "terseLabel": "Other Performance Measure, Amount" } } }, "auth_ref": [ "r829" ] }, "ecd_OutstandingAggtErrCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "OutstandingAggtErrCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Outstanding Aggregate Erroneous Compensation Amount", "terseLabel": "Outstanding Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r791", "r801", "r811", "r843" ] }, "ecd_OutstandingRecoveryCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "OutstandingRecoveryCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Outstanding Recovery Compensation Amount", "terseLabel": "Compensation Amount" } } }, "auth_ref": [ "r794", "r804", "r814", "r846" ] }, "ecd_OutstandingRecoveryIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "OutstandingRecoveryIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Outstanding Recovery, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r794", "r804", "r814", "r846" ] }, "ecd_PayVsPerformanceDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PayVsPerformanceDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Line Items]", "terseLabel": "Pay vs Performance Disclosure" } } }, "auth_ref": [ "r818" ] }, "us-gaap_PaymentsForRepurchaseOfCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PaymentsForRepurchaseOfCommonStock", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Payments for Repurchase of Common Stock", "negatedLabel": "Shares repurchased under the Repurchase Program", "documentation": "The cash outflow to reacquire common stock during the period." } } }, "auth_ref": [ "r75" ] }, "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Payment, Tax Withholding, Share-Based Payment Arrangement", "negatedLabel": "Shares repurchased for settlement of employee tax withholdings", "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement." } } }, "auth_ref": [ "r158" ] }, "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PaymentsToAcquireBusinessesNetOfCashAcquired", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsAcquisitionDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Payments to Acquire Businesses, Net of Cash Acquired", "negatedLabel": "Acquisition of businesses, net of cash acquired", "verboseLabel": "Aggregate net cash purchase price", "documentation": "The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase." } } }, "auth_ref": [ "r18" ] }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Payments to Acquire Property, Plant, and Equipment", "negatedLabel": "Purchase of property, plant and equipment", "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." } } }, "auth_ref": [ "r74" ] }, "us-gaap_PaymentsToAcquireShortTermInvestments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PaymentsToAcquireShortTermInvestments", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Payments to Acquire Short-Term Investments", "negatedLabel": "Purchase of short-term investments", "documentation": "The cash outflow for securities or other assets acquired, which qualify for treatment as an investing activity and are to be liquidated, if necessary, within the current operating cycle. Includes cash flows from securities classified as trading securities that were acquired for reasons other than sale in the short-term." } } }, "auth_ref": [ "r73" ] }, "ecd_PeerGroupIssuersFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PeerGroupIssuersFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Peer Group Issuers, Footnote [Text Block]", "terseLabel": "Peer Group Issuers, Footnote" } } }, "auth_ref": [ "r828" ] }, "ecd_PeerGroupTotalShareholderRtnAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PeerGroupTotalShareholderRtnAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Peer Group Total Shareholder Return Amount", "terseLabel": "Peer Group Total Shareholder Return Amount" } } }, "auth_ref": [ "r828" ] }, "us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/DisclosureSupplementalFinancialStatementInformationDetails" ], "lang": { "en-us": { "role": { "label": "Liability, Defined Benefit Plan, Current", "terseLabel": "401k and pension expense", "documentation": "Amount of liability, recognized in statement of financial position, for defined benefit pension and other postretirement plans, classified as current." } } }, "auth_ref": [ "r51", "r379", "r380", "r381", "r742" ] }, "ecd_PeoActuallyPaidCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PeoActuallyPaidCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO Actually Paid Compensation Amount", "terseLabel": "PEO Actually Paid Compensation Amount" } } }, "auth_ref": [ "r820" ] }, "ecd_PeoMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PeoMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO [Member]", "terseLabel": "PEO" } } }, "auth_ref": [ "r837" ] }, "ecd_PeoName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PeoName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO Name", "terseLabel": "PEO Name" } } }, "auth_ref": [ "r830" ] }, "ecd_PeoTotalCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PeoTotalCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO Total Compensation Amount", "terseLabel": "PEO Total Compensation Amount" } } }, "auth_ref": [ "r819" ] }, "dvh_PercentageOfRevenue": { "xbrltype": "percentItemType", "nsuri": "http://www.doubleverify.com/20240630", "localname": "PercentageOfRevenue", "presentation": [ "http://www.doubleverify.com/role/DisclosureRevenueDetails" ], "lang": { "en-us": { "role": { "documentation": "Percentage of revenue on Total Revenues.", "label": "Percentage of Revenue", "terseLabel": "Supply-side revenue" } } }, "auth_ref": [] }, "dvh_PerformanceAndMarketBasedSharesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.doubleverify.com/20240630", "localname": "PerformanceAndMarketBasedSharesMember", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Share-based payment arrangement awarded for meeting market and performance based targets.", "label": "Performance and Market Based Options", "terseLabel": "Performance and Market Based Options" } } }, "auth_ref": [] }, "us-gaap_PerformanceSharesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PerformanceSharesMember", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationRsusAndPsusDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationTables", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationValuationAssumptionsDetails" ], "lang": { "en-us": { "role": { "label": "Performance Shares [Member]", "terseLabel": "Performance share units (PSUs)", "documentation": "Share-based payment arrangement awarded for meeting performance target." } } }, "auth_ref": [] }, "us-gaap_PlanNameAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PlanNameAxis", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Plan Name [Axis]", "documentation": "Information by plan name for share-based payment arrangement." } } }, "auth_ref": [ "r947", "r948", "r949", "r950", "r951", "r952", "r953", "r954", "r955", "r956", "r957", "r958", "r959", "r960", "r961", "r962", "r963", "r964", "r965", "r966", "r967", "r968", "r969", "r970", "r971", "r972" ] }, "us-gaap_PlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PlanNameDomain", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Plan Name [Domain]", "documentation": "Plan name for share-based payment arrangement." } } }, "auth_ref": [ "r947", "r948", "r949", "r950", "r951", "r952", "r953", "r954", "r955", "r956", "r957", "r958", "r959", "r960", "r961", "r962", "r963", "r964", "r965", "r966", "r967", "r968", "r969", "r970", "r971", "r972" ] }, "ecd_PnsnAdjsPrrSvcCstMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PnsnAdjsPrrSvcCstMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Pension Adjustments Prior Service Cost [Member]", "terseLabel": "Pension Adjustments Prior Service Cost" } } }, "auth_ref": [ "r821" ] }, "ecd_PnsnAdjsSvcCstMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PnsnAdjsSvcCstMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Pension Adjustments Service Cost [Member]", "terseLabel": "Pension Adjustments Service Cost" } } }, "auth_ref": [ "r865" ] }, "ecd_PnsnBnftsAdjFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PnsnBnftsAdjFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Pension Benefits Adjustments, Footnote [Text Block]", "terseLabel": "Pension Benefits Adjustments, Footnote" } } }, "auth_ref": [ "r820" ] }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PrepaidExpenseAndOtherAssetsCurrent", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Prepaid Expense and Other Assets, Current", "terseLabel": "Prepaid expenses and other current assets", "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." } } }, "auth_ref": [ "r879" ] }, "us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlans": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlans", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Proceeds, Issuance of Shares, Share-based Payment Arrangement, Excluding Option Exercised", "terseLabel": "Proceeds from common stock issued under employee purchase plan", "documentation": "Amount of cash inflow from issuance of shares under share-based payment arrangement. Excludes option exercised." } } }, "auth_ref": [ "r4", "r12" ] }, "us-gaap_ProceedsFromLongTermLinesOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ProceedsFromLongTermLinesOfCredit", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Proceeds from Long-Term Lines of Credit", "terseLabel": "Proceeds from revolving credit facility", "documentation": "The cash inflow from a contractual arrangement with the lender, including letter of credit, standby letter of credit and revolving credit arrangements, under which borrowings can be made up to a specific amount at any point in time with maturities due beyond one year or the operating cycle, if longer." } } }, "auth_ref": [ "r19" ] }, "us-gaap_ProceedsFromStockOptionsExercised": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ProceedsFromStockOptionsExercised", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Proceeds from Stock Options Exercised", "verboseLabel": "Proceeds from common stock issued upon exercise of stock options", "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement." } } }, "auth_ref": [ "r4", "r12" ] }, "us-gaap_ProfitLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ProfitLoss", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest", "terseLabel": "Net income", "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest." } } }, "auth_ref": [ "r132", "r148", "r150", "r160", "r168", "r174", "r180", "r183", "r184", "r263", "r315", "r316", "r317", "r318", "r319", "r320", "r321", "r322", "r323", "r452", "r458", "r459", "r462", "r463", "r476", "r500", "r579", "r592", "r624", "r667", "r685", "r686", "r749", "r750", "r779", "r882", "r942" ] }, "us-gaap_PropertyPlantAndEquipmentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PropertyPlantAndEquipmentAbstract", "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment" } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentByTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PropertyPlantAndEquipmentByTypeAxis", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Long-Lived Tangible Asset [Axis]", "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale." } } }, "auth_ref": [ "r7", "r534" ] }, "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PropertyPlantAndEquipmentDisclosureTextBlock", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipment" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment Disclosure [Text Block]", "terseLabel": "Property, Plant and Equipment, net", "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." } } }, "auth_ref": [ "r82", "r114", "r119", "r120" ] }, "us-gaap_PropertyPlantAndEquipmentGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PropertyPlantAndEquipmentGross", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment, Gross", "terseLabel": "Property, plant and equipment gross", "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." } } }, "auth_ref": [ "r83", "r136", "r590" ] }, "us-gaap_PropertyPlantAndEquipmentLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PropertyPlantAndEquipmentLineItems", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment [Line Items]", "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." } } }, "auth_ref": [ "r534" ] }, "us-gaap_PropertyPlantAndEquipmentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PropertyPlantAndEquipmentMember", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment [Member]", "terseLabel": "Property, plant and equipment", "documentation": "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." } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PropertyPlantAndEquipmentNet", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment, Net", "terseLabel": "Property, plant and equipment, net", "totalLabel": "Total property, plant and equipment, net", "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." } } }, "auth_ref": [ "r7", "r534", "r580", "r590", "r765" ] }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PropertyPlantAndEquipmentTextBlock", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentTables" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment [Table Text Block]", "terseLabel": "Schedule of property, plant and equipment", "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." } } }, "auth_ref": [ "r7" ] }, "us-gaap_PropertyPlantAndEquipmentTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PropertyPlantAndEquipmentTypeDomain", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Long-Lived Tangible Asset [Domain]", "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." } } }, "auth_ref": [ "r83", "r534" ] }, "us-gaap_ProvisionForDoubtfulAccounts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ProvisionForDoubtfulAccounts", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Accounts Receivable, Credit Loss Expense (Reversal)", "terseLabel": "Bad debt expense", "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable." } } }, "auth_ref": [ "r157", "r269" ] }, "ecd_PvpTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PvpTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Table]", "terseLabel": "Pay vs Performance Disclosure" } } }, "auth_ref": [ "r818" ] }, "ecd_PvpTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PvpTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Pay vs Performance [Table Text Block]", "terseLabel": "Pay vs Performance Disclosure, Table" } } }, "auth_ref": [ "r818" ] }, "srt_RangeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "RangeAxis", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeasesNarrativesDetails", "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails", "http://www.doubleverify.com/role/DisclosureRevenueDetails" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Axis]", "documentation": "Information by statistical measurement. Includes, but is not limited to, minimum, maximum, weighted average, arithmetic average, and median." } } }, "auth_ref": [ "r124", "r125", "r126", "r127", "r128", "r129", "r130", "r309", "r310", "r311", "r312", "r382", "r389", "r418", "r419", "r420", "r428", "r482", "r545", "r554", "r570", "r601", "r603", "r611", "r637", "r638", "r692", "r695", "r696", "r697", "r698", "r706", "r707", "r723", "r732", "r745", "r756", "r757", "r761", "r762", "r768", "r772", "r938", "r944", "r980", "r993", "r994", "r995", "r996", "r997" ] }, "srt_RangeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "RangeMember", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeasesNarrativesDetails", "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails", "http://www.doubleverify.com/role/DisclosureRevenueDetails" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Domain]", "documentation": "Statistical measurement. Includes, but is not limited to, minimum, maximum, weighted average, arithmetic average, and median." } } }, "auth_ref": [ "r124", "r125", "r126", "r127", "r128", "r129", "r130", "r309", "r310", "r311", "r312", "r382", "r389", "r418", "r419", "r420", "r428", "r482", "r545", "r554", "r570", "r601", "r603", "r611", "r637", "r638", "r692", "r695", "r696", "r697", "r698", "r706", "r707", "r723", "r732", "r745", "r756", "r757", "r761", "r762", "r768", "r772", "r938", "r944", "r980", "r993", "r994", "r995", "r996", "r997" ] }, "ecd_RecoveryOfErrCompDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "RecoveryOfErrCompDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Recovery of Erroneously Awarded Compensation Disclosure [Line Items]", "terseLabel": "Recovery of Erroneously Awarded Compensation Disclosure" } } }, "auth_ref": [ "r786", "r796", "r806", "r838" ] }, "us-gaap_RepaymentsOfLongTermLinesOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RepaymentsOfLongTermLinesOfCredit", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Repayments of Long-Term Lines of Credit", "negatedLabel": "Payments to revolving credit facility", "documentation": "The cash outflow for the settlement of obligation drawn from a contractual arrangement with the lender, including letter of credit, standby letter of credit and revolving credit arrangements, under which borrowings can be made up to a specific amount at any point in time with maturities due beyond one year or the operating cycle, if longer." } } }, "auth_ref": [ "r76" ] }, "us-gaap_ResearchAndDevelopmentExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ResearchAndDevelopmentExpense", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeUnaudited" ], "lang": { "en-us": { "role": { "label": "Research and Development Expense", "terseLabel": "Product development", "documentation": "Amount of expense for research and development. Includes, but is not limited to, cost for computer software product to be sold, leased, or otherwise marketed and writeoff of research and development assets acquired in transaction other than business combination or joint venture formation or both. Excludes write-down of intangible asset acquired in business combination or from joint venture formation or both, used in research and development activity." } } }, "auth_ref": [ "r429", "r708", "r718", "r998" ] }, "us-gaap_ResearchAndDevelopmentExpenseMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ResearchAndDevelopmentExpenseMember", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Product development", "terseLabel": "Product development", "documentation": "Primary financial statement caption in which the reported facts about research and development expense have been included." } } }, "auth_ref": [] }, "ecd_RestatementDateAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "RestatementDateAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Restatement Determination Date [Axis]", "terseLabel": "Restatement Determination Date:" } } }, "auth_ref": [ "r787", "r797", "r807", "r839" ] }, "ecd_RestatementDeterminationDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "RestatementDeterminationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Restatement Determination Date", "terseLabel": "Restatement Determination Date" } } }, "auth_ref": [ "r788", "r798", "r808", "r840" ] }, "ecd_RestatementDoesNotRequireRecoveryTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "RestatementDoesNotRequireRecoveryTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Restatement Does Not Require Recovery [Text Block]", "terseLabel": "Restatement does not require Recovery" } } }, "auth_ref": [ "r795", "r805", "r815", "r847" ] }, "us-gaap_RestrictedCashAndCashEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RestrictedCashAndCashEquivalents", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnauditeds" ], "lang": { "en-us": { "role": { "label": "Restricted Cash and Cash Equivalents", "verboseLabel": "Restricted cash (included in prepaid expenses and other current assets on the Condensed Consolidated Balance Sheets)", "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." } } }, "auth_ref": [ "r20", "r97", "r135", "r165", "r584" ] }, "us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "Cash and Cash Equivalents [Domain]", "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." } } }, "auth_ref": [ "r135" ] }, "us-gaap_RestrictedStockUnitsRSUMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RestrictedStockUnitsRSUMember", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationRsusAndPsusDetails" ], "lang": { "en-us": { "role": { "label": "Restricted Stock Units (RSUs)", "terseLabel": "Restricted Stock Units (RSUs)", "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." } } }, "auth_ref": [] }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RetainedEarningsAccumulatedDeficit", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Retained Earnings (Accumulated Deficit)", "verboseLabel": "Retained earnings", "documentation": "Amount of accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r61", "r90", "r587", "r608", "r610", "r622", "r648", "r765" ] }, "us-gaap_RetainedEarningsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RetainedEarningsMember", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Retained Earnings", "terseLabel": "Retained Earnings", "documentation": "Accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r131", "r171", "r172", "r173", "r175", "r180", "r182", "r184", "r264", "r265", "r295", "r442", "r443", "r449", "r450", "r451", "r453", "r457", "r458", "r466", "r468", "r469", "r471", "r474", "r516", "r517", "r605", "r607", "r625", "r1032" ] }, "us-gaap_RevenueFromContractWithCustomerAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueFromContractWithCustomerAbstract", "lang": { "en-us": { "role": { "label": "Revenue" } } }, "auth_ref": [] }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/DisclosureRevenueDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeUnaudited" ], "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer, Excluding Assessed Tax", "terseLabel": "Revenue", "verboseLabel": "Total revenue", "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." } } }, "auth_ref": [ "r107", "r108", "r201", "r210", "r211", "r220", "r224", "r227", "r229", "r230", "r376", "r377", "r571" ] }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueFromContractWithCustomerTextBlock", "presentation": [ "http://www.doubleverify.com/role/DisclosureRevenue" ], "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer [Text Block]", "terseLabel": "Revenue", "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." } } }, "auth_ref": [ "r122", "r368", "r369", "r370", "r371", "r372", "r373", "r374", "r375", "r378" ] }, "us-gaap_RevenueRemainingPerformanceObligation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueRemainingPerformanceObligation", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/DisclosureRevenueDetails" ], "lang": { "en-us": { "role": { "label": "Revenue, Remaining Performance Obligation, Amount", "terseLabel": "Remaining performance obligation", "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue." } } }, "auth_ref": [ "r117" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1", "presentation": [ "http://www.doubleverify.com/role/DisclosureRevenueDetails" ], "lang": { "en-us": { "role": { "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period", "terseLabel": "Remaining performance obligations", "documentation": "Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r118" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis", "presentation": [ "http://www.doubleverify.com/role/DisclosureRevenueDetails" ], "lang": { "en-us": { "role": { "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]", "documentation": "Start date of time band for expected timing of satisfaction of remaining performance obligation, in YYYY-MM-DD format." } } }, "auth_ref": [ "r118" ] }, "us-gaap_RevolvingCreditFacilityMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevolvingCreditFacilityMember", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "New Revolving Credit Facility", "terseLabel": "New Revolving Credit Facility", "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount." } } }, "auth_ref": [] }, "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability", "terseLabel": "Right-of-use assets obtained in exchange for new operating lease liabilities, net of impairments and tenant improvement allowances", "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability." } } }, "auth_ref": [ "r530", "r764" ] }, "ecd_Rule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "Rule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Rule 10b5-1 Arrangement Adopted [Flag]", "terseLabel": "Rule 10b5-1 Arrangement Adopted" } } }, "auth_ref": [ "r856" ] }, "ecd_Rule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "Rule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Rule 10b5-1 Arrangement Terminated [Flag]", "terseLabel": "Rule 10b5-1 Arrangement Terminated" } } }, "auth_ref": [ "r856" ] }, "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock", "presentation": [ "http://www.doubleverify.com/role/DisclosureSupplementalFinancialStatementInformationTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Accrued Liabilities [Table Text Block]", "terseLabel": "Schedule of accrued expenses", "documentation": "Tabular disclosure of the components of accrued liabilities." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Acquired Finite-Lived Intangible Assets by Major Class [Table Text Block]", "terseLabel": "Schedule of weighted-average remaining useful life by major asset classes", "documentation": "Tabular disclosure of the characteristics, including initial carrying value, residual amount, weighted average useful life, of finite-lived intangible assets acquired during the period by major class. A major class is composed of intangible assets that can be grouped together because they are similar, either by nature or by their use in the operations of the company." } } }, "auth_ref": [ "r921", "r926" ] }, "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTable", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsAcquisitionDetails", "http://www.doubleverify.com/role/DisclosureDescriptionOfBusinessDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Business Acquisitions, by Acquisition [Table]", "documentation": "Disclosure of information about business combination. Includes, but is not limited to, recognized asset and liability." } } }, "auth_ref": [ "r39", "r41", "r455" ] }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "presentation": [ "http://www.doubleverify.com/role/DisclosureEarningsPerShareTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]", "terseLabel": "Schedule of computations of the basic and diluted EPS", "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." } } }, "auth_ref": [ "r894" ] }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table]", "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." } } }, "auth_ref": [ "r36" ] }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationTables" ], "lang": { "en-us": { "role": { "label": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]", "terseLabel": "Schedule of stock-based compensation expense", "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." } } }, "auth_ref": [ "r36" ] }, "us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementTables" ], "lang": { "en-us": { "role": { "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", "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)." } } }, "auth_ref": [ "r977", "r978" ] }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails", "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsWeightedAverageRemainingUsefulLifeDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Finite-Lived Intangible Assets [Table]", "documentation": "Disclosure of information about finite-lived intangible asset. Excludes indefinite-lived intangible asset." } } }, "auth_ref": [ "r282", "r289", "r292", "r293", "r294", "r572", "r708", "r726" ] }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]", "terseLabel": "Schedule of intangible assets and related accumulated amortization", "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment." } } }, "auth_ref": [ "r726", "r927" ] }, "us-gaap_ScheduleOfGoodwillTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfGoodwillTextBlock", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Goodwill [Table Text Block]", "terseLabel": "Summary of changes to the goodwill carrying value", "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule." } } }, "auth_ref": [ "r725", "r908", "r909", "r910", "r911", "r912", "r913", "r914", "r915", "r916", "r917", "r918" ] }, "us-gaap_ScheduleOfOtherNonoperatingIncomeByComponentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfOtherNonoperatingIncomeByComponentTextBlock", "presentation": [ "http://www.doubleverify.com/role/DisclosureSupplementalFinancialStatementInformationTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Other Nonoperating Income, by Component [Table Text Block]", "terseLabel": "Schedule of other income, net", "documentation": "Tabular disclosure of the detailed components of other nonoperating income. May include methodology, assumptions and amounts for: (a) dividends, (b) interest on securities, (c) profits on securities (net of losses), and (d) miscellaneous other income items." } } }, "auth_ref": [ "r71" ] }, "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfPropertyPlantAndEquipmentTable", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment [Table]", "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." } } }, "auth_ref": [ "r7", "r534" ] }, "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationRsusAndPsusDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationTables", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationValuationAssumptionsDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]", "documentation": "Disclosure of information about share-based payment arrangement." } } }, "auth_ref": [ "r391", "r393", "r396", "r397", "r398", "r399", "r400", "r401", "r402", "r403", "r404", "r405", "r406", "r407", "r408", "r409", "r410", "r411", "r412", "r413", "r414", "r415", "r416", "r417", "r418", "r419", "r420", "r421" ] }, "us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationTables" ], "lang": { "en-us": { "role": { "label": "Share-based Payment Arrangement, Restricted Stock Unit, Activity [Table Text Block]", "terseLabel": "Schedule of restricted stock activity", "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." } } }, "auth_ref": [ "r91" ] }, "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationTables" ], "lang": { "en-us": { "role": { "label": "Share-based Payment Arrangement, Option, Activity [Table Text Block]", "terseLabel": "Schedule of stock option activity", "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." } } }, "auth_ref": [ "r10", "r11", "r91" ] }, "us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]", "terseLabel": "Schedule of valuation assumptions", "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." } } }, "auth_ref": [ "r93" ] }, "dvh_ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesForFinanceAndOperatingLeasesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.doubleverify.com/20240630", "localname": "ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesForFinanceAndOperatingLeasesTableTextBlock", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeasesTables" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of weighted-average remaining lease terms and weighted-average discount rates for finance and operating leases.", "label": "Schedule Of Weighted Average Remaining Lease Terms And Discount Rates For Finance And Operating Leases [Table Text Block]", "terseLabel": "Schedule of weighted-average remaining lease terms and discount rates" } } }, "auth_ref": [] }, "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]", "terseLabel": "Schedule of estimated future expected amortization expense of intangible assets", "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets." } } }, "auth_ref": [ "r726", "r929" ] }, "dvh_ScibidsTechnologySasMember": { "xbrltype": "domainItemType", "nsuri": "http://www.doubleverify.com/20240630", "localname": "ScibidsTechnologySasMember", "presentation": [ "http://www.doubleverify.com/role/DisclosureBusinessCombinationsAcquisitionDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to Scibids Technology SAS.", "label": "Scibids Technology SAS [Member]", "terseLabel": "Scibids" } } }, "auth_ref": [] }, "us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "SOFR", "terseLabel": "SOFR", "documentation": "Fixed rate on U.S. dollar, constant-notional interest rate swap that has its variable-rate leg referenced to Secured Overnight Financing Rate (SOFR) with no additional spread over SOFR on variable-rate leg." } } }, "auth_ref": [ "r974" ] }, "dei_Security12bTitle": { "xbrltype": "securityTitleItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "Security12bTitle", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Title of 12(b) Security", "documentation": "Title of a 12(b) registered security." } } }, "auth_ref": [ "r781" ] }, "dei_SecurityExchangeName": { "xbrltype": "edgarExchangeCodeItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "SecurityExchangeName", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Security Exchange Name", "documentation": "Name of the Exchange on which a security is registered." } } }, "auth_ref": [ "r783" ] }, "us-gaap_SegmentReportingAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SegmentReportingAbstract", "lang": { "en-us": { "role": { "label": "Segment Information" } } }, "auth_ref": [] }, "us-gaap_SegmentReportingDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SegmentReportingDisclosureTextBlock", "presentation": [ "http://www.doubleverify.com/role/DisclosureSegmentInformation" ], "lang": { "en-us": { "role": { "label": "Segment Reporting Disclosure [Text Block]", "terseLabel": "Segment Information", "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." } } }, "auth_ref": [ "r110", "r201", "r205", "r206", "r207", "r208", "r209", "r217", "r218", "r219", "r222", "r223", "r224", "r225", "r226", "r227", "r228", "r230", "r715", "r716", "r717", "r718", "r720", "r721", "r722" ] }, "us-gaap_SellingAndMarketingExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SellingAndMarketingExpense", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeUnaudited" ], "lang": { "en-us": { "role": { "label": "Selling and Marketing Expense", "terseLabel": "Sales, marketing and customer support", "documentation": "The aggregate total amount of expenses directly related to the marketing or selling of products or services." } } }, "auth_ref": [] }, "us-gaap_SellingAndMarketingExpenseMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SellingAndMarketingExpenseMember", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Sales, marketing and customer support", "terseLabel": "Sales, marketing and customer support", "documentation": "Primary financial statement caption encompassing selling and marketing expense." } } }, "auth_ref": [ "r70" ] }, "us-gaap_ShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensation", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Share-based Payment Arrangement, Noncash Expense", "verboseLabel": "Stock-based compensation expense", "documentation": "Amount of noncash expense for share-based payment arrangement." } } }, "auth_ref": [ "r5" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period", "terseLabel": "Vesting period", "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." } } }, "auth_ref": [ "r746" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationRsusAndPsusDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period", "negatedLabel": "Forfeited", "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period." } } }, "auth_ref": [ "r412" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationRsusAndPsusDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value", "terseLabel": "Forfeited (in dollars per share)", "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event." } } }, "auth_ref": [ "r412" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationRsusAndPsusDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period", "terseLabel": "Granted", "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)." } } }, "auth_ref": [ "r410" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationRsusAndPsusDetails" ], "lang": { "en-us": { "role": { "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)", "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)." } } }, "auth_ref": [ "r410" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationRsusAndPsusDetails" ], "lang": { "en-us": { "role": { "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", "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." } } }, "auth_ref": [ "r407", "r408" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationRsusAndPsusDetails" ], "lang": { "en-us": { "role": { "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", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationRsusAndPsusDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value", "periodEndLabel": "Outstanding ending balance (in dollars per share)", "periodStartLabel": "Outstanding beginning balance (in dollars per share)", "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options." } } }, "auth_ref": [ "r407", "r408" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationRsusAndPsusDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]", "verboseLabel": "Weighted Average Grant Date Fair Value" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationRsusAndPsusDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period", "negatedLabel": "Vested", "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period." } } }, "auth_ref": [ "r411" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Fair Value", "terseLabel": "Vested, Fair value", "documentation": "Fair value of share-based awards for which the grantee gained the right by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash." } } }, "auth_ref": [ "r414" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationRsusAndPsusDetails" ], "lang": { "en-us": { "role": { "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)", "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." } } }, "auth_ref": [ "r411" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationValuationAssumptionsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions and Methodology [Abstract]" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationValuationAssumptionsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Volatility Rate", "terseLabel": "Expected volatility (percentage)", "documentation": "The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period." } } }, "auth_ref": [ "r418" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationValuationAssumptionsDetails" ], "lang": { "en-us": { "role": { "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", "documentation": "The maximum risk-free interest rate assumption that is used in valuing an option on its own shares." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationValuationAssumptionsDetails" ], "lang": { "en-us": { "role": { "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", "documentation": "The minimum risk-free interest rate assumption that is used in valuing an option on its own shares." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationRsusAndPsusDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationTables", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationValuationAssumptionsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]", "terseLabel": "Stock-Based Compensation", "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." } } }, "auth_ref": [ "r391", "r393", "r396", "r397", "r398", "r399", "r400", "r401", "r402", "r403", "r404", "r405", "r406", "r407", "r408", "r409", "r410", "r411", "r412", "r413", "r414", "r415", "r416", "r417", "r418", "r419", "r420", "r421" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Additional Disclosures [Abstract]", "terseLabel": "Additional disclosures" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Number", "periodEndLabel": "Options exercisable", "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." } } }, "auth_ref": [ "r401" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Exercise Price", "terseLabel": "Options exercisable (in dollars per share)", "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." } } }, "auth_ref": [ "r401" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value", "terseLabel": "Intrinsic value", "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." } } }, "auth_ref": [ "r414" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures in Period", "negatedLabel": "Options forfeited", "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." } } }, "auth_ref": [ "r405" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross", "terseLabel": "Options granted", "verboseLabel": "Granted", "documentation": "Gross number of share options (or share units) granted during the period." } } }, "auth_ref": [ "r403" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "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)", "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding." } } }, "auth_ref": [ "r35" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number", "periodEndLabel": "Outstanding ending balance", "periodStartLabel": "Outstanding beginning balance", "documentation": "Number of options outstanding, including both vested and non-vested options." } } }, "auth_ref": [ "r399", "r400" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]", "terseLabel": "Number of Options", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "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)", "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan." } } }, "auth_ref": [ "r399", "r400" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "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" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Exercisable, Aggregate Intrinsic Value", "terseLabel": "Aggregate Intrinsic Value, expected to vest", "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." } } }, "auth_ref": [ "r416" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number", "terseLabel": "Options expected to vest", "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." } } }, "auth_ref": [ "r415" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "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)", "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." } } }, "auth_ref": [ "r415" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationRsusAndPsusDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationTables", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationValuationAssumptionsDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "All Award Types", "terseLabel": "All Award Types", "documentation": "Award under share-based payment arrangement." } } }, "auth_ref": [ "r396", "r397", "r398", "r399", "r400", "r401", "r402", "r403", "r404", "r405", "r406", "r407", "r408", "r409", "r410", "r411", "r412", "r413", "r414", "r415", "r416", "r417", "r418", "r419", "r420", "r421" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "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)", "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares." } } }, "auth_ref": [ "r404" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "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)", "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to stock options that were terminated." } } }, "auth_ref": [ "r405" ] }, "dvh_ShareBasedCompensationIncludedInCapitalizedSoftwareDevelopmentCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://www.doubleverify.com/20240630", "localname": "ShareBasedCompensationIncludedInCapitalizedSoftwareDevelopmentCosts", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "documentation": "Amount of noncash expense for share-based payment arrangement included in capitalized software development costs.", "label": "Share-based Compensation Included in Capitalized Software Development Costs", "terseLabel": "Stock-based compensation included in capitalized software development costs" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationPerformanceSharesAwardOutstandingActivityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationPerformanceSharesAwardOutstandingActivityTableTextBlock", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationTables" ], "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement, Performance Shares, Outstanding Activity [Table Text Block]", "terseLabel": "Schedule of PSUs activity", "documentation": "Tabular disclosure of the number and weighted-average grant date fair value for outstanding performance shares." } } }, "auth_ref": [ "r13" ] }, "srt_ShareRepurchaseProgramAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "ShareRepurchaseProgramAxis", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Share Repurchase Program [Axis]", "documentation": "Information by share repurchase program." } } }, "auth_ref": [ "r945" ] }, "srt_ShareRepurchaseProgramDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "ShareRepurchaseProgramDomain", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Share Repurchase Program [Domain]", "documentation": "Name of share repurchase program." } } }, "auth_ref": [ "r945" ] }, "dvh_ShareRepurchaseProgramMember": { "xbrltype": "domainItemType", "nsuri": "http://www.doubleverify.com/20240630", "localname": "ShareRepurchaseProgramMember", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to share repurchase program", "label": "Share Repurchase Program [Member]" } } }, "auth_ref": [] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period", "terseLabel": "Term of award", "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." } } }, "auth_ref": [ "r747" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Intrinsic Value", "terseLabel": "Aggregate Intrinsic Value, exercisable", "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." } } }, "auth_ref": [ "r35" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term", "terseLabel": "Options exercisable (Years)", "documentation": "Weighted average remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r35" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term", "terseLabel": "Weighted Average Remaining Contractual Life (Years)", "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." } } }, "auth_ref": [ "r92" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Remaining Contractual Term", "terseLabel": "Options expected to vest (in years)", "documentation": "Weighted average remaining contractual term for fully vested and expected to vest options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur." } } }, "auth_ref": [ "r415" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Purchase Price of Common Stock, Percent", "terseLabel": "Purchase price of common stock purchased (in percent)", "documentation": "Purchase price of common stock expressed as a percentage of its fair value." } } }, "auth_ref": [] }, "us-gaap_SharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SharesIssued", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Shares, Issued", "periodEndLabel": "Balance (in shares)", "periodStartLabel": "Balance (in shares)", "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." } } }, "auth_ref": [ "r9" ] }, "us-gaap_ShortTermInvestments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShortTermInvestments", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Short-Term Investments", "terseLabel": "Short-term investments", "documentation": "Amount of investments including trading securities, available-for-sale securities, held-to-maturity securities, and short-term investments classified as other and current." } } }, "auth_ref": [ "r103", "r104", "r878" ] }, "us-gaap_ShortTermLeaseCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShortTermLeaseCost", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeasesLeasesCostDetails" ], "lang": { "en-us": { "role": { "label": "Short-term Lease, Cost", "terseLabel": "Short-term lease cost (1)", "documentation": "Amount of short-term lease cost, excluding expense for lease with term of one month or less." } } }, "auth_ref": [ "r527", "r764" ] }, "us-gaap_SoftwareAndSoftwareDevelopmentCostsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SoftwareAndSoftwareDevelopmentCostsMember", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Capitalized software development costs", "terseLabel": "Capitalized software development costs", "documentation": "Purchased software applications and internally developed software for sale, licensing or long-term internal use." } } }, "auth_ref": [] }, "us-gaap_StatementClassOfStockAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StatementClassOfStockAxis", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Class of Stock [Axis]", "documentation": "Information by the different classes of stock of the entity." } } }, "auth_ref": [ "r123", "r142", "r143", "r144", "r168", "r188", "r192", "r194", "r196", "r203", "r204", "r263", "r315", "r317", "r318", "r319", "r322", "r323", "r353", "r354", "r356", "r359", "r366", "r500", "r618", "r619", "r620", "r621", "r625", "r626", "r627", "r628", "r629", "r630", "r631", "r632", "r633", "r634", "r635", "r636", "r647", "r668", "r687", "r699", "r700", "r701", "r702", "r703", "r867", "r886", "r893" ] }, "us-gaap_StatementEquityComponentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StatementEquityComponentsAxis", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Equity Components [Axis]", "documentation": "Information by component of equity." } } }, "auth_ref": [ "r9", "r59", "r62", "r63", "r131", "r152", "r153", "r154", "r171", "r172", "r173", "r175", "r180", "r182", "r184", "r202", "r264", "r265", "r295", "r367", "r442", "r443", "r449", "r450", "r451", "r453", "r457", "r458", "r466", "r467", "r468", "r469", "r470", "r471", "r474", "r506", "r507", "r508", "r509", "r510", "r511", "r516", "r517", "r535", "r594", "r605", "r606", "r607", "r625", "r687" ] }, "us-gaap_StatementLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StatementLineItems", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Statement [Line Items]", "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." } } }, "auth_ref": [ "r171", "r172", "r173", "r202", "r517", "r571", "r614", "r636", "r639", "r640", "r641", "r642", "r643", "r644", "r647", "r650", "r651", "r652", "r653", "r654", "r655", "r656", "r657", "r658", "r660", "r661", "r662", "r663", "r664", "r666", "r669", "r670", "r672", "r673", "r674", "r675", "r676", "r677", "r678", "r679", "r680", "r681", "r682", "r683", "r687", "r773" ] }, "us-gaap_StatementOfCashFlowsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StatementOfCashFlowsAbstract", "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (UNAUDITED)" } } }, "auth_ref": [] }, "us-gaap_StatementOfFinancialPositionAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StatementOfFinancialPositionAbstract", "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED BALANCE SHEETS (UNAUDITED)" } } }, "auth_ref": [] }, "us-gaap_StatementOfStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StatementOfStockholdersEquityAbstract", "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (UNAUDITED)" } } }, "auth_ref": [] }, "us-gaap_StatementTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StatementTable", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Statement [Table]", "documentation": "Disclosure of information about statement of comprehensive income, income, other comprehensive income, financial position, cash flows, and shareholders' equity." } } }, "auth_ref": [ "r171", "r172", "r173", "r202", "r231", "r517", "r571", "r614", "r636", "r639", "r640", "r641", "r642", "r643", "r644", "r647", "r650", "r651", "r652", "r653", "r654", "r655", "r656", "r657", "r658", "r660", "r661", "r662", "r663", "r664", "r666", "r669", "r670", "r672", "r673", "r674", "r675", "r676", "r677", "r678", "r679", "r680", "r681", "r682", "r683", "r687", "r773" ] }, "ecd_StkPrcOrTsrEstimationMethodTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "StkPrcOrTsrEstimationMethodTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Stock Price or TSR Estimation Method [Text Block]", "terseLabel": "Stock Price or TSR Estimation Method" } } }, "auth_ref": [ "r790", "r800", "r810", "r842" ] }, "us-gaap_StockAppreciationRightsSARSMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockAppreciationRightsSARSMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Stock Appreciation Rights (SARs) [Member]", "terseLabel": "Stock Appreciation Rights (SARs)", "documentation": "Right to receive cash or shares equal to appreciation of predetermined number of grantor's shares during predetermined time period." } } }, "auth_ref": [] }, "us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Shares, Employee Stock Purchase Plans", "terseLabel": "Common stock issued under employee purchase plan (in shares)", "documentation": "Number of shares issued during the period as a result of an employee stock purchase plan." } } }, "auth_ref": [ "r9", "r58", "r59", "r90" ] }, "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardGross", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Shares, Restricted Stock Award, Gross", "terseLabel": "Common stock issued upon vesting of restricted stock units (in shares)", "documentation": "Total number of shares issued during the period, including shares forfeited, as a result of Restricted Stock Awards." } } }, "auth_ref": [ "r9", "r90" ] }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "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)", "verboseLabel": "Options exercised", "documentation": "Number of share options (or share units) exercised during the current period." } } }, "auth_ref": [ "r9", "r58", "r59", "r90", "r404" ] }, "us-gaap_StockIssuedDuringPeriodSharesTreasuryStockReissued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockIssuedDuringPeriodSharesTreasuryStockReissued", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Shares, Treasury Stock Reissued", "terseLabel": "Treasury stock reissued upon settlement of equity awards (in shares)", "documentation": "Number of treasury shares or units reissued. Excludes reissuance of shares or units in treasury for award under share-based payment arrangement." } } }, "auth_ref": [ "r9", "r59", "r90" ] }, "us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockIssuedDuringPeriodValueEmployeeStockPurchasePlan", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Value, Employee Stock Purchase Plan", "terseLabel": "Common stock issued under employee purchase plan", "documentation": "Aggregate change in value for stock issued during the period as a result of employee stock purchase plan." } } }, "auth_ref": [ "r9", "r58", "r59", "r90" ] }, "us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockIssuedDuringPeriodValueRestrictedStockAwardGross", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Value, Restricted Stock Award, Gross", "terseLabel": "Common stock issued upon vesting of restricted stock units", "documentation": "Aggregate value of stock related to Restricted Stock Awards issued during the period." } } }, "auth_ref": [ "r9", "r58", "r59", "r90" ] }, "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockIssuedDuringPeriodValueStockOptionsExercised", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Value, Stock Options Exercised", "terseLabel": "Common stock issued upon exercise of stock options", "documentation": "Value of stock issued as a result of the exercise of stock options." } } }, "auth_ref": [ "r9", "r59", "r62", "r63", "r90" ] }, "us-gaap_StockIssuedDuringPeriodValueTreasuryStockReissued": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockIssuedDuringPeriodValueTreasuryStockReissued", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Value, Treasury Stock Reissued", "verboseLabel": "Treasury stock reissued upon settlement of equity awards", "documentation": "Value of treasury shares or units reissued. Excludes reissuance of shares or units in treasury for award under share-based payment arrangement." } } }, "auth_ref": [ "r9", "r33", "r58", "r59", "r90" ] }, "srt_StockRepurchaseProgramAuthorizedAmount1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "StockRepurchaseProgramAuthorizedAmount1", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Share Repurchase Program, Authorized, Amount", "terseLabel": "Share repurchase program, authorized amount", "documentation": "Amount authorized for purchase of share under share repurchase plan. Includes, but is not limited to, repurchase of stock and unit of ownership." } } }, "auth_ref": [ "r945" ] }, "us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Share Repurchase Program, Remaining Authorized, Amount", "terseLabel": "Remaining Authorized, Amount", "documentation": "Amount remaining authorized for purchase of share under share repurchase plan. Includes, but is not limited to, repurchase of stock and unit of ownership." } } }, "auth_ref": [] }, "dvh_StockRepurchasedDuringPeriodValueHeldInTreasury": { "xbrltype": "monetaryItemType", "nsuri": "http://www.doubleverify.com/20240630", "localname": "StockRepurchasedDuringPeriodValueHeldInTreasury", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "documentation": "Equity impact of the value of stock that has been repurchased during the period and is held in treasury.", "label": "Stock Repurchased During Period, Value Held in Treasury", "negatedLabel": "Shares repurchased for settlement of employee tax withholdings" } } }, "auth_ref": [] }, "us-gaap_StockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockholdersEquity", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Stockholders' Equity Attributable to Parent", "periodEndLabel": "Balance", "periodStartLabel": "Balance", "totalLabel": "Total stockholders' equity", "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest." } } }, "auth_ref": [ "r59", "r62", "r63", "r81", "r649", "r665", "r688", "r689", "r765", "r780", "r888", "r906", "r984", "r1032" ] }, "us-gaap_StockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockholdersEquityAbstract", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Stockholders' Equity Attributable to Parent [Abstract]", "terseLabel": "Stockholders' equity" } } }, "auth_ref": [] }, "us-gaap_StockholdersEquityNoteDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockholdersEquityNoteDisclosureTextBlock", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stockholders' Equity Note Disclosure [Text Block]", "terseLabel": "Stockholders' Equity", "documentation": "The entire disclosure for equity." } } }, "auth_ref": [ "r87", "r167", "r352", "r354", "r355", "r356", "r357", "r358", "r359", "r360", "r361", "r362", "r363", "r365", "r367", "r473", "r690", "r691", "r704" ] }, "us-gaap_SubleaseIncome": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SubleaseIncome", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeasesLeasesCostDetails" ], "lang": { "en-us": { "role": { "label": "Sublease Income", "negatedLabel": "Sublease income (1)", "documentation": "Amount of sublease income excluding finance and operating lease expense." } } }, "auth_ref": [ "r528", "r764" ] }, "us-gaap_SubsequentEventLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SubsequentEventLineItems", "presentation": [ "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Subsequent Event [Line Items]", "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." } } }, "auth_ref": [ "r512", "r537" ] }, "us-gaap_SubsequentEventMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SubsequentEventMember", "presentation": [ "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Subsequent Event", "terseLabel": "Subsequent Event", "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued." } } }, "auth_ref": [ "r512", "r537" ] }, "us-gaap_SubsequentEventTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SubsequentEventTable", "presentation": [ "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Subsequent Event [Table]", "documentation": "Disclosure of information about significant event or transaction occurring between statement of financial position date and date when financial statements were issued." } } }, "auth_ref": [ "r512", "r537" ] }, "us-gaap_SubsequentEventTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SubsequentEventTypeAxis", "presentation": [ "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Subsequent Event Type [Axis]", "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued." } } }, "auth_ref": [ "r512", "r537" ] }, "us-gaap_SubsequentEventTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SubsequentEventTypeDomain", "presentation": [ "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Subsequent Event Type [Domain]", "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued." } } }, "auth_ref": [ "r512", "r537" ] }, "us-gaap_SubsequentEventsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SubsequentEventsAbstract", "lang": { "en-us": { "role": { "label": "Subsequent Events" } } }, "auth_ref": [] }, "us-gaap_SubsequentEventsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SubsequentEventsTextBlock", "presentation": [ "http://www.doubleverify.com/role/DisclosureSubsequentEvents" ], "lang": { "en-us": { "role": { "label": "Subsequent Events [Text Block]", "terseLabel": "Subsequent Events", "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." } } }, "auth_ref": [ "r536", "r538" ] }, "us-gaap_SupplementalCashFlowInformationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SupplementalCashFlowInformationAbstract", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Supplemental Cash Flow Information [Abstract]", "terseLabel": "Supplemental cash flow information:" } } }, "auth_ref": [] }, "dvh_SupplySideCustomerMember": { "xbrltype": "domainItemType", "nsuri": "http://www.doubleverify.com/20240630", "localname": "SupplySideCustomerMember", "presentation": [ "http://www.doubleverify.com/role/DisclosureRevenueDetails" ], "lang": { "en-us": { "role": { "documentation": "It represents the information pertaining to supply side customer.", "label": "Supply-side customer", "terseLabel": "Supply - side customer" } } }, "auth_ref": [] }, "ecd_TabularListTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TabularListTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Tabular List [Table Text Block]", "terseLabel": "Tabular List, Table" } } }, "auth_ref": [ "r836" ] }, "us-gaap_TaxesPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "TaxesPayableCurrent", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Taxes Payable, Current", "terseLabel": "Income tax liabilities", "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)." } } }, "auth_ref": [ "r50", "r51" ] }, "ecd_TotalShareholderRtnAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TotalShareholderRtnAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Total Shareholder Return Amount", "terseLabel": "Total Shareholder Return Amount" } } }, "auth_ref": [ "r828" ] }, "ecd_TotalShareholderRtnVsPeerGroupTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TotalShareholderRtnVsPeerGroupTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Total Shareholder Return Vs Peer Group [Text Block]", "terseLabel": "Total Shareholder Return Vs Peer Group" } } }, "auth_ref": [ "r835" ] }, "us-gaap_TrademarksAndTradeNamesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "TrademarksAndTradeNamesMember", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails", "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsWeightedAverageRemainingUsefulLifeDetails" ], "lang": { "en-us": { "role": { "label": "Trademarks and brands", "terseLabel": "Trademarks and brands", "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." } } }, "auth_ref": [ "r43", "r920", "r922", "r923", "r924", "r925", "r926", "r928", "r930", "r931", "r932" ] }, "ecd_TradingArrAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TradingArrAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement [Axis]", "terseLabel": "Trading Arrangement:" } } }, "auth_ref": [ "r855" ] }, "ecd_TradingArrByIndTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TradingArrByIndTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangements, by Individual [Table]", "terseLabel": "Trading Arrangements, by Individual" } } }, "auth_ref": [ "r857" ] }, "dei_TradingSymbol": { "xbrltype": "tradingSymbolItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "TradingSymbol", "presentation": [ "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Trading Symbol", "documentation": "Trading symbol of an instrument as listed on an exchange." } } }, "auth_ref": [] }, "us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "Financial Instruments [Domain]", "documentation": "Instrument or contract that imposes a contractual obligation to deliver cash or another financial instrument or to exchange other financial instruments on potentially unfavorable terms and conveys a contractual right to receive cash or another financial instrument or to exchange other financial instruments on potentially favorable terms." } } }, "auth_ref": [ "r233", "r234", "r235", "r236", "r237", "r238", "r239", "r240", "r241", "r242", "r243", "r244", "r245", "r246", "r247", "r248", "r249", "r250", "r251", "r252", "r253", "r254", "r255", "r256", "r257", "r258", "r259", "r260", "r261", "r262", "r349", "r364", "r472", "r499", "r539", "r540", "r541", "r542", "r543", "r544", "r545", "r546", "r547", "r548", "r549", "r550", "r551", "r552", "r553", "r555", "r556", "r557", "r558", "r559", "r560", "r561", "r562", "r563", "r564", "r565", "r566", "r567", "r568", "r569", "r595", "r751", "r754", "r756", "r757", "r758", "r759", "r760", "r761", "r762", "r766", "r871", "r872", "r873", "r874", "r875", "r876", "r877", "r902", "r903", "r904", "r905", "r976", "r979", "r980", "r981", "r982", "r983" ] }, "ecd_TrdArrAdoptionDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TrdArrAdoptionDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Adoption Date", "terseLabel": "Adoption Date" } } }, "auth_ref": [ "r858" ] }, "ecd_TrdArrDuration": { "xbrltype": "durationItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TrdArrDuration", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Duration", "terseLabel": "Arrangement Duration" } } }, "auth_ref": [ "r859" ] }, "ecd_TrdArrExpirationDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TrdArrExpirationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Expiration Date", "terseLabel": "Expiration Date" } } }, "auth_ref": [ "r859" ] }, "ecd_TrdArrIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TrdArrIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r857" ] }, "ecd_TrdArrIndTitle": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TrdArrIndTitle", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Individual Title", "terseLabel": "Title" } } }, "auth_ref": [ "r857" ] }, "ecd_TrdArrSecuritiesAggAvailAmt": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TrdArrSecuritiesAggAvailAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Securities Aggregate Available Amount", "terseLabel": "Aggregate Available" } } }, "auth_ref": [ "r860" ] }, "ecd_TrdArrTerminationDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TrdArrTerminationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Termination Date", "terseLabel": "Termination Date" } } }, "auth_ref": [ "r858" ] }, "us-gaap_TreasuryStockCommonMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "TreasuryStockCommonMember", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Treasury Stock", "terseLabel": "Treasury Stock", "documentation": "Previously issued common shares repurchased by the issuing entity and held in treasury." } } }, "auth_ref": [ "r33" ] }, "us-gaap_TreasuryStockCommonShares": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "TreasuryStockCommonShares", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnauditedParenthetical" ], "lang": { "en-us": { "role": { "label": "Treasury Stock, Common, Shares", "terseLabel": "Treasury stock, shares", "documentation": "Number of previously issued common shares repurchased by the issuing entity and held in treasury." } } }, "auth_ref": [ "r33" ] }, "us-gaap_TreasuryStockCommonValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "TreasuryStockCommonValue", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Treasury Stock, Common, Value", "negatedLabel": "Treasury stock, at cost, 1,390 shares and 22 shares as of June 30, 2024 and December 31, 2023, respectively", "documentation": "Amount allocated to previously issued common shares repurchased by the issuing entity and held in treasury." } } }, "auth_ref": [ "r33", "r34", "r62" ] }, "us-gaap_TreasuryStockSharesAcquired": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "TreasuryStockSharesAcquired", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Treasury Stock, Shares, Acquired", "terseLabel": "Share repurchase program, shares repurchased", "documentation": "Number of shares that have been repurchased during the period and are being held in treasury." } } }, "auth_ref": [ "r9", "r59", "r90" ] }, "dvh_TreasuryStockSharesAcquiredForSettlementOfEmployeeTaxWithholdings": { "xbrltype": "sharesItemType", "nsuri": "http://www.doubleverify.com/20240630", "localname": "TreasuryStockSharesAcquiredForSettlementOfEmployeeTaxWithholdings", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "documentation": "Number of shares that have been repurchased during the period for settlement of employee tax withholdings.", "label": "Treasury Stock, Shares Acquired For Settlement of Employee Tax Withholdings", "terseLabel": "Shares repurchased for settlement of employee tax withholdings (in shares)" } } }, "auth_ref": [] }, "us-gaap_TreasuryStockValueAcquiredCostMethod": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "TreasuryStockValueAcquiredCostMethod", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockholdersEquityDetails", "http://www.doubleverify.com/role/DisclosureSubsequentEventsDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Treasury Stock, Value, Acquired, Cost Method", "terseLabel": "Share repurchase program, amount repurchased", "verboseLabel": "Shares repurchased under the Repurchase Program", "documentation": "Equity impact of the cost of common and preferred stock that were repurchased during the period. Recorded using the cost method." } } }, "auth_ref": [ "r9", "r33", "r90" ] }, "us-gaap_USTreasurySecuritiesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "USTreasurySecuritiesMember", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "Treasury Bills", "terseLabel": "Treasury Bills", "documentation": "This category includes information about debt securities issued by the United States Department of the Treasury and backed by the United States government. Such securities primarily consist of treasury bills (short-term maturities - one year or less), treasury notes (intermediate term maturities - two to ten years), and treasury bonds (long-term maturities - ten to thirty years)." } } }, "auth_ref": [ "r711", "r740", "r742", "r751", "r999" ] }, "us-gaap_UnbilledReceivablesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "UnbilledReceivablesCurrent", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/DisclosureRevenueDetails" ], "lang": { "en-us": { "role": { "label": "Unbilled Receivables, Current", "terseLabel": "Unbilled receivable", "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." } } }, "auth_ref": [] }, "us-gaap_UnconditionalPurchaseObligationCategoryOfGoodsOrServicesAcquiredDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "UnconditionalPurchaseObligationCategoryOfGoodsOrServicesAcquiredDomain", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeasesNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "Unconditional Purchase Obligation, Category of Goods or Services Acquired [Domain]", "documentation": "General description of the goods or services to be purchased from the counterparty to the unconditional purchase arrangement." } } }, "auth_ref": [ "r304", "r305", "r307", "r308" ] }, "ecd_UndrlygSecurityMktPriceChngPct": { "xbrltype": "pureItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "UndrlygSecurityMktPriceChngPct", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Underlying Security Market Price Change, Percent", "terseLabel": "Underlying Security Market Price Change" } } }, "auth_ref": [ "r854" ] }, "us-gaap_UnrecordedUnconditionalPurchaseObligationBalanceSheetAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "UnrecordedUnconditionalPurchaseObligationBalanceSheetAmount", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeasesNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "Unrecorded Unconditional Purchase Obligation", "terseLabel": "Unconditional Purchase Obligation", "documentation": "Amount of unrecorded obligation to transfer funds in future for fixed or minimum amount or quantity of product and service at fixed or minimum price. Includes, but is not limited to, lease not yet commenced and take-or-pay and throughput contracts." } } }, "auth_ref": [ "r305", "r987" ] }, "us-gaap_UnrecordedUnconditionalPurchaseObligationByCategoryOfItemPurchasedAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "UnrecordedUnconditionalPurchaseObligationByCategoryOfItemPurchasedAxis", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeasesNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "Unrecorded Unconditional Purchase Obligation by Category of Item Purchased [Axis]", "documentation": "Information by category of product and service for unrecorded unconditional purchase arrangement to acquire product or service or both." } } }, "auth_ref": [ "r304", "r305", "r307" ] }, "us-gaap_UnrecordedUnconditionalPurchaseObligationLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "UnrecordedUnconditionalPurchaseObligationLineItems", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeasesNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "Unrecorded Unconditional Purchase Obligation [Line Items]", "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." } } }, "auth_ref": [ "r304", "r305", "r307" ] }, "us-gaap_UnrecordedUnconditionalPurchaseObligationTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "UnrecordedUnconditionalPurchaseObligationTable", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeasesNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "Unrecorded Unconditional Purchase Obligation [Table]", "documentation": "Disclosure of information about unrecorded unconditional purchase obligation arrangement to purchase product and service. Includes, but is not limited to, information about asset pledged to secure payment and payment due in each of next five years and thereafter." } } }, "auth_ref": [ "r304", "r305", "r307" ] }, "us-gaap_UseOfEstimates": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "UseOfEstimates", "presentation": [ "http://www.doubleverify.com/role/DisclosureBasisOfPresentationAndSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Use of Estimates, Policy [Policy Text Block]", "terseLabel": "Use of Estimates and Judgments in the Preparation of the Condensed Consolidated Financial Statements", "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles." } } }, "auth_ref": [ "r25", "r26", "r27", "r112", "r113", "r115", "r116" ] }, "us-gaap_VariableRateAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "VariableRateAxis", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Variable Rate [Axis]", "documentation": "Information by type of variable rate." } } }, "auth_ref": [] }, "us-gaap_VariableRateDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "VariableRateDomain", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Variable Rate [Domain]", "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index." } } }, "auth_ref": [] }, "ecd_VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year [Member]", "terseLabel": "Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year" } } }, "auth_ref": [ "r824" ] }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "presentation": [ "http://www.doubleverify.com/role/DisclosureEarningsPerShareDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeUnaudited" ], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Diluted", "terseLabel": "Diluted", "verboseLabel": "Weighted-average dilutive shares outstanding", "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." } } }, "auth_ref": [ "r187", "r196" ] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "WeightedAverageNumberOfSharesOutstandingAbstract", "presentation": [ "http://www.doubleverify.com/role/DisclosureEarningsPerShareDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeUnaudited" ], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Diluted [Abstract]", "terseLabel": "Weighted-average common stock outstanding:", "verboseLabel": "Denominator:" } } }, "auth_ref": [] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "presentation": [ "http://www.doubleverify.com/role/DisclosureEarningsPerShareDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeUnaudited" ], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Basic", "terseLabel": "Basic", "verboseLabel": "Weighted-average common shares outstanding", "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." } } }, "auth_ref": [ "r186", "r196" ] }, "ecd_YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested [Member]", "terseLabel": "Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested" } } }, "auth_ref": [ "r822" ] } } } }, "std_ref": { "r0": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "16", "SubTopic": "10", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479405/805-10-25-16" }, "r1": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "SubTopic": "230", "Topic": "830", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477401/830-230-45-1" }, "r2": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A" }, "r3": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A" }, "r4": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "14", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-14" }, "r5": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28" }, "r6": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28" }, "r7": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "10", "Topic": "360", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1" }, "r8": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(c)(3)", "SubTopic": "10", "Topic": "810", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1A" }, "r9": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "SubTopic": "10", "Topic": "505", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-2" }, "r10": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r11": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r12": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2A", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2A" }, "r13": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Subparagraph": "(c)", "Paragraph": "2", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r14": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(22))", "SubTopic": "10", "Topic": "210", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r15": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "220", "SubTopic": "10", "Section": "45", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-14" }, "r16": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "220", "SubTopic": "10", "Section": "45", "Paragraph": "14A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-14A" }, "r17": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "220", "SubTopic": "10", "Section": "45", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-5" }, "r18": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "13", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-13" }, "r19": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "14", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-14" }, "r20": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-4" }, "r21": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-2" }, "r22": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-3" }, "r23": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-4" }, "r24": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-5" }, "r25": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-4" }, "r26": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-8" }, "r27": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-9" }, "r28": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "360", "SubTopic": "10", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482130/360-10-45-4" }, "r29": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "360", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1" }, "r30": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "360", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1" }, "r31": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-3" }, "r32": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "10", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-8" }, "r33": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "30", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481549/505-30-45-1" }, "r34": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "30", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481520/505-30-50-4" }, "r35": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r36": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r37": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "20", "Section": "55", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481089/718-20-55-12" }, "r38": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "20", "Section": "55", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481089/718-20-55-13" }, "r39": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2" }, "r40": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2" }, "r41": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-3" }, "r42": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "50", "Paragraph": "4A", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-4A" }, "r43": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "55", "Paragraph": "14", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-14" }, "r44": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "55", "Paragraph": "14", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-14" }, "r45": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "55", "Paragraph": "20", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-20" }, "r46": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "942", "SubTopic": "470", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477734/942-470-50-3" }, "r47": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "205", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/205/tableOfContent" }, "r48": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(19)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r49": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(19)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r50": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r51": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r52": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(21))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r53": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(22)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r54": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r55": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(24))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r56": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r57": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(26))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r58": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(28))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r59": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(29))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r60": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r61": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r62": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r63": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(31))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r64": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(32))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r65": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-11" }, "r66": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(10))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r67": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r68": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(2)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r69": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r70": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r71": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r72": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r73": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-13" }, "r74": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-13" }, "r75": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "15", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15" }, "r76": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "15", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15" }, "r77": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-24" }, "r78": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-25" }, "r79": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28" }, "r80": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "235", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/235/tableOfContent" }, "r81": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 4.E)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480418/310-10-S99-2" }, "r82": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "360", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/360/tableOfContent" }, "r83": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1" }, "r84": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-2" }, "r85": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "440", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/440/tableOfContent" }, "r86": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "470", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/470/tableOfContent" }, "r87": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/505/tableOfContent" }, "r88": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-6" }, "r89": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-7" }, "r90": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.3-04)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480008/505-10-S99-1" }, "r91": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r92": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "718", "SubTopic": "10", "Subparagraph": "(e)(1)", "Name": "Accounting Standards Codification", "Paragraph": "2", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r93": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "718", "SubTopic": "10", "Subparagraph": "(f)(2)", "Name": "Accounting Standards Codification", "Paragraph": "2", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r94": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "805", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/805/tableOfContent" }, "r95": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "38", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-38" }, "r96": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "810", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/810/tableOfContent" }, "r97": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(1)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r98": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r99": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(13))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r100": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(16))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r101": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r102": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r103": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r104": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r105": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1" }, "r106": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1" }, "r107": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r108": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r109": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r110": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r111": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Subparagraph": "(a)", "SubTopic": "20", "Topic": "740", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482659/740-20-45-2" }, "r112": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-1" }, "r113": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-1" }, "r114": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "SubTopic": "360", "Topic": "958", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477798/958-360-50-1" }, "r115": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-11" }, "r116": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-12" }, "r117": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-13" }, "r118": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)(1)", "SubTopic": "10", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-13" }, "r119": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "SubTopic": "360", "Topic": "958", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477798/958-360-50-6" }, "r120": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "SubTopic": "360", "Topic": "958", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477798/958-360-50-7" }, "r121": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(h))", "SubTopic": "10", "Topic": "235", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r122": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org/606/tableOfContent" }, "r123": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "a", "Publisher": "SEC" }, "r124": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "12", "Paragraph": "Column A", "Footnote": "2", "Publisher": "SEC" }, "r125": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "12A", "Paragraph": "Column A", "Footnote": "2", "Publisher": "SEC" }, "r126": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "12B", "Paragraph": "Column A", "Subparagraph": "(a)", "Footnote": "4", "Publisher": "SEC" }, "r127": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "12B", "Paragraph": "Column A", "Subparagraph": "(b)", "Footnote": "4", "Publisher": "SEC" }, "r128": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "14", "Paragraph": "Column A", "Footnote": "2", "Publisher": "SEC" }, "r129": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Staff Accounting Bulletin (SAB)", "Number": "Topic 5", "Section": "Y", "Paragraph": "Question 2", "Publisher": "SEC" }, "r130": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Staff Accounting Bulletin (SAB)", "Number": "Topic 5", "Section": "Y", "Paragraph": "Question 4", "Publisher": "SEC" }, "r131": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "105", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-6" }, "r132": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "205", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483499/205-20-50-7" }, "r133": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1" }, "r134": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-5" }, "r135": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r136": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(13))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r137": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(14))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r138": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r139": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(16))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r140": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r141": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r142": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(27)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r143": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(28))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r144": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(29))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r145": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r146": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r147": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r148": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1A" }, "r149": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1A" }, "r150": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1B" }, "r151": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1B" }, "r152": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-4" }, "r153": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-5" }, "r154": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-6" }, "r155": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(24))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r156": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r157": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r158": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "15", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15" }, "r159": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "17", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-17" }, "r160": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-2" }, "r161": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-24" }, "r162": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-25" }, "r163": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-2" }, "r164": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-2A" }, "r165": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-8" }, "r166": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r167": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(e)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r168": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r169": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(h)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r170": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-04(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-3" }, "r171": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-23" }, "r172": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-24" }, "r173": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-5" }, "r174": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1" }, "r175": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1" }, "r176": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-11" }, "r177": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-11" }, "r178": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-3" }, "r179": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-4" }, "r180": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-6" }, "r181": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-7" }, "r182": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-7" }, "r183": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-8" }, "r184": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-9" }, "r185": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/260/tableOfContent" }, "r186": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-10" }, "r187": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-16" }, "r188": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-2" }, "r189": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-22" }, "r190": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-23" }, "r191": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-28A" }, "r192": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-3" }, "r193": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "60B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-60B" }, "r194": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "60B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-60B" }, "r195": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-7" }, "r196": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1" }, "r197": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1" }, "r198": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-2" }, "r199": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-3" }, "r200": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482635/260-10-55-15" }, "r201": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "270", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1" }, "r202": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "272", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483014/272-10-45-1" }, "r203": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "272", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482987/272-10-50-1" }, "r204": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "272", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482987/272-10-50-3" }, "r205": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/280/tableOfContent" }, "r206": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-15" }, "r207": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-21" }, "r208": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-21" }, "r209": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r210": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r211": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r212": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r213": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r214": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r215": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r216": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-24" }, "r217": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "26", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26" }, "r218": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "26B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26B" }, "r219": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "26C", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26C" }, "r220": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30" }, "r221": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30" }, "r222": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-31" }, "r223": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r224": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(ee)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r225": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r226": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "34", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-34" }, "r227": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "40", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-40" }, "r228": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41" }, "r229": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41" }, "r230": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "42", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-42" }, "r231": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-13" }, "r232": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-4" }, "r233": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-2" }, "r234": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-2" }, "r235": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(aa)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-2" }, "r236": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(aaa)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-2" }, "r237": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-2" }, "r238": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-2" }, "r239": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-2" }, "r240": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-3" }, "r241": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-3" }, "r242": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-3" }, "r243": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-3" }, "r244": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-3" }, "r245": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5" }, "r246": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5" }, "r247": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(aaa)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5" }, "r248": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5" }, "r249": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5" }, "r250": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5" }, "r251": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5" }, "r252": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5" }, "r253": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5" }, "r254": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5" }, "r255": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5A" }, "r256": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5A" }, "r257": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5A", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5A" }, "r258": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5B" }, "r259": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5B" }, "r260": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5B" }, "r261": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5B" }, "r262": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5B" }, "r263": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "323", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481687/323-10-50-3" }, "r264": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-4" }, "r265": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "5", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-5" }, "r266": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479344/326-20-45-1" }, "r267": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-11" }, "r268": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13" }, "r269": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13" }, "r270": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-14" }, "r271": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-16" }, "r272": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-5" }, "r273": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479106/326-30-50-4" }, "r274": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479106/326-30-50-7" }, "r275": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479106/326-30-50-9" }, "r276": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480265/350-10-S45-1" }, "r277": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482598/350-20-45-1" }, "r278": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482598/350-20-45-2" }, "r279": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r280": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r281": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-2" }, "r282": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-1" }, "r283": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-2" }, "r284": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r285": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r286": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r287": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r288": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r289": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r290": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r291": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r292": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r293": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r294": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-3" }, "r295": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "60", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476166/350-60-65-1" }, "r296": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-3" }, "r297": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r298": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r299": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r300": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r301": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r302": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r303": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482017/420-10-50-1" }, "r304": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "440", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482648/440-10-50-4" }, "r305": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "440", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482648/440-10-50-4" }, "r306": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "440", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482648/440-10-50-4" }, "r307": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "440", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482648/440-10-50-4" }, "r308": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "440", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482648/440-10-50-6" }, "r309": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-4" }, "r310": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-9" }, "r311": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480102/450-20-S99-1" }, "r312": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.Y.Q4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480102/450-20-S99-1" }, "r313": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6" }, "r314": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6" }, "r315": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A" }, "r316": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A" }, "r317": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iv))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A" }, "r318": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A" }, "r319": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B" }, "r320": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B" }, "r321": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B" }, "r322": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iv))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B" }, "r323": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B" }, "r324": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B" }, "r325": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B" }, "r326": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B" }, "r327": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B" }, "r328": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B" }, "r329": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B" }, "r330": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B" }, "r331": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B" }, "r332": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B" }, "r333": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1C" }, "r334": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1C" }, "r335": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1C" }, "r336": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1D" }, "r337": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1D" }, "r338": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1D" }, "r339": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1E" }, "r340": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1E" }, "r341": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1E" }, "r342": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1E" }, "r343": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1F" }, "r344": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1F" }, "r345": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1F" }, "r346": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1F" }, "r347": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1I" }, "r348": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1I" }, "r349": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1I" }, "r350": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1I" }, "r351": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-4" }, "r352": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13" }, "r353": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13" }, "r354": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13" }, "r355": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13" }, "r356": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13" }, "r357": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13" }, "r358": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-14" }, "r359": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-14" }, "r360": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-14" }, "r361": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "16", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-16" }, "r362": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-18" }, "r363": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-18" }, "r364": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-18" }, "r365": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-18" }, "r366": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-2" }, "r367": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.3-04)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480008/505-10-S99-1" }, "r368": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-10" }, "r369": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12" }, "r370": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12" }, "r371": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12" }, "r372": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12" }, "r373": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12" }, "r374": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-13" }, "r375": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-15" }, "r376": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-4" }, "r377": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-5" }, "r378": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-9" }, "r379": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480535/715-20-45-2" }, "r380": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480535/715-20-45-3" }, "r381": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r382": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r383": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r384": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r385": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(A)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r386": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(B)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r387": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(C)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r388": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r389": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-5" }, "r390": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/718/tableOfContent" }, "r391": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "1D", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480483/718-10-35-1D" }, "r392": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480483/718-10-35-2" }, "r393": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480483/718-10-35-3" }, "r394": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480454/718-10-45-1" }, "r395": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r396": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r397": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r398": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r399": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r400": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r401": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r402": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r403": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r404": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r405": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r406": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(04)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r407": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r408": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r409": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r410": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r411": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r412": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r413": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r414": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r415": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r416": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r417": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r418": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r419": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r420": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r421": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(v)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r422": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r423": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r424": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r425": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r426": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(l)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r427": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.F)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479830/718-10-S99-1" }, "r428": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "720", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483359/720-20-50-1" }, "r429": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "730", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482916/730-10-50-1" }, "r430": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/740/tableOfContent" }, "r431": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-4" }, "r432": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-6" }, "r433": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-10" }, "r434": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12" }, "r435": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12B" }, "r436": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12C", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12C" }, "r437": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-14" }, "r438": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "17", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-17" }, "r439": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-21" }, "r440": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-22" }, "r441": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "23", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-23" }, "r442": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482615/740-10-65-8" }, "r443": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(d)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482615/740-10-65-8" }, "r444": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.5.Q1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-1" }, "r445": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.7)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-1" }, "r446": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 11.C)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-2" }, "r447": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "270", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477891/740-270-50-1" }, "r448": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482603/740-30-50-2" }, "r449": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2" }, "r450": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2" }, "r451": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2" }, "r452": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2" }, "r453": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2" }, "r454": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4A", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-4A" }, "r455": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-5" }, "r456": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-5" }, "r457": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "60", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1" }, "r458": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "60", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1" }, "r459": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "19", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-19" }, "r460": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-25" }, "r461": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-25" }, "r462": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1A" }, "r463": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1A" }, "r464": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-3" }, "r465": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-3" }, "r466": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6" }, "r467": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6" }, "r468": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6" }, "r469": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6" }, "r470": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6" }, "r471": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(i)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6" }, "r472": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480237/815-40-50-5" }, "r473": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480237/815-40-50-6" }, "r474": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1" }, "r475": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1" }, "r476": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1" }, "r477": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "54B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482134/820-10-35-54B" }, "r478": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r479": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r480": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r481": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r482": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r483": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r484": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r485": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r486": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r487": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r488": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r489": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r490": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r491": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2E", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2E" }, "r492": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3" }, "r493": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3" }, "r494": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A" }, "r495": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6A", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A" }, "r496": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6A", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A" }, "r497": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6A", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A" }, "r498": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6A", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A" }, "r499": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6B" }, "r500": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "28", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-28" }, "r501": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481839/830-10-45-17" }, "r502": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482014/830-20-35-1" }, "r503": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481956/830-20-45-1" }, "r504": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481926/830-20-50-1" }, "r505": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "230", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477401/830-230-45-1" }, "r506": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-17" }, "r507": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20" }, "r508": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20" }, "r509": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20" }, "r510": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20" }, "r511": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481674/830-30-50-1" }, "r512": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481674/830-30-50-2" }, "r513": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "835", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483013/835-20-50-1" }, "r514": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "835", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482925/835-30-45-2" }, "r515": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "835", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482900/835-30-50-1" }, "r516": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479832/842-10-65-8" }, "r517": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "12A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479165/842-20-35-12A" }, "r518": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-1" }, "r519": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-1" }, "r520": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-4" }, "r521": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-5" }, "r522": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-5" }, "r523": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-5" }, "r524": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r525": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r526": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r527": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r528": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r529": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r530": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r531": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r532": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r533": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-6" }, "r534": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-7A" }, "r535": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "848", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(a)(3)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483550/848-10-65-2" }, "r536": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "855", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/855/tableOfContent" }, "r537": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "855", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483399/855-10-50-2" }, "r538": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "855", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483399/855-10-50-2" }, "r539": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r540": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r541": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r542": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r543": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r544": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r545": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r546": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r547": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r548": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4" }, "r549": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4" }, "r550": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4" }, "r551": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4" }, "r552": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481444/860-30-45-1" }, "r553": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481420/860-30-50-7" }, "r554": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481420/860-30-50-7" }, "r555": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-3" }, "r556": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-3" }, "r557": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-3" }, "r558": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(4)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-3" }, "r559": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4" }, "r560": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4" }, "r561": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4" }, "r562": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4" }, "r563": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4" }, "r564": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(6)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4" }, "r565": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(7)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4" }, "r566": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4" }, "r567": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4" }, "r568": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4" }, "r569": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4" }, "r570": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "910", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482546/910-10-50-6" }, "r571": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "924", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 11.L)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479941/924-10-S99-1" }, "r572": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "926", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483154/926-20-50-5" }, "r573": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "928", "SubTopic": "340", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478859/928-340-50-1" }, "r574": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "940", "SubTopic": "820", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478119/940-820-50-1" }, "r575": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(10)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r576": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(10))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1" }, "r577": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(26))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1" }, "r578": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(27))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1" }, "r579": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-05(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477314/942-235-S99-1" }, "r580": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478451/942-360-50-1" }, "r581": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(12))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r582": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(15)(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r583": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r584": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r585": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r586": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r587": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r588": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r589": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(8)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r590": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r591": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r592": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(16))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r593": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r594": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r595": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r596": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r597": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r598": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r599": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(3)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r600": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r601": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5" }, "r602": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5" }, "r603": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r604": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(a)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-9" }, "r605": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2" }, "r606": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2" }, "r607": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2" }, "r608": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2" }, "r609": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2" }, "r610": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(h)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2" }, "r611": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.W.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479583/944-40-S99-1" }, "r612": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480424/946-10-50-1" }, "r613": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480424/946-10-50-2" }, "r614": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3" }, "r615": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(f)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3" }, "r616": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(f)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3" }, "r617": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(f)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3" }, "r618": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(i)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3" }, "r619": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(i)(2)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3" }, "r620": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(i)(2)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3" }, "r621": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(i)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3" }, "r622": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480990/946-20-50-11" }, "r623": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480990/946-20-50-13" }, "r624": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-3" }, "r625": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-4" }, "r626": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478494/946-205-50-2" }, "r627": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "27", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478494/946-205-50-27" }, "r628": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478494/946-205-50-7" }, "r629": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478494/946-205-50-7" }, "r630": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478494/946-205-50-7" }, "r631": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478494/946-205-50-7" }, "r632": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478494/946-205-50-7" }, "r633": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478494/946-205-50-7" }, "r634": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478494/946-205-50-7" }, "r635": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478494/946-205-50-7" }, "r636": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477796/946-210-45-4" }, "r637": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6" }, "r638": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6" }, "r639": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r640": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r641": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r642": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r643": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(13)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r644": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(13)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r645": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(14))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r646": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r647": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(16)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r648": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r649": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r650": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r651": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(2)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r652": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r653": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r654": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r655": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r656": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r657": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r658": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r659": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r660": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r661": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r662": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r663": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r664": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.6-05(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-2" }, "r665": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.6-05(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-2" }, "r666": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479105/946-220-45-3" }, "r667": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479105/946-220-45-7" }, "r668": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478297/946-220-50-3" }, "r669": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r670": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r671": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(g)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r672": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r673": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r674": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r675": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r676": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r677": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r678": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r679": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r680": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r681": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r682": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r683": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r684": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r685": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r686": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(1)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3" }, "r687": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3" }, "r688": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3" }, "r689": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3" }, "r690": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477968/946-235-50-2" }, "r691": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477968/946-235-50-2" }, "r692": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1" }, "r693": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "12", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-12" }, "r694": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "19", "Subparagraph": "(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-19" }, "r695": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2" }, "r696": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3" }, "r697": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3" }, "r698": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6" }, "r699": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-1" }, "r700": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-2" }, "r701": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-2" }, "r702": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-2" }, "r703": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-2" }, "r704": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-6" }, "r705": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "954", "SubTopic": "440", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478522/954-440-50-1" }, "r706": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "976", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477332/976-310-50-1" }, "r707": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "978", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479230/978-310-50-1" }, "r708": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "985", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481283/985-20-50-2" }, "r709": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1" }, "r710": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "8", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-8" }, "r711": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(m)(1)(ii)(A))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r712": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "52", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482635/260-10-55-52" }, "r713": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30" }, "r714": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-31" }, "r715": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "47", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47" }, "r716": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "47", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47" }, "r717": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "47", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47" }, "r718": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "48", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-48" }, "r719": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "49", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-49" }, "r720": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "54", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54" }, "r721": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "54", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54" }, "r722": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "54", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54" }, "r723": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481933/310-10-55-12A" }, "r724": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479081/326-30-55-8" }, "r725": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482548/350-20-55-24" }, "r726": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "40", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482640/350-30-55-40" }, "r727": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B" }, "r728": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69B" }, "r729": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69C", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69C" }, "r730": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69E", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69E" }, "r731": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69F", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69F" }, "r732": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13" }, "r733": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91" }, "r734": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91" }, "r735": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91" }, "r736": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91" }, "r737": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91" }, "r738": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91" }, "r739": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91" }, "r740": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r741": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r742": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480482/715-20-55-17" }, "r743": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-11" }, "r744": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-6" }, "r745": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480547/715-80-55-8" }, "r746": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r747": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r748": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "231", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482663/740-10-55-231" }, "r749": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "4J", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481175/810-10-55-4J" }, "r750": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "4K", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481175/810-10-55-4K" }, "r751": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "100", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-100" }, "r752": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "100", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-100" }, "r753": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "100", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-100" }, "r754": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "101", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-101" }, "r755": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "102", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-102" }, "r756": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "103", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-103" }, "r757": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "107", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107" }, "r758": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "107", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107" }, "r759": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "107", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107" }, "r760": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "107", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107" }, "r761": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "107", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107" }, "r762": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "107", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107" }, "r763": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "835", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482949/835-30-55-8" }, "r764": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "53", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479589/842-20-55-53" }, "r765": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481372/852-10-55-10" }, "r766": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "860", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481395/860-30-55-4" }, "r767": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13H", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-13H" }, "r768": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "29F", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-29F" }, "r769": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "9C", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C" }, "r770": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1" }, "r771": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6" }, "r772": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477439/946-210-55-1" }, "r773": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477802/946-310-45-1" }, "r774": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1" }, "r775": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2" }, "r776": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3" }, "r777": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6" }, "r778": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479168/946-830-55-10" }, "r779": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479168/946-830-55-11" }, "r780": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479168/946-830-55-12" }, "r781": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b" }, "r782": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b-2" }, "r783": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "d1-1" }, "r784": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 10-Q", "Number": "240", "Section": "308", "Subsection": "a" }, "r785": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "16", "Subsection": "J", "Paragraph": "a" }, "r786": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1" }, "r787": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i" }, "r788": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "A" }, "r789": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "B" }, "r790": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "C" }, "r791": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "D" }, "r792": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "E" }, "r793": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "ii" }, "r794": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "iii" }, "r795": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "2" }, "r796": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a" }, "r797": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1" }, "r798": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r799": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r800": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r801": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r802": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r803": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "2" }, "r804": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "3" }, "r805": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "b" }, "r806": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a" }, "r807": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1" }, "r808": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r809": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r810": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r811": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r812": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r813": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "2" }, "r814": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "3" }, "r815": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "b" }, "r816": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Section": "13", "Subsection": "a-1" }, "r817": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v" }, "r818": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "1" }, "r819": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "ii" }, "r820": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii" }, "r821": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "B", "Clause": "1", "Subclause": "ii" }, "r822": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "i" }, "r823": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "ii" }, "r824": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "iii" }, "r825": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "iv" }, "r826": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "v" }, "r827": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "vi" }, "r828": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iv" }, "r829": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "vi" }, "r830": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "3" }, "r831": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "4" }, "r832": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "i" }, "r833": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "ii" }, "r834": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iii" }, "r835": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iv" }, "r836": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6" }, "r837": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6", "Subparagraph": "i" }, "r838": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1" }, "r839": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i" }, "r840": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "A" }, "r841": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "B" }, "r842": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "C" }, "r843": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "D" }, "r844": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "E" }, "r845": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "ii" }, "r846": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "iii" }, "r847": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "2" }, "r848": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "1" }, "r849": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2" }, "r850": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "A" }, "r851": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "C" }, "r852": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "D" }, "r853": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "E" }, "r854": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "F" }, "r855": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a" }, "r856": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "1" }, "r857": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "A" }, "r858": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "B" }, "r859": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "C" }, "r860": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "D" }, "r861": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "b", "Paragraph": "1" }, "r862": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Section": "402", "Number": "229", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1" }, "r863": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "A", "Number": "229" }, "r864": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "B", "Clause": "1", "Number": "229" }, "r865": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "B", "Clause": "1", "Subclause": "i", "Number": "229" }, "r866": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-T", "Number": "232", "Section": "405" }, "r867": { "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef", "Topic": "272", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483014/272-10-45-3" }, "r868": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(a)", "SubTopic": "20", "Topic": "842", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-1" }, "r869": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "SubTopic": "20", "Topic": "842", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-4" }, "r870": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "SubTopic": "20", "Topic": "842", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r871": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "a", "Publisher": "SEC" }, "r872": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "b", "Subparagraph": "(1)", "Publisher": "SEC" }, "r873": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "b", "Subparagraph": "(2)", "Publisher": "SEC" }, "r874": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "b", "Subparagraph": "(3)", "Publisher": "SEC" }, "r875": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "c", "Subparagraph": "(2)(i)", "Publisher": "SEC" }, "r876": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "c", "Subparagraph": "(2)(ii)", "Publisher": "SEC" }, "r877": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "c", "Subparagraph": "(2)(iii)", "Publisher": "SEC" }, "r878": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r879": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r880": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-4" }, "r881": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-5" }, "r882": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-6" }, "r883": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(7)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r884": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28" }, "r885": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28" }, "r886": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r887": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(f))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r888": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r889": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-23" }, "r890": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-24" }, "r891": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-5" }, "r892": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-6" }, "r893": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "55", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-55" }, "r894": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1" }, "r895": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "270", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1" }, "r896": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-18" }, "r897": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r898": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30" }, "r899": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(ee)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r900": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r901": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-2" }, "r902": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-9" }, "r903": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "321", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479536/321-10-50-3" }, "r904": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "321", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479536/321-10-50-3" }, "r905": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "321", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479536/321-10-50-3" }, "r906": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "323", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481687/323-10-50-3" }, "r907": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/350-20/tableOfContent" }, "r908": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r909": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r910": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r911": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r912": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r913": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r914": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r915": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r916": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r917": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1A" }, "r918": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-2" }, "r919": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/350-30/tableOfContent" }, "r920": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-1" }, "r921": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r922": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r923": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r924": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r925": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r926": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r927": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r928": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r929": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r930": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r931": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r932": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r933": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-3" }, "r934": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "405", "SubTopic": "30", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/405-30/tableOfContent" }, "r935": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r936": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r937": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r938": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "410", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481931/410-30-50-10" }, "r939": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/450/tableOfContent" }, "r940": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6" }, "r941": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6" }, "r942": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A" }, "r943": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iii))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A" }, "r944": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B" }, "r945": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "505", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481520/505-30-50-4" }, "r946": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-5" }, "r947": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r948": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r949": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r950": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r951": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r952": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r953": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r954": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r955": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r956": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r957": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(04)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r958": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r959": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r960": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r961": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r962": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r963": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r964": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r965": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r966": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r967": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r968": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r969": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r970": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r971": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r972": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(v)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r973": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "720", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483384/720-30-45-1" }, "r974": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "6A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480682/815-20-25-6A" }, "r975": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1" }, "r976": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "54B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482134/820-10-35-54B" }, "r977": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r978": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r979": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r980": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r981": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r982": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2E", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2E" }, "r983": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A" }, "r984": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "28", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-28" }, "r985": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "835", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482925/835-30-45-2" }, "r986": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "835", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482900/835-30-50-1" }, "r987": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-3" }, "r988": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r989": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-6" }, "r990": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481404/852-10-50-7" }, "r991": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481404/852-10-50-7" }, "r992": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r993": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r994": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r995": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4" }, "r996": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4" }, "r997": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4" }, "r998": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "912", "SubTopic": "730", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479532/912-730-25-1" }, "r999": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "942", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477268/942-320-50-2" }, "r1000": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(16)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r1001": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479432/944-30-50-2B" }, "r1002": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477363/944-310-50-3" }, "r1003": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4B" }, "r1004": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4B" }, "r1005": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4D", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4D" }, "r1006": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4G", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4G" }, "r1007": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5" }, "r1008": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5" }, "r1009": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5" }, "r1010": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5" }, "r1011": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1012": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1013": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1014": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1015": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1016": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1017": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(6)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1018": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1019": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r1020": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r1021": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r1022": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r1023": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r1024": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r1025": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B" }, "r1026": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B" }, "r1027": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7B", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B" }, "r1028": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480109/944-80-50-2" }, "r1029": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480109/944-80-50-2" }, "r1030": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-4" }, "r1031": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r1032": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3" }, "r1033": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3" }, "r1034": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "985", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481283/985-20-50-2" } } } ZIP 83 0001558370-24-010381-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001558370-24-010381-xbrl.zip M4$L#!!0 ( /&!_E@Y+^//< \ +*@ / 9'8M,C R-# V,S N>'-D M[5U93%'&).21Q'21EC7K#B# )I;G.!7K?'YWW M1X/16TA_,7I[,3A'\[N(\0ZRMJ9*SF=N7G!C2VR,P$"'7W!J?.QL/6]WT>\_ MKYC5X\3H;=S'/A"DB$[(Z)"-R$G,_/3TU),)7+8!QL&'/G,MT@_9HE3/5FF" ML_ZOM]3Y/>;D:=E/9Q'CL/_KW>U"9CIBMB!AA6!!7D&11NSLY9&);'\,.'#WU)C5A] MWMU@O,O+# GIW/J,@1^793>DIK,"'*:73A"6]+M^0(Q8&5F7HG+>!VK$B#V/ MT97OD6N7V5=DC7T+-/C.'SZVI!LGX1!^50*')*5SRZG:C;K4X1YV#)(HPQ(M M$26EQ/=813T :D)NB3-%E)1<\FQLBY$1E!PJM*(*9"UT,#5XL6Q)"H5[F&V( M=X]MPG?8("D%INNO+ )M(EWO>X9KRR2#\S-H&FO@22PBVL<40PYNTV.9 DM9 M!N2^( O-H^[@K'LVC%,^;NMF-BQKQ[='15X]&D!I>\3A% 1T!1MAV(-N@'=' MO3BY27:,&'5:Q /GH2GUU,VH=]!$BW$#0LHES$JO- ]>*2LM+:S1YT&-IIG& MI4M6Y0V,(*;=V#!+O-@PLXQ=[J]*F04Q2/#I&X1DYX4=Q_4D'.)3]'&WH\[: M#;[ -]$\7HAR7(*S(/'CR\--M7O(4K^BW+!<[C.R@,IC8F:.'7/B<\^UQ\^4 M7[DVID[HO;R#*)C9+$F4PRB/)EE3ATIKH%T?#% 7'03"'Y%,!$)1(!4)L2B0 MBR+!/_2SXC**?!A?S)Q/\C>X(X>:* M1],!AXI"E(J&!+<.WFJ<[9*LT6?@Q MPNQH)*'@/-G>3%S'A+I,3/C!78N:HB)>8DNTC8LM(1[_XF#?I+)Z"D!;I:S$ M]9WH?"2VL6SX/9G=7TWO%],K\6LQN[VY&B_AC\OQ[?A^,D6+S]/I?+D? M?[FZ [:(F7%1.UX;2V8H&_I')HU,ZGK( M8@G_W4WOP3MFUV@VGSZ,ES? @,;W@O-N_C#]#,EN?IZBFWOX>ZJ=Z$6<:(+Y M]MIRGYHU& H)2K=XV\XM)N/%9W1]._M%-R&OA3X_'G[%@"# _YW&_]7P/PRV M?G)=\XE:%K3C-V"TLQ&C_S'GT,TO?-O&; \ 0@./G?TBRW!%/$RMW(#P)416 M#QC!.0:C[)@Q4HM@Z(@.F#$ >.;, _::UIYS91[ MU!9-P+7O >?T>4<,^&MLN\RC?TH[Q3=H,)J[3W/9:C\Z:^Q'<2[06F8#D3 ? M""DCJEKJ2*]&MRW-6MIJ$C7T2. 3S>I$4@3,&A4C'15@LK6]_W@O!37 M3'N; ! )R6BD<2Q?IO=WNV!?"5M!C:#8BB?+-\[:9;8TJ:0"-TZOJ,##M_G6 M.:D#Q4H24_J$&EUY7V"I9N&YQN];US()XV+@ZNU;K]A5B5(NW9RU6[I;+&>3 M?WR>W5Y-'Q;?HND_O]PL_Z47<1HTZTL,3"5]=4BKKL9GT%Z7C9;?!!(T"E5[ MIU!I9$236%Z"^B7S7XQ*):\"I>$HCY*4%X93)25JW-2X71%N,+H3VF?K2Y]3 MA_"RD6\EKVJ4.\QWD@EY8G0;2=3]80W<'H#F^&7+B!FJ"INS/#:A!(U%$RQD M7(8*DA13Y02B I90C(:G!CQ1NP)=PPI&XL'.O0$#.TXK9@DU4ZFJ5L'<(&[G MDJ+A>T*ZQO6X?9B(U'R7)9M2O8>2PU>YAQ(S:)2/0OD70C=;L04&J?$&6E@1 M'D>=S1=.UKYU2]63.RA ^%M&C$??9LX#$2<4 MH K !(^6P=A*A@KC[_-MNY")I%"4T!01'B4!NF\,%3?4B%9"I7:$EHX0UZ4& MP.?2J('.!=24 AT+UY#6:85=9[,DXO3'JG1/M(!%!=B'@OU0$-/U0 X2@C0X M-< )PI67^+D$F1Q=M1$RR,,2R$ @1$/2>AFU;".KDED%UJA@UZIT(55#UQ*Z ML6G*#&&KQL9DG_R!=!_X+XX)#*'_QIA7I!.C71NNEF! M],/B"Y>ST+GXH0%N"[ 8(0:UE'/?EEL9S9"N$J"&/#<'K8 \UH02JC3TK:$O M_EH=WGV$)+4SY**-*IPA(*TDR4B2=.!V0[](!8I4P5[(J$*U8 LH*>Q;%(C3 M<-6*&UMQ\HJ, I3KA2&HXZD8?:7#:Q)\T""M10]4XD$AC MUOQ$=>VCU&J\FAZBUG I0G6*(W/40)2>C=4EWBC2HDYDA1J-VC$S&IU:01-5 MT1)J-)1Q$AH%=71$:5B$LORK R)TV9>6_10S$?3*YX0MMICEYB,YNA*)@I6# M2 @"*4B*T8@TW .KM[^E1J=!+(K&J,%^E'HC2HU-S2THC*1 M=Q1H=$O1A<;)IIZ\.T#>!RO7&HE3M%I:Q:I$L&"!("%/3C93$C5DY162;%0U M+\^A!*A@12 4HVM2JPUZU_(:D%?9*7J-':-Z.TSP5D^?#F^F$#?[7'$UD4Q..H$*L":7RFK<6R_ MG5&,HHI=A6'!K:&*ZV$UA&T6W(O1J^!4 ?=]'KB28XP:L<9+D,5HE7 ID!H. M\TCE5R,U2B^XM%)R$UG#Y"IR1O(UZ0L/>#YV.+5A MB-H)OVWE@\[F8S=Z//\0BQ1#E;-J':2 1F1DY*[JUK$")7 M':#'ZT=9[Z#^R]@$9=G4IG3QGYQ%%EXUM0B2$.LDC8$JTM283*UZ.9/"?%-/ M))\7*2YDER\YBQ_MM!Z>N:ZE-6(7 M/YII53\U7JN\"U+*OWF[C"3?!-\$KX@792.;S&(LE:HKY'2'H^[PO'4^DJ_* MU\F#3"+^ZD;I1"[.1"[.&KI@*.Y=\#RY5UM_E$ H?E=;9?*%>#,:Z0_X@]TPU]'M "IE^!;M#V0ME ["1;C MY!#3?-S^=MB/WF$6;4?/&74,"CV4>,$U/HX,-+G_NU^29^_2@G%_1UKQL7.L M$&I98N'O8\=CXO!=T$="F]*5;>,06XSHH$'_%H4ORA;R?F.OO/G9$ M6= +"BS09\G?T)=1UUP&TGP61KJ4EX5^H"OPJBP,HD@!"/A('\4FYH9A M.PV9@N<4@4L^SSI;BR,7-YS[HEL4#_;QR#(U6P4XMNO _)7M7Z1U"&BKX-X% M() 5K<1M3IB<2 ,WM'EWF/U./+E0(E? >!K NLRGB&1A;8()(=2F:_I,S F8 ML &XZE9$9=*O6AW'A@%:S9^)8[ILCOM>^88FMG26UR178NIU[&8^LRGZ+'7I$U 3#,^,!2>*78)7'( MFHK0D+'Y;^C([2#8,NP6&R8ZU79)KLL^$*@IQE:T,%>^N(U[+F7+@(C/Q (C METR&1>SC(4[C9*=: %-[9[E[$JR/ST-[1/@.C(J'F7ZU%NLIN7B0[WO7F6"^ ME1MDH9N&B\>B (JI1^&3+8.J3!\,7&.+D_H AGV&R/9AY3HQ6X@[I%*.X^URT+'!$KF/6 9L5-0._];^DZTKLL! M?6Y7%@85EF^*P<4$[RA,0>F?,/9WU]Z3W'I_)):["^Z"XUZB)7\18?\K#?_? M?8N2J6G"1^Q$G6]4$H7$(WOBUZAM88LGAI#W)-%L9+^?#"CETX9XYBI6':#^ MSM:I2[+".7">F$5E%S"]H'7Q%*AVK;RGAFOA96\,HBG/.E8_6@:)R<^P1J4?(41 M&@/H@Q?$\P+VV3J:(L&$^!?J;<7A=Q'K=;#W!42E1DQ2PE?NPPVZHB9?$F/K MN):[V2]PKLVHXCE!P"4PA^E]9@4Y-=XHY?JZ9@4!!<%^V*?_ %!+ P04 M" #Q@?Y8.0Q(WO 1 "4!P$ $P &1V+3(P,C0P-C,P7V-A;"YX;6SM75MO MZSB2?A]@_X,V\[ SP";Q[>1RT*<'3NQT&TCB('9Z9I\:C$3'W)8E+RDE\?[Z M*>KB2+8HD?)%E-W 08YM\?95?22+1;+TTS\^9[;QCBDCKO/CI'G6.#&P8[H6 M<=Y^G/C>Y/3JY!\__\=??OK/T]-_W3S?&Y9K^C/L>(9),?*P97P0;VJ,W?D< M.<8#II38MG%#B?6&#:/9.+L\:YPUC=/3GX,B;A"#+*YC!&6USIKQ@]NH--?Y M;ER>MR[.6XU6!_)_;W6^-RZ,IX,[__,*-1J T6$_3J:> M-_]^?O[Q\7'V^4KM,Y>^0>Y&^SQ.>!*F_/[)2"KU1SM.VSS_U\/]R)SB&3HE M#O.08W[EXL5DY6M>7U^?!T\A*2/?69#_WC61%TB]L%V&, 7_=AHG.^4_G39; MI^WFV2>SXG:M-:L /#PE.>F7L'_^BV&$@J:NC9_QQ @P?O<6<_SCA)'9W.:% M!K]-*9[\.+'>3[FV&A?M!F_@7T<>*)VSZ=9U+.P -^ #:+S0@;SC 73#&=X![I+5[U4LMXA-[VSW8Q=Z+ZJG8J!L7TC9 M5J#V"#-ME_D4_^*ZU@<,_\"D@0-#Q!N!!G<9@]XU\F63&E7/G>Y"R_SG')GSKSESJD?\/^B+_#52Y*YF4:,%6 MA?-$71AUO,43#+\>M*__?SZ9XBE,MK.30@G%I:U8W%"B"5+W[;"LYEE@V_]U MM?1$:Q/)[^%[5 EOT\Y,YB0V_.EAR/KU*_%XS=?7W_CZJ=$P3HUE)?#Y=OC8 MZS^.^CW^:32\'_2Z8_ART[WO/M[VC=&O_?YX9/SMY;'[TAO D[\'ZXX8J^V: MJ$YL'Z\1S;'HM_"8@:"#GZX?=PWHP+M=$K MMF%QO/+P?/_M&GI33,/Z'UW']"D%F0J:F9GV]XOVU;?+B]9UI].^:%YVVLVK M%2 ),G5I&A,0/:XKXGRY+C&A[FQ=G%%-;AD$+K4P_7'2/#%\!HURY[Q.9)\8 M'YB\3;W@R9P2%X;MQ8^35B6Z$]HKCUBDPKPLM=*D,I!(H2V=%9J>,9]YNX:3 M%Q8:W:).F914UM] MYK4ORU@MA[0.BY"N:;J^X[%G;&+RCF!V@'FAH,OF9#D0C2M#K,/RA.__\#T^ M^(\OM]Z1S?>%NMXMHG0!1L!OR/:Q0.=2>=.2N>ZT+B_JJ/SR6&46-%6S8#1U MJ3?&=#9PWC'S@KU!@=*SDAZ(CJ6AR:QR*M!B8FL!J#KR7/./J6M#4QFGK+<0 M:+0X6Q6,E&W]>D(-V2BKF10;Y8#5Q)[P9US@.+22,DZ4W+N,+SZ'DS'Z%)L8 M*J5H2 -)E6::'AM#5R-*NQ*B//-=-@=;?40=F%19 G.(/4AZ5H%HIJI68V"8>B:N4X@CMRU MQ4JR%-Y6H]8JE<*FYDFO1I=CBA'SZ2* $J+*TZDH^2'I5@ECH1/]5 /C+6&[ M%B\@-%1E&=N["%$=/#O9YP$7Q2="BO+IK>/,UA5M3,NBE+&AJSKPDY"!W*F? MS R'H5PU>'7HS6O[\$EX\H<0TKD.0MEE,-;!)YMU:+AX]"[(E99&$Z2Q:CG6 M0.-E,.KOLLW?7UM/>!"JE(15A],FJY-.OCX%J?56:EXCBV=A"05K[<7.'';R MM9R7Y9!4K8Q3QN2JPJ&!/C%[0@N^N9^OV8R4AZ1067AU,*2ZIDE];$D/S<+T M:0FT0 +?:JM@-9!U.-8K6-$73,.YF0Y)X260REA=%9Y.DQJGLQ,?DF(5$)8[ M'_S3^:I$[N'[7BX6EHQ)D=16[KW#ENR]P]$8_GOH/XY'QO#.&#[UG[OC 20P MNH\\Y=&YZ+3:C:M+6,NU M*W1S"HX^W+D4..R$[#<78XH5<4+ M%GK[$54=UHD X N_@%VI-&FD[<,@13'".KC=ET[EZ)S_#7;P1'@*29!:0_T6 M:V==HRKH"ONI#CO;B5$*A -V!YC'/EC(7Y; [ ^+4$CEG_TZ,(P!$'T<4 MQ!OL+4%.D#PT[6W@>)ABED^0G=1X4"3;GX3J, @%\RM@>XU.:-7:X=Y#X/M;Q(4K=*2$0"%YTR$.=)2@#^-3M5LD=55UED3-9RU,(-_ M 3N>(AX2LFO-B$.8QZ7S7F!?%.0Z*+67P5J+>6"$@[$.@#T@^@?FPLG7NCC# M02E<$6;AH*Z#KI\QPR ]?HNYA]^Q[0:AM?+5G9OGH#2NCK1P3U0'I?-8JL,) M#QH3''['])V8F(U@;>.CV,+F"+3^R?QIK<^\T X M=!G7B5^-AW^6>.^C1$D'Q8YMX:_U?FM6#'SIC=5.N8W5V^[H5^/N?OC/JD.[ M#O^'[R%K@#Y3Y+SA9Q!. M?S+!ILA;O.]&5#!FA54/)\GF#)V-@ N$N8.:TGW^6Z?U[;+J,:\:WB;'SGW) MN0Z>5QX?"J \4?>=P$AYLWAA_)Y*%&@!#-@S.?7?8:38,"#!2(T&:9F M(#YYYZ%0L\=!'M9?9.ALJ_ACX]769:7I/=GD!;,G2D!P E)^SXM'GWG7>>)#.>^+P=VO=4FP)#V06YCL&&I03@HSOLA(G M]SPB\'"BPH3"?,? A')"*(Q87]&@(!!/&+QW ^]*1@$:DD-;[XJL^.IP$BJ> M+,=NUP3IY;Q.M&!57%R AA3;4,'BU7%):=3B--4:1H78ZE)YCY(HTH+0UI.R MBNC&9WSF93B,VAR,V.$3H5-%H8BC)(FJ/*2.;>ECV"S/,Y0U;#(*2,OE$@S' MZZIYHJUA(RN^.@3+ &P3XN6<^_]*H"%%-E10YA(Y#ZVF83\#_ R:A/?CJ-!B-4JS'(DBE;#KVF@JN1%!/ALXW)W-419CX$*I>6PFQT:ZSW0QX9*GST0W.007^^.AD M>98.LY(=NN*D,>\F)E66MM;B"J?#'@27@>*8)5EJ5,J?QGIUGZF8]!]"0E$#+C6C0&#V1P1RF>D<+?TGKQC*P3R*[8M M6$&^B*-IR.0]!CZ4%T3L=&EH-A$$46(R!!+?EUI>>A)00SI_6BK7&I]E*T^/ MS8014T0WQ]RZ_WG]W>%"NZ$XZS$0H[0<8DYHMP.XCNB)8A@D4X2$K31*:PXR1.:5-=I=W083C9BN93$6I*"Z(.-^/79"/7%XJR M'0,Q2LF@W%7VGQ>7R]@>,AYXU \M N'W$)TT5P@W:. MG,5H-4$/>XC8LG/,-4PPC19,*U^5PY>X?@,YEO%5@1'6P">DL!6&.S&B=OP7 M,\A70A0F_%O4F"IFGCOB <#[]JJB,2;%$69JKGH)VH2F%/^S _NWDL<+97.,2= > T<-,E"B1<&OT*0_IXT=3QOK+.A./$S_!R-Z M!QE*S!\%):;[5K/3NJI\7V^[$TD9_'58E:AAWBJ!CI@[,K31.@97";BN3[=' M&RCL6&DC@EZ'R\7J<,=0\_:&FZ"T(R6.&'L=;F^5P/OA;H\W'^ZQLD: 7.90 M>KTX\PAKHO$'MM_Q@^MXTQ)+:8E"T[)L=5H7JZ(Y.!9)B:!]-6.)59\A$22UX.,N?K*W/R" ."*#MN+AK-5<=-7/A_&T'Q M@?]F64&E;A@A;+$3)C]+-;>1LQN4YXO-SZ1A/Y;1U,J%8U6 =?"4)/829.[1 MJH9-VE;Q!T"@G8JBY$O*]C09!+=!V0/R?!J)PU/1V"TW/_#) M8YP9GRV,11\;I"8_9R&;_O9ICC%+- M4S$JRQ>HX1"BHKSU 67+HM T-HJLC"07NF6+2XNL#2*K_+58>V"/K" T#:XB MBS'?L:98RM$R)0^_IL'PE:#E^.R5RSEND@@EH&G0>A5P.3N"JL4<-4F$ MA- MX)C]*?O- M+]?]YDO72/2!EUNQ\P/:P5LA)/GR>14!(E*TRFGF>L(TQ3J=UE6C^HZV B(5 MOD$.@:8^@F50\2)%K2>LFZ(D$6BZ(!_Q,2^,X^S.1#-;.E'M%%3<>EW#E2=? M,_7,6S*VE1C9KMI&7)06('K2A;13MGN)9?)?31,R,,KO;.U M5_L@O9Z/;8%;J*(E>;+FLG$AM 96SM(DIGV#5V&T#F?VUZ?WOC@6*(-'->.A M[TS,^.EA7WCR3JF,&O9DZ7ZLA+E.4[V*X@]9P76:E_=TVD\_;(JC5ZFRTD3@ M[P:LS0D_Y;TM)1EH.JH)H$EML@AZ?^V5KH)2>HS;D^DY\N=S.XCWB.SHW>;( M7L: '#@3E\ZB,^]JKJEF9WTO,UF9L:PM$7(R45^E;JGUX*&W/J6Y5R9$Z;?T M,K*P@M] VBZ-Z9C=IJ+D&G:^0G$O7S&FBDOM.D\U0VH "GJ?2\?H$Y:!/$;M M>(JN:I-@G54!==;\EI'6(9Q+)X\9U?"8Y[*33'H2.I4#5()_/&&'A5?_@N'GR64>Q1ZA.+PI/2$.D#=\LQZ_ M!QCC+8[SOGG!=6?*CB2PAP@A639;@"&\X?/%CV(YX=UU M45%RC8@GEGSZ?0$*0#1=BH,5!/4[82^!N,"RGN%DD0?PA(E+QVZE0"(G]83^1EB7[G?UX1PS__&U!+ M P04 " #Q@?Y8[O4&(#LI 7G0( $P &1V+3(P,C0P-C,P7V1E9BYX M;6SM75MSVSB6?M^J_0]:[\/,5JUC.^E;4IW9DB_)>->QO);=L_/419.0A E% MJ '2MN;7+P"*$BGBQBN@A%5='5DZ ,YW+K@<' "__M?K,AP] TP@BCX>G;TY M/1J!R$D"KE1>-O@",81B.SC$,YF T.CM]\_.;TS=GH^/CO_ JSCU"BZ!HQ.MZ M^^8L^^%B4QN*/HQ^/GG[T\G;T[<_T/(?WO[PX?2GT=V7C/ +96T&M90AC+Y^ M8/][HBV.*,:(?'@E\./1(HY7'TY.7EY>WKR\>X/PG)8_/3OYOR\W4W\!EMXQ MC$CL13XXVI1BE12*O3[A,"OX[B1K(R-_+=%OFCE[__[]"?]U2THK@HJJ]SEA MOP;QMD">^,>3]$=*2N 'PI'<(-^+N5:US(^D%.ROXXSLF'UU?/;V^-W9FU<2 M'/WE7T:C7S$*P3V8C3BT#_%Z!3X>$;A,B8T2T C3?AT64Q+]Y80*^4)[HWTS, MV^\FT3WP$SK=C^9T(@&;@:[7DAL2V:JJ=0F4:[9@VRB:/P"\O 1/S1Q76)$K M<^E&R#15NH)Q' 1\TN&%U]$,X657P-7MN"*->Y(0.GS0LUXF M510AR9*OD+H0@;(95V0A_O;JE7ULUI\W:<^2= H!C^;@Q=59P)8\$?!'0L?3 MJV<6WFF&3%9955R<]0S\* '^FSEZ/@%^D')Q'07P&0:)%Y))%*Z+^%E) M(BK*I,(^O="J*V(IK$\,@YMYF7)5(*:8N43")F4>>N!@30+'6S&TR*ZP]E:-(77U;JPAJSMEF/X) M(YCZ9/1U4SECI[%OYU@'C"[@.R3IMS!F#>R*CW+E1VEW-_K"K:%N+Z''U7+/ MKD3Z_OW[T]/1\6A7,_TCJWQ$:Q^EU8]8_9D MBTP5!FN$/F%!D.VDX=P[>Z= M?;/KW3=?_+[=\4JG:&Q&BB(VJ6'\96V%WA,(/QX9E?G];$\BQJ5.^D>_Q\IE MH6O>0RVDE:*54A=0[FQWC(MX:5>1U3S#:%E=^,B EX30EM J7:AG)3>=5)-> M+!7%#MP'0^9'#VBD91IA.K7[>&3'8-C4'P;0P^NI%X+-)K'*563T,?%K;>D'Q^P1Y>L/@_HJ/Q%7U N Z.BC3W)0#>H*E/]NY0<1=Z=S+BWZUO; MU(S0(\3 MV3T^B%(5,("XCP;2E\J$THQBDE;&W44LD8Z)NP--V6N\[XAYM:J M+V0Y [D\ 84G2*BE-J*@=P0K^X@!4#J%MEPE_*6235U&KQ14D:/>_4<*(>\] M1JRW[TP$QSGCHG_M#(O^\7L^J^\JHA A$"UI5*0E\]$16X0F=!0UL3&\YBYA M*&5DPD-O3J!FFGF GEF+9D\A7-/!3V_T>4*-3>R36@-E8.Y%4D-@;9NZ1+8E M0R^W;\G,BPR7C;S,:&LFGNU7!0"FQD _[.R _O'[#9A[(7>RM<"J!10EK4MH M.N<\;4YHM?L_"WG>)ZAKG6H9(7%CO9FBD#MF@R*N>N]:[[UH#B2]Z?8W83]3 M^+5/;K\4MF_V^4U_E7.\^[U)9R@2#1*VTFN7EV,KZ^7VV+&Z_I-FN)ZO'VBS MBK6@04GINLBPK$OR8'PI5XD&):O+HUBVZ4JQFLI09?YZ7S<: 2& M0-MU,Z6\D1D/O;N-B.F\=ZB8M>H&XQZ:$J^P=E18TU]5689J'O6>W?Q/:R% M3?B.,%KM&:XC'RW!=JLUNW!"T4\H2D@M6U/&'=S*SD!9IBKV]MS33"&H D>] M>YT20MX'M:SW'EA,I[T\*Q1@V7Y-F4@8N!.3]00D32PJL"#=J)'2"F$IJ9M$ M)Y5B10:-]QJT%'&;12^57-K-9?%"=H'1= & R>@@(Y=G^L]9D3)?2%I1,MW[$+ =CJ8^B#P,D604$-()>TPI95^(-LT^ M1F0%?'Y9FW0LD-**D:FHFXP%.N$B@_9['0XD#&(K[4NU3ZDGIYJ,LVWHVJI#)4 MF;_^=YY, !5VG,R N.*2VX]_A;3KP/YB?0.>06CFE8K")HZI*>Z(;Y(RFY6] M5%I')7]5UM*BYYJI5>.\2F9MNK$2GD;Z#W!D)UGU:6(J,J8>+"X ME$WT&4<0D(W:@OW+_!XC]$0 ?F97#U]'JR2F/Z/(IZ4V,ZTB*C-G[ZI=O1:Z M;+G%3D5I8**^I$M<-OL?D2"$W4Z7 K#:5>7Z4\ZT9ATN(Y>ZAJJ (W"5G8J\ M0"7([;FQ@0:0*2^]NYZ<^;S7J9FV&[_RR()=%$/_89FJSUZHN3%%7D >IU$6 ML0#Z'I 80S\&@9@U\;?"(PAM5"D57--*&\>^3'2-VN.W_WB8 F#>@9L"L^OB M=&R'\2?/YV.URK5+A'*7%I):!Z<.- M(#0&V&$Y6R1CIV^_?100,%V+$$D:M MFOQO'H9LVGKOQ:K)WSZ9U!I$A)9A*4V]3&@$K3TS5T@6Z=KNW<3+S.8-7,RD M WF*#][K.(D7"*M[=3&Q)D-/1.X$4(.K/ 9.&8 MIEN9YY^Q%\6 Y_(FJM5WB4ZJ<2&E;61*4Q90FJ%KSZA5XD7:UGLW;P&[>1N7 ML&GA)I^$\H%7'H[7DKY91B9,FY,1]G4?!5@EV%]X!(SG&&Q>X"QR),T/-"XK M!%ZI=+-K?Y2J0#78Z?D6(!'_V]LQJO!M_8[>W/,-N]@EIUN)' R,:;&NS;78P M-,?>:@']2\CV/9X2S3DG>0'Y!%Y9Q!G0Z@6+HDA%X"TN84QT@\ 9&]%AB&Z(6=SV+O)]X#ED\#B&8>9U98$=$W+>Z<8#2;&OJB-872 MYL9'1=VAZCQ:V" Q U7<-C$#8_T^ MB[MPG( U>^?6=_-*:51!2BM4MI*Z+W1@OL^!_ R[C%:,3D7=RAEVA9"1 0]V MSK&7F=Z>95X-+(B74\C,E7?08(M'_*36(SK>UP$4 MFZ?Z]K$+3_1U@-EJ3_,88^_5VA)+O@ML3QS]1QW8%%.050+84@3"1-S+CH]\HA(+Q;1A"P_">*_QZLB?!&_HG_T'P_8:Y,K;L M>3G@!R<XH]L+DR1^V\=L?826W8#W;F2__X?1R& MN>:$6QXZL@W7G(@X"C!XN7KS&M:J9)FG="JA+>-6M^)U"H?U?0#VLO+RYL )70]_0PPG*W?^&B9#FK; M38 +.BVEXS9[(V/WM/+V5S*936/D?UV@D')(V,4!\?HQ\A(ZEJJA\/W[ M']^>GKX[/1T=C[;UTL\7D]O+J]OIU27[-)W<7%^.'^@?TP?ZSY>KVX?I:/*) M_C6Y^)^_3FXNK^ZG?QI=_>_C]Z*3A^TPW$^B> ;T@04S).O,?:(3.RRF2F5/I*!(DT>B*9,!,')J8]=;T)+8 M3Y[ \7:*F1_:1 M;L?@+V>UJ)'N=1;^:V6-)&:N0T':CB=P4?]..H1I4)I;7 MB@2-56U0;I8HXKV@,IU(0->1%HI#D5H%2ELJ7@9=8M^JV!\PCQ*O.4IC!\:*D.&P:Z#(!]>1WY(9\;1_ YA+L(XS?EGDY ' M=(M8##BF@J'MSJ_964Y 8K4'-:RT3ZW^V-3%&F*UJOW= V?4,-E6@'8&G2/L M1DM>&!K/STI<"Z?*F\GT_D*:,A#$'YAFZ KP*N2D'X](FD*V^SU$=)'Y\2C& MB86ESOX25JJ=,J$#LP=3/969WX43RO']GG7 8OGDFI!D%R$0O=VZ)7%@>F H M]P+;[DA\$B\ 9ATO!@NV;'L&Z8U(-XBP_'P Y]%%@C%[EH&G?WD^%W(4\+_2 MDY^[E/Y;$$]F#]ZK1'==->; O,3,"KH20&OV)(KX\BYCM\$67"8L&><.T#:# M]))_$-+9;K8H$<2"*]?@P)1$K=!:J#K54F%-F/8V65H M:PIB.-TT)W,KI:K M$*T!N_2,G=]F@P&;( OTUD*=?6KRI[J:; &G.SUZ[H#5 Y(L23G&I_U'K^\! MQ4Q@##9Y):DIL_RZ>:HZ;M72=7S7S?9I2C\WZ>6[%X4[UL9=)IW6E/H__MN$ M,T:N7@'V(9%/ZZK7TZ<]_-)XSET-F_,*3GO)%C2LK*A/%;_O0,5*<,[KF!OH M[L9X3C5^\7#P&=/Y:@U'5M35ZR[(:5?>K #HO+936VU)W=K*>M5WP\A6/83N M*+PPO4V/6&QFMQ>(A4;C!9)UVF9%>U5FH_"7&1Y'55=+?5(M'D'DVO^FD48-IC7"OU7T]:3A2_A(1MW2 NFG*C21WH:V7\D-:!V_5=.@D88;PDMV8FLX4E%F,4FH'\N.[ M=(+"0U,R&;C=!H&)[:9&M2:70#;0WKAQ@!J8&?'X?;>S'\)G. M<3G8!XKHG/+TM>84R:1B%S(\K9B>)T.1%D4>SN]F;+FV7Z7>U[:E) M(RYDL?9F6TT$Y;:=%3-Y"AN#CU2M))T1M-EQ56[%A4Q9*[U894DY9&I"0*6Y M(DQ%+2JQF:.VVX4+^;C=FUJZ<'#*RK?]LX[EI"J)$CB%G@WZ:S#;I MB?^D8N1A8;:33LQ[MM;;(1FHZSJT9\WE1] R#CCF><^$"YJNN[+_646&3:MIM\^ M1\"5(A0LI78P*%Q-;7D?EZ*T.CJ(N$JS<=0A78-R;L1G-::HT] >IK;/]ESF M>M#KR'\CO71+1NA #-78A+)#.3(L[LR9!)!T(4]U$6O!3!,DXIF(:4]W>-%( M 3(Z=_(I>]Z< O\-Q;G[!719F74K(XO!2C7WGR.P7R[D.., MJZ;]ZB(MN)+FINPOWC\0ODA(C);LK1CQ%> B(FM>,F(+_EMD1B<:IM9 G;"W!+G+=[_U/WA)YNM5!J\<_W;D*K3GTJ_VQZ62$10DV%V:EG:J]0J7 MR5(JQ;W?+8]- HWO9E$%1OL7))6'4I#%WRV/42I!%AFU?.[ M$H15TY& UX57]<6LA5A-$>55JC:!PPNI;OC_1 5SP>YHI7;';M'*YGM7KYN+ M7=D3CO2_0'Z38*V:' BFUK&"6EC=B:8^1D\P# &[Q0I _FPG2>\XC"6Z515P M()I:1X4J2.YHRF@$:3(,.Y%_V, %=>@.3)6JR4":)G36U:1K6[T#F8*=&821 M #J]%#2_\;9A61 [$E(YD$5713%2'$YL6/&G+JOL6RDWK3;U#9M7P^95P_C? ML'DU;%X-FU?#YM6P>35L7@V;5\/FU;!Y-6Q>#9M7PP[$L ,Q[$ ,.Q###H23 M8>MA!V+8@1AV((8=B&$'0K\#D1W]N4#+)QAQ%/EC0)6/TOQ0WI78'JO/MT&_ MSS7C_D[%<.)>@&8X<>_4V>+AQ'U_)^ZG/GR" 7D _B)"(9JOIY[X^E(=\2&> MO%?A<^C)$IO"J#3VE4(8I![5O4>A!Y; MUJ [#)XA2DBZF-'T 5TW[D!HJ.YE#5V+YENUQ O:^T*JD/25"_9(^PQ@_34@ M73?N0)#+KB7*1>..)7Y&*'B!89B]F;-#E/,HB2$9EG4@ME75#@R1V0RJ9"R. MH^ ZBKUH#BDYV_N(R319+CV\I@,Q-4DO6D_W"2I'7'X\?;L?<6VYCD/9PO8K7*M*4<6+"WH#8M3+N7*2*^ M/&.KLSD&Z(EP#/^IRIVK4Y';@V=='4OA M'H36;X$LI557R.V1M:XV.31W-)>WJ,ELGUF)YG2%'(CQUM6<#IJC0=Z_ 3:] MIAT$+>W-=RF8CP3,DO &SJI?4?WCZ0^5H[P9&\=>RL<(9XPP65%.1B%E98CR M#E'>(M&+=28W0EG7"]7'L3,)LN+]Q1>R.!)E&YA%,9UF7_V1P!5CK7*IYN&G;P"%%CZ12,HL=Z8KW?!A&QLWY^H$VJX@8&95T,%)DIK["81@3I%8[ M4SDFVJ@R)F14THTX4 53-=)>'J'=\ %:KI(8X"UGZM"!C-J!.$\%.RR$"F20 M[*XU$TS%2 =KOK[1;BG*Z9VY![;)M%"!SPT];0*_Z17,P22Z!WZ",8SFYQZ!Y#%" M3P1@?D?;=43'7_HSBGP80AX'RH-2[RIVUIP;TTZMV0MMHG5AN+F^4/;>VE(. MS%B[=A:CE8@3W;N4.]W&BDE!:]LJYJC$FRJZ8>'PME2DB%2IV+I"+B]OE)K6 M 7,G8)[+&+X$*PS\M.NAGT/ !1X5,HFEP&3IGZU5[_)"2FD+[8G ':N1,BE/ MX587<7F=5<_3'4O>SIN>-!4E3^) 8G8]C11AN*.!3S!BU]ORL K/?9G,'DDZ M03P',X1!Y4,O-:MSX&;:>IJM#_D@K* U_3NA^9][TOP!Z#R?1W&#HCG?UD]7 MAG\%8? )80K&(,]$4;9/S?[2IF8-\=G,7^!61VX]S.[C>@;5+T'Z^?3'_;2% MM$[Z85>M^\D*CQ$=6)D1!(\178L&,-5 =M?5[N)V57$'8N3M>DW>%,S%,+QHJ0E_UN_AAS M6-ONQP;W,I[&47 #O2<84AT!4?X3);A%$2Y(6!4V;+%^:_FM>2O#X(^$.L3: M+--57M*96&#K!B!)BI6+PHWT6!%_9IFNJI)N1.\JV+)0>RJ$SFF/;$U5?3S' MJ*@#\;8*%JI37AF?&]H[7V\__A72F0B=P:QOV*$'LUY66=B9D%Q?':U2&F[H M.V^2978K][J*.ISK?PT,7>O%GQ!..Z\RL#Q:5<+3KU1JL4'TB@&XH MJT%OI(O/M=R&OFKI #WEM+@SI(F^@^>N4I/?WIWRM4:/"]^_X(BL/[BX:\@_I1$ 7^6@,*_!"M$ MH$1W%V8;1,?Q50N[/ 30\R0B^\CJ@4$C:NJ)_/$5/WW^_*KI;N=&XK M@V_[+96(S !F8-,S"10(OR=_GUG";F@CXI^4<]UVFW"C4]98_MZC+"W"MYNC M/'W W O64V;S&[=0C+^J @YTWET8?R&[5 '?C37.L,\U['-9W>?Z1O<^;.U[ M#?LD-K3=X712J6V7]U38]1184:S@1H3-;$PJ1%Z_4*F.P?)M9GB'M$Z5RQSVC..)RB&=[^45U')R1V85=367AZ'.WMM#$"V MJMZ&]E)G/T<8HQ<6^/-6])=X+8LM5*K"@7VX"BJLALUMM;);JB#?'?P$P!V= M]M%/WERV"U6I!@<>N&FH5"DT=W1:1,AW@Z M5H7+'57F-\-E_E<@<>!5FRH.5N"]-;&+,LH5'?0#BKV0G4W!U)'OV25_>Z*N M4=Z!-V8,]% #6/]*2I=FG^ K""X6'IZ#"U1#5;I:''@ZIHG"=/!L9O1,8^1_ M9>&S@ Z>*Q"1S\ZE&^;O>S?':/H$ZIND!).F.,V2*; MIVB=KW\>#A0Y0:U6'_/]Y?PEFD#BIVR/1IG\HA:5VKA9I(B:+L[ M/+7A[5!$ 7LB2YNTU$U3;NSN"6V]L!O4"?BV1VV6,!ROKR.V%(+/X ZC.?;$ ML4P]N0,[=5U:=S:(JX5@U;FOEJL0K4$Z;$\X$\H=/06] V&XKI5I( 5'#D=S MSAZI&LC]]-'P]+.PC .1N;ZTJI&$W=>G 9XAO$Q?%Z!0U2?JI-0.A.3ZTJ94 M!FY/IF3@2RO$JE,G@XJM;7ZU)Y7"A*J]&?KA[:[5%BG_WV^T*X31G/H01($L M=MQN$XL*8DZG$9YUX1QZA0S@&E:4TPBP,;0G)GBG_@\43+46*G MXXD;[A6SHB*),^>B.YT4%3$[H2'E;,;->8C(N$12[FR/,M\A9X^ZLD8II?B2 M9N-2#@PWFKU&$Q1N3_:'$/@0 K=J:.D M"GX=T<4+G?7Y_,+ CFS0K.E#R%JP8I9FXG/(4MFD])J0! 27"=YN:Z;ACUSX M9 M,NC=8HR('#C!U9$4UA.&03=252995N;UB>Q(O 'Y8>-$&+MLZ!T'!-;87 MH+;=GS5DQH&37([U< T%ZIA]U]FBWR[>,?39&2"T7*(H7=:G)U';SILP:-"! MDVZ.)5(8",T=6QR'O-[-AD-)B%>O[*.L;S0M[,#ANFYLQ%0 [F72W).$72Q^ M1_^ID3_S0X7\F?OI(QG1A=+HCGT8TF:&M)D.=XB&M)DA;69(F_D>=_8MI\\X MO;-_>">%+.=I#">%AFW289NT@Q#-+>)/#X'@'H7A)X19H=X#;V(F#J%[-C)-@=@X?OB_AXLG IZ!J!-(Q=P<,C9.P=@YP*)?P^FOA7\ MWP![( <$X_0*3#ZP77HQV"8#.+'XK,;E(0\-ME>GU20]N$I>- [[Q_>RZ*W3 MG;GF8=^'6Q674.[Y5F7^OH\EM[L.5EEAWX.7%9=Q[GE99?X.>6[W+7A9985] M#UZV640F&!#W7*P:<]]'N,%=_ZJF+?=R91ECJ3 (298IIAI)LS]62)K=-CG* MM3DDSP[)LT/R[) \.R3/.I<\>X IEI839H<4RR'%" M>($"%*+Y>OQ$9^*>KSP,VG7+AQPX[&:[JHKTOH'X@@CN/21?/V$ KJE;T@X_ M9L^M;EXN[,-6EN(_^?F?0-K\(05CMS? OP,-^OMLC6E=UG03Y/9/?#1/(+_I,;$]\0N$(F) M66"VU;;Z[3ZO(ZIH:HK4&Y@#W6Q85(1LE24<#.!V8 CY;DHI#JLCHX0S98Q6 M4\:-8*N!S1IHR(D8ZCT@@(IA08?%2SI4A&C%6-ST]KIK"/0E'5CA&5GAWJT" M>F!VIYP@I-7-MX]7T,\F&M,7E16=?491 ![(65O'"RI4-E\D[T^ M;:(PP[(.3-$K:\T0FAMO&C4:N'6;%*VW8FW'HB-YB;ADCV'WS80#::Z';+\2J5J/BBY02$5.TBS;RD'/=Z=GPJ#G MIM8_C=)Z#R":F4WHE6'(/:(6>AV"XQQ[]*\=:_2/-#)_#U;;.Y_1''M+0(F2*-Y?KE8JZ4 83JW!2FC<"5@\8.#1Y=F:LYZ> MAQC[=&6&I8$P90D'0EEFCJ9$X:AZTGRJ#9W/D-I8G^O]$W.^ M]=V(*4>D["K;[1[[=O>&GF[MJB2MI')O7\>-#HI$*CEFDMDD,TOJ3W_QX /, M!$ 0?. P:R)FVBH)."^>\\/KX.!/_^-U':$=3K,PB?_\U8=OWG^%<.PG01B_ M_/FK;;X\^8^O_L=?_J]_^]-_.SGY/V M"4=$=(RSGU^S\,]?K?)\\_.WWW[^_/F;S]]_DZ0OI/_[#]_^GX\WC_X*K[V3 M,,YR+_;Q5T4O2J31[?4YC=5!;/R';_D?JZ8'I N)/OST MTT_?LK^2IEGX<\8DNTE\+V=?J548I&Q!_W52-CNAOSKY\-W)]Q^^>/H*T1;?GJX5NKS4X-6T8F9SNA[?#N5.D])[D56.HD] MNRK&/9SVO2$_-?3#KSF. QR4&E*6&LI,(N9ME# EG?@->A'UO"0]-%A6>GB& M_6]>DMVW 0Y9/-(?3N@/S$[D'_\X3PC(G#YG>>KY>4F)B?_GKV1_[V8-*C2E M=9HV)?=2O^1%?FRQ0]'B6S\AX;_)3Z+BP[#NRS19RR7E[!+)'_\1/7?_L*4J M#3U2G"7;U,>=OJ@HOLK2E8BD!45\')]\>NP@\U\NRO' BP-T&>=A_H:NXV62 MKAE8H=]*3O_?G[A$(_I8*[D6I3>=! M_WOKI3E.H[<'O$E2&5ZI6\+W*X5V^RZVUPRVMZF$[>UX%6'$*4_GA/B/!D(\JGD51CAV^WZ&:<2O25-X+J>2I_2 MY?;_#M/5E%+:NEBQ8J 4$20KDSB_-9;RX9713/H+B;7J^EFS3:0 M74TA:4]WJZDB2G8JE[N._20E\,E6QH\Y&=+/DVVT!W22.NF M?VJ[0'97,\%[>F^#R0(Q-BA)4<$*45Y3N?23]WH=D"E"N SY[G3+:*UN#]V- M6S1M.K"B,637;1.YI],2\JA)?^+Q_C0(B-&RXC\W88P_*&TA;PO=0S4:-KU3 MTA"R9^K$[>F5!!@'+2:<=RDJ&4SLI/=)EGO1_QMNM,LF1>.9.*A41ZE[-EK.P#GE\@Z%G9PZ M(N0G6@91L#Y-L:?PQ;T_P_4^F1Y54H/P-Y@>)I70UJ?8^$NI3>1"-+$KNE\E ML7JK6]($KBNI]"G=:?_O,%U**:6M6S&"B%&<;.G[B/UM2MSYPW?/3V$>R1!* MT@2N:ZGT*5UK_^\P74LII:UK,2HH6:(/W[U[_AJ5],?WKZ?4HYG"CV_KYT2F MZ?[?X7J65)/2K1I_A.E3JOB,18<22G: ;7JW1Z[6.6 MV :FCVDEM76UDB@JJ4YZ)'>^35,Q_S,:*HI#J5 MLUVN<10 M=]N<7I.GFT3J59F^$W0W--%Y;^&LZ0'938WD[KN(9CP08[) G T2^$SFR611 ME'K1=1S@U_^%U9AYV Z\O\HUVW/19B/07JD0M:\CU_O%!V1D9[:"_E%9S,_;+:=BR=*-)3[HM!P M#MXH$W$=< 4BSS9FF;_[W ]3ZI)Z6V-/\+T,+F(MEY544.4 M7%\_6GK9,^.RS4Y>/&_#G0E'>5;^IO:JXA?_8/G25(*[Y548>[$?DKA)^'UZ M146LCEUA^J*-_M1-N_2#Y\%6TEM/)>]N+RYO'R\O$/GI\>[F^N+TB?SC[/3F M]/;\$CW^]?+RZ1&]^W1[^NGBFOSE:Q?^?YIE.,]://V@$6R?ENLD>F^S!5P_ M5,G+KLVR#ZY#C-\,W42OWL+GB*):-1#!VVG4,H*30\C*B]AM #2R5N M/U=<5$E)( )M:"5+Y3Q&W478G7O9ZC0.Z'\N_[D-=UY$Y,E.\W,O3=_"^.57 M+]KN[]]U[0L[+#M90 Q3HXYPP[:;^-8>3LBSDJGL!X'1 GDY*GDAQFR,P-[A M]#G1A_;$AO#I#[AFY&2EMDK2_ FGZ^MXA[.4*I((.MDC!U1OYSJ%RKUFV:&Z_NT<%'V@'U,@O\YPK\_ M+?[PXP]L%"8__O##=V3B37__/[=1[Z-T&_BX3_'&"X/+UPV.,TPF+'?Y"J>-=8GBBYCUA TF';07,<6@ M&UQHZ2*\;4 5/%#!A#D_8X/V%N!.9@136@!S)ADS0<),X#M?GIN$][P"N35D M9Q*H35?-)X&M.R*31^]@WV BZT/XLLKOEI_('(@"J<)8;7U@ Y>1QB)R M:3O A2XSL6U]NJ*.&/D%8@Q.DN4)8<'G]$[ :RJM(TH>I:726[JD*>96CB+Y MER0)/H>1RC#"GV''Y[X>8BB6?X,;=0<2VKI:26B,*-J4SROI(FEP3>A!W*7L M;M* .CWF7II/KM49?@GC>"3%#+9"QW:Z2?#K.LZ)T.%SQ+$Z(S.ORU<_VE*' M:<$VPZZP<:^+_B(FFO2#BY>=I+=UZYI)M=M(^*!W%2=4LMK/YYPJ@JXC3% 7UY98V?O-=*:X5]M!U@QW6[KF(TJUO#C6$#F:VOL!2D$:?-7CT1 M0MC)$F,*=7.BI[N]3.'TXY8XN/940-46=E!J-6PL_F4-X8:B7ESK96_CH*XF M[&:%/Z**<1*?N#]*X,II3T_ !UA3A\-S-[@AM"=?OY,VAP=L VU;NPN#F]![ M#J,P#W%V&@>LT,DJB0*"#W1W/G]KN;S1H3OL4.IJ!S'83/O"#L,(:3"UN"8&:WMK0=9A/J!O>WU*UG$(;3M15[*5;'!R"C-H0RO;@(U"OZ5X0RAN#CL,6D7N$(J6,9*.CJV@< M6=4RP]K-XGLT]8KU>%-)]SECI:9O>NQI[00;@,QT5J>-[?> "T6&<@^6.%9Q M< M+DZG-,\L]=!":<*8 MK(^A7G%X3 ]5':^6>>4RW&7@;.D".P!-]!4C4=<>;D@:26WKO 5Q8,/EJ"J7 M6UOL>;@DIE>GEX45^.B9/$?ABT?_YBX_PGC5K6X-.W9;M#S(DIC3>KM-X'YI M!VN.J669*.!Y3C0-QAC%H%GYSBKP1O'&R<&O;^QEMTP=(I"G6R.TY@@;] M8,>AL>8&.T"SR",T%GV,?2#7&883*B_9#1*2$,$L45M#O+T7[ WU+IUK3J' MX#85?/@5J^/ GDIQ$(O4@VL*PNRDPT6;@UZPX]A0:^V5FV87N'%L*OB0EV\: MPWP0TUF9 #[#"YWE@::$?)<;C0UXM#7B*;EL1/8KH8QK&O M#A]]#]CA9*!MX\$'=7.XX68BM/5Y8$V;O_$@4G_E5;K3/$_#YVU.4WM0GJ![#\(5G'P_[31_[#X\.-_ M*.A_^.%'"?V#!R&V%P'9][FY L&A0?5=T:-GJT:-FX421O M"A=+V@2VOF)3T464, IC5)!V]0K,^(K25QM.B**^5-%ILO13[&7;](TA)\<\ MW4"N:0X[)-OT;"3M*]K"#UOHG+"Y5#/:2]&>.WP)ZYEC%^\'&O+QXZO M;#'H>SE9(6N__ZD>A\DH^]UWU;_F\_S2 \Z],,;!I9?2BK+9J>]OU]N( MFOL"+T,_5"VUC3K"#G]SW44@:.\%%Q(ZR&X;+R4+5/) [P0NJ&#CJO#IE ; M!0]'5_5+O=C9%4'$38I7.,X(TO!S;/JHWBW.[Y9/WJMJMM.9"NR M[3*WF7_ M+B3@0H&M(CUNRU<@P(]3&QS+I(]WE.G7O& R&4,)9U=5 YQ9IWBDK6&=B+V M6;P)&5;W"]VD&&9"3D+9RB@J[&'2#C:*F>G>I'0H788TE'[96J.O4H'%T M/<@78AI#">CJ>?*K)+THWN(^?!F\I2Q:1QJP0]W*(HT551<"<$' 3HW>%0]K MT@M4B<">BC]/<1#FZ(:M')Q68)O4,KQ,8EK1K9=-7BF'LQ3$XBR:S(SO4C+7 M(XL]MD=]C]-'NG'51U"Y M&;2)4F-768-<<86!=.UAQVRKIBV)@[PQW&AM%WGHU$%.WDT%X/&5;82IF\?. M:<8 6WROVU^T4K>&'98M6C9?,97MX^7%XC\]'AWTI8?[Q\N_TJZ7?]ZB:YOR;\O MT;M/MZ>?+JY)9R=711_P#L=;?$4<@EZ/I;;Y6YBOSK8'WFG4KTG6G-G^=WRER0)V*$^3G>AC[/')%)OA&DZP(;"=EV; MJVU5:[C 9B"S_;(S8T>IC#A_M[4@CRA]1^OLT=4M0A.]PS3\64(N^6V -RGV M0U9RD=G"6],'!/[%?Y&MDL_D?_'&2\F<+7I#1.CDLZ.Y489)A*R(>2Z()E&R MH5/(2_ZBEQ(']7U@![F1QLV9C:8#W% W$]M^).;4B[MK%7UT*7T,;JHIR9@J MWZ=)L"53LJ F[23#'D<1G63$P4CSZ<-5V@!VK[;HV,N^5K>%&J8', MUIGXG#2+T(JXT_@<4UF/I7.M*SU9N:IB9HZR[88^X.,B7'_!,4Z]B.A\&JS# M.*1[,_1*KSYFVWO!#EQ#K<7H;>D"-X1-!;=U[8(^\^@F!Z?!/*7:7H.#FQ+F M]82>JBQ,YQ7VT?> ';X&VC;+EBN;PPU;$Z'MJW;7M!=D>KR)<+42%!FQNL@; M/J\D_W14P7P:.QPL@YT^&U3?TU681=X2=MAJM),^!E0W@QNF.F&M2W97;]XT M;I8[N30UAGZ%5NPD(>'T';W\<1T3_,%9RX;282O8<:;0JGF(W&@"-[Y4@MK[ M'J?G=&XZFE)8JM1TKV^0Z4+2! Q]9+5V@AUH9CH?O,2A[ $W# WEMA[Q6-T0 MD7XU]!4LAAW]S(NS3:(XKXK";ONY2[&B0WMY=AS&6Z+J734VG^%EDN+J$2&< M7;Z2Q6Z2!F'LI6_7.5ZS)TOHJ7/"]M!*1%("X)@<88/&!-8^3!<;A1U(OSUMW#_3:P<46JD8@FC09N,:1UT)3+:NMTM-8D M']P<1=-$ZDP2.65EW;*\0\M=$TUSV/'4IJ<86JJV<$?J5HEMG;.J"NVV+LGX M^FUH2@HE_3.$*#SSLM WM$79=E[QU]!0%WRLX7PBKRGN<&&W0(PRB.@;1L?1 M]#$8P4?4J*HC7T,*!$2Y"*-MKJR4HFX]+U39TU*'*T73^2#+OL!#8DM!&P2Z M#*7GB#I9(,S 6@%!F;_A\&5%Q#DE%O%>\.V6/I=SMSPHH-&RJK @ QN7;.TB M E97&G"1S%H3VR I&:*"(^(LZ2VPHFR;P+5"/]=/S3HSTXE7F,D7RM2(Y6GV MUT13@>CD%KG <;(.8XJ43M:!I@KKUH==:1P'DBK7DYT(S!]#AUG)= 10=TO3 M:"4QB\6L])?Q;M:#$<-1A(\G M5CRX+]&?-%Q$&EK!?A<1C+&K$ DHAL$R:O,YW'<1R_L&"GI724HF;3%_TTJ].//\XNXU^U?$;V('_[G-3JW)CVX#69?7__O3 M]=/?73_[4)GGB>)1FPW+1C-Q]89.4I]F+6;@O$TYK>M_EN30;XS@_K[(M![' M0Y".04E,_IF=OH:JFX)M?6;BCSJ-I>XIZS #;]6*;9TES8BBFBKZC=)UXL-[ M"EXD:R]4E;A4M87MLUH-&UG\LH9P?50O[E"^B7[CA)TXYWG];N)'3 _7U;/_ M@W:PG5*IF>)]3]X(KC.J1>VQ"JU>\G3]:.?X*KEZE5,;5KKVL,.K5=.65SFA MAUN[R-:;'8U7.:&\PCF%AV;KV/)6L(-RQ9Y;5VT)(M*NHX>P'*BW#0C9>*'UW'QQ*8TN4A>Z5 _E/8E M"CN,A[%98S#N11$N+ RDE_4(YQ=Y B3(9)DN13'3XNRU.',5"Y>Z&?6/RVC3 MGA'<$$1E!5K;MIS%AK#A1JV;] B@:@47%C2R#G!218DB1M7-<16[)'2=95ME MK9Z])L#=3Z)/P_&$OP-V.9F4UL[&B"T0)S?&(+'!:9@$E[&VR/^@.IUYI*-/ MX#TLKPB/4LB7*T:B-W6!,D9)9$AAO96X5] ME.EYH!BN-Y[/9F1DYH9VE!']!R\'DZ^\'!%IT#/&,4IKX5# I&-]>("RQ.XP M0RLB)2)ADQ=R?C,&)LAPVX4-&3\D,$2<(^(L%X@Q17\M;%+RG?B)%R>6X1>? M19=9)BG*<)Y'?-9%G RO-U'RAGDM\<]AOJ*9+V*0ZN MDO2QDN5N>5E(0I8C?Q/DD!AR")IP 7DPBY40W9L@;- >3CWK2N)5S8FBUD"! MV3ML MH=8G)2('=OU^:1Y**LZ%%*02\YH<>&Y4I)V!L7?U.CV;A[0C"LUP_^ M>\Z[!S@,+B\%94^)XDB-:4B5#>AF%XXS!A$/F)@Y"W/\B--=Z&,^P#Y@/WF) M&14VUBH/[T9G"W/DF=KNS5/M<7G"W>"83'/K?>7[Z_,">$^8#.C>>V/@<9JF MA"3FMT:O8Y_B'68([ M#7MJ[?(5IWZ8J;=*+>C AD5KRS1W^SL2@0M<]JKT6^=SEM(E_H)/$U'!&56L MG>#/] 8Z%XL(A]Q.VPT#%,ZBWE-*-LY>05?8A4]6!\ 8/:%9@HR!;0Q01D-E M=C!CHDNO95,Q+HO3 G'"@Y[?Y'.BSUY*X*B0:5%!4$9W'KGHCIZ6=F#($H4_'N0#SV^9U!#1& #N)\RON LSP-?5JOE+9BT?U+JG[ITI;6+$S(B+88D) F$1S:5$H=WA"6U&X'AM+85;[SQR/5A3.,PBZ%V>99% M]WH_XGR5J);IAEUAXTX7_96W9Q7]X&)*)^F'.N,MYC EIP4_3>#,W-^X'SR M@$/M;1 +.K!#W=HRIGL\4B)P8<%>E1'W=IIX@DK6L#:-1S11I3]?':587$?M MI;;QY'J/+N#@[>@,@#5Z0K,$&P/;&._B' ?3L7MB( N4U]&:)0*96P&$ M)20X&ME2TEUDMD=2Y?+7:Z]#T[B?^2A-8W68I:4V2P0RM9+Q1$A-:G8H9*S0 MF%,B'1 !/- :T5I=L+BA#L:+"WC1@CW:G C9P>NEC?E<8YHCQ1R93F4K^C?%$8?XTJ MUJCF[?J%5P=6JLW@5<2=O-]*E%Z&^8TZTZS1 ';\'^HBQG7]5[CQ*I&Q3QSN M/5]7E2]4OKC<+&&(RAJ&3J)R8%NX>[2N<5.57C.-_3"B+_35CW@^)<,,ZB.Q M@AWV8]I7>8M](#YPH6A4;>V+HU="4;BJQ$(':$?_/+-IR!PLGE86CRM,I;^G M__*IN3>"N1/)),?1'&<79F2\NTK2BV3[G"^WT:GOT[P[S:Q'UP4V()KHNS$(";PCFA.R&+ODYPL7+YJ=K.H7]EZQF6,>NL&.YB_YB M3)OT@QO;G:2W=6^1R0)5;%B139&1D\">W ),;4^@WB/J974B1<'OEA<$5NAY M!JT 3-/+954@VWO #-T.VI85'%N:PZ[/:"J\=8K."I>W))(E'Y#"@@'RZ>41 M,@W=IFFS]F**-U0J\B]>A7'2RHIC6T2D3VU".:"2!;M0,WT]Q*EU/O2#H2K: MWB8Q767=T'IGQ31/!D^*9G Q2:=7"42R-K#11RMQ#VR>,;+G4F1Y2QE).\D$'@HX+O,34*_B.S9/W6HA]AF.\ M#',Z?ZOW4R0:=^T/%VRL+%&B4*?.L.')3I7^N!44?*L].N^U]'7T[IDS_YK/ M^84=/H)@]/4[!FA)V?5=Q#94Z;=%]'0HC+?L,CO?W4OB::M63VO0DIOPE%:] M]7,FFE'@.CE0.K))[NQ=,9IA=K9?UU6QDE8VA@F>9CH>//5TT!+NYDZ+O$/4 M]9/6,*:'VW3@OY0.^8.H;7*E;B3M:8HFL&K#9?H AZ7"[+=8=7BM:0X[5-OT M%(-5U19NN+9*;.NR)>'JX+:@_?6"'NO0LZRZ^"+--DH5\Z^8TRW">?5#8I[43[% UTUD,6'T/N&%K*+>M.U/R9:H% M&64$'G3UP;DX"N&1-6?'OT3-@!'W(JKO,GPEXZXGTWJ:D7:]\<*4I\C?)/'+ M3;C# 5>8OCEVE:2?,M6+**9]80=V)PLT!F23CG##O)OXUH-7Q85Z.^5SPA@5 M@WSM9)NG)=IQY=>MQJ0LS1-0,$3.#-/*G6E%,K7M&E;]/Z?Y/_K9@][YR MM@5"+\AO: L7$,@>19=DPI4WAJI+1 HK=ND/&PH[6T*$0^/.<"&QNPK6MS@H M)VDNZ8(?H%!VJ.+G!!DGMH:;?0;^.-4%YO\5,F*+AZ!:TN8[$8 =_-UMT=R= M,.T--_PM=+!?TQ>OHKTKF7U-'P*I :%@.')FN-[ Q!PL)NK?#1@>;,@,5&L^$AATJ!!%;"K*3> M_KA1+O4=PM&4]BL-)9FL.-X&,:]YI+!M)P*P0:F[+>SJA<$%&@L=)JP/-@IV M)+D7Z;!C8I. +9ZAL,-U7#QJU[?@H)[0+('#P#8& **A,CL@,=%E)$"I6 .J M]./ 2K497!<>"'XEF=9.Y*8&108V$.+")K^,P(&$RV& MQ(>:'[ND1F.&K3U&>>ZU!U*,:1=&J+[K\RR8).8F89L9WH@OX!IDO$UKDI>7 ME'TEH1!J_3YNZ#NY?FN^RNR]3 4/G]UM8;=# QGLW37R,@^R*1!*]C$A7JS=TWD5F7*Q\MFJZ9M /-EH8:[Y7>EW?"2X6F(MN MG^K).?#28^S6,=N985S8THOQ<55X?5+M4[Q+HAT-<)]7H5]Z/DT?>7,1Y ]X M4ZRN^(UCTR WZ0<[R(TU%X.\M1/<(#<7W=;-:PY5:8'1@]Q\8V5\_<5=)E!! M+B(J'F7K;U: ?[" WUEPUDDL[P0UR<]&'&$2^(Z^LM"[G=+_N#T)_H"]#7Y14R6&O1^ MC[RFH>[)]P')SP=+AK"C"G+ZT)X',@VB8=\07M3/+) H+1^,;RT]>OE:OKS) MP65 %A5@TR:EZ;=X&+?*,%LYKT]VD8^^'&B\HYG,+<;7U@(YB1QB(L M:3O Q1HSL?MMT&'^I,("50Q*O'"58S*-UORMA TF^8J2\3=O#HT]T6 M=LDE2A)+7$#&Y7*)_?QN>?GJL_J2 M#P1C[]CS@/3_Z8VHG1=Q^,WR-/0) K,,WSAH_D)HJ;#].)Q@@]"(UA71:@0V M<&%M3&5M@YW+1.<#I52(BH6*!S^+JM4"QP6JA>%_I-<"]W\G='"RMP/;U+@T M=4I-[1?E<8G)_=*>[ =<,V>_3&LCT[^[ -U>%KQGK^$>EN I3D+$;\5MI?BX MDPL!&ZK=?!,1Q:>5 "[ .[*#=5WN80!^@;CH2%(;;($J!?8&&*Z#D[GTS#X3 MG8^_"X1J:X650SY>+ X&B\51C!9C?+SCQO+!H?E(D18*<(X!?AL&3Y>Q=F,2 M@O6,0 N=H$M:'W&)N%[C6>PQ]]+\6&QVAE_"F+W9/JKEQAUH^]<$IN+!7U(] M;C<;OBOO1=0$] FFZWB9I&MV&-!RR=*\-^R!KZ,5&J^=FW6%.YAU5<#Z6$C@ M([Q&)K!R?4_2B248,-#D'#*CKE@YN2K)GYA^\EYQ=N^%@>YA=$E#V &NUFVO M*[AAJY&U1W5M^NXYHXDHT>$?/N]0*7MH[1CDL*:#%=Q>GV&!S6 M#LT # OJ3O(]B$,38>K"*G%0'65?YWC=6END0W_8<=O9$HUD#]/.<&.]NPK6 M^ZBX0->\C2.YQ,AA_"EU5^M_R48?9.V-US M[H4QS7DIM]BO$N&)#KHC7K[3\::P;3^*L&%D &LU"A38DX,+-4,H95W4@/(^ M298GA#M_I0^5_.E!3G4V1@=FX;D<=M!32>$$D4!8;4M?.>0O!B>"V;!HMAA_ M%M[(X!>,A#=UJEJ4X9I,@=)UM0>8XYA6MR:_3I,=3X_UHBCY3&_H.%F@%+-2 M9LN[YRA\83L2&5F1;5-U<=OV7K 1S%#KYN&6M@M<)#(5W#9N.&[4E%%)V0F" MC*WM7OG9JD1]ZGVWSVR3_.V9+/+WY3+K/(L*- M[2 )]=:^X&/>7 /[53YCA$1.%0"@YVV."#/TAOEVB*,:*Y-;HY@]%&# ,MF] M\IW4XMU0-AOP]A[HLP",8,X5;OT&:%N"BHY44^%?B;,5!, M!N90#"S6EQ&E0->"[<3=[5(2)(B"F"R33@G!V(]>^2[LYXOVZ^Y[;LIM[F71 MF.5.&G2#.19TU;M9:U/?!^Z,T5AR^TJ;A_F*4R0I&LP/I]2=#5#OQ,C?I)@= MDTE>:69S5#I@%;M1,:OO<)Z0I6;,T3C.DB@,Z(UO=.9%;.GYN,*D\=1ND+3"&R..$ U M=ATL5B4\CC1L=9K:1K HT (U1&+CLB@4#?%*+%3+A6K!T&]4-,1D VB$/\6# MQ^UZ[:5OK!QO^!*'R]"GY[NU+*@4QH6#,[GOEJ+4M*1N+>BAS=H&_)XD80?) M$/82PZ@//;B!-HA6(X2B/O[<#\50[08:PA[P#L=;3&N%D^D+@W-:UNY\F^7) M&J]YLGXFJV^6J=8RHK5T@1W?)OHV MYL^:]G#CV$AJZWE<01R)U('XKOFVL7'GV?FSX1:O6<]9^?@8FX4R;P>UO>K0 M#DZB_IH$904)9Q]-;I M!J?Y&WW3,"=6N"RO%+4,HR;]8,.#L>9[SX[J.\$% 7/1K5^M*3@L$./!G+SB M LJYSA7WCE4M8-]D;!5:NO"O"N, M"-^0WJ:JH9Y6YA JD7K/R38O'LB=]'K?:&KSH@P0!K?QU72R:KORPO17+]H* M:K4-6RU=8$)/%WT;S[!KVL,=X(RDMG562APQZN@C\5M"V]6J3*9FVS*LK<_\ MW%>[T-)VF)<##P>W@@<+]-TOG";3VG'<7N!G82W8,MPH&\..5+V.8HC*6\*- MS19YK>= 2?QR0D)DC2B#_>FK []L&TG4K>?DF=K10]%T+KXYY&VO9UA[;&,I MVHQ"IP\Z&(\0^AZP@]% 6^E;#W,:,$R$[O_Z Q!?;1LU6KK,SENUXX>N_:S\ M=3B K1T6U'@RD,9>55CN('9+K*M MAY:4Z;.\B-%V'Y)3:NMDM54AS=U2K&KW@"-:"(H5K6/"L9)S][SH8=OF=&^B ML"-\&)LUEGB]*,+%BH'TZER@V"3H0#L33=&Z_=&;ZI&$FMYJ5K$F)WD$ MP=:BV!"E70OJZ%2HCNM\+'=N($!P1+.S\K>6C!3FX%+=);I!G9=,?MJMVMD3CW6C3SG =O+L*0_H^ M?4<"1D(3#'NXG0]7NM6/6QNO+_5]86- )PO(9[":CG!COYOXUGXNOI0NJ:PI MOA[OI%YD$+"'G[RH$DZ0R'Q,M*$#.RZL+=,H.MF5"-QXL5?%^A64BJ,0.0)/ M4$/G].:!#BUD;;D.<[Z5%@>TX%%(UN QK;IG?)S?E09L2+&R2.,5MRX$X$*) MG1K6+YC5W/@+'2(_)[EE1OJWC;B=B1Q!;&C'VFX49AX=PPTCVO -<1",HR3 M?2O\0J5YP)LD96_;Z\=.37/84-"F9V,32M$6;GBW2FP]'^2$74_[]O7KL*]J MU'->OFNZE]K>;3X>/3?MY>:E^D%$UGH^?#KE[MN>H $:1 MZ90=J$!)_?S'QDOK)[A"LD3:1#BC^2W"\USLS8TW7163OO1@!NM@EBKKH?0B M!KMHRC"J65_M:Y13\>KG8C:,$7M]_;E\=6:S_^K,IA*3_MD7!9VT HM;&S+N MZ(Z]RE/R1Z?LG<'*/.2OS7<(N1!N*[I ,%O2-)O7-%NR9S872T=4I"CCI=17!1!6KQ7]=3II'U90'X M/[?!"]\%#OECY6*$DM::]\ME3ZFZN9NZPQG;RM;/P4S:PP[E5DV;5U(5C>$& M>+O(]AHL_"V\EIDE,?O0Y8G"ES2+7@@SL M@+:UBQCG76G #7]K36P#A#!L/)O98 D.*"8WSP/V"?'H#5UGV98,^$I3.4OQ2O(9>O KWY#U'[06-#/O"!H].%MC+;6[O"!![:?I&Q_,=K9;I M-I2OPCC,\4VXPP?O"AD-ZG:4YA+ZG:TCAP1C,G. BN[*# $AG.L)8RMYJ@L< ML+BQ4E@;QN.&H;N-*:\"0 ^?MNMM\?.:IA7]RUW.3R%UHK/4U3:G6?N"J)>O MM+: V7IC8!;SP*PA[2D#LR'HPT>Y0;4<'_X6B,N$1*%0(14T; 1G6UP>'S&V*B("8+-"@$8LS/.'Q9$;P[\78X]5XP MF3"NO9"6<$3;#"^W$8K")::V7#-;,LQ#/A7(S:TEY0N ;=!FU!$V=)GK;O0@ MY@R@IX/LMM&@?_P2"&I,8 <1%3:533:53;#+1W)O,,$;S!])PYF?AALZ+V/? M1F$Q?0_8<6Z@;?-M3&5SN)%M(K3U2Q.,]@(QZ@LDT"_B>3^('?KP31CCZQRO M5;F/[;WFZ,L'6K?[<]5E;CY]*/@8?DVY(,;&D7,3D6BM4:/M.75KZ,ZLU?+@ MP>+#II"=5R^PO=,R9Z64HGZK7E MWXIEW2E?U3V4BSJF^1-.U[3D!;V>0M.+'FAN\E62\O1B3/YR1V9_7EZVUY\& M3LH8)CQ,;_ORZM8T7&'?\9K8!K;@0,AM(R_=>V-;L__"$80F$_.CO(.F0:$) M2MGE GJ;;,F5X9!3JN/BV>Z9?)0*L>^6J!04%9*B2E0^X4),6';WK!07,7D1 M$;BXFX'9GRN9>4?G>X]S_"#=8J,9"NY6=TWCW(3>M$1B],?Z5Y MROPTFDS^;FK1/A)9"28&=_$#]K=I2E"1%1WHFCH\" _84#2*117IQOT9P(6S M<=0<)$>/R(.80(LR_80N2P2A4"D52F)4R85XG0X@8 C7OLNJ\D$89WFZY044 MUJ5)O1PMZ1=@ERJH@=/*P*R^CEL8W7]ME1K+9VOL:$N6MQT!LRNUN4"CE97D M(-B)U!S@SDZA(0+O\#W?!<,LG^%;P1\>?KDS&%D2;K9\KSHK5X_/E<&"PF"7 M]X]N,:E^$5)\LU%XV#([>SMX-?+TLY<&NJ2;(>G/!;<&LJ09E\9**V?L:IX@NH6\..O!8M M&YFO\J9PHZ)-8.L;XWV6;=?\=]9HUHO) M_)"MOTW;4,Z>P[P0;P ]A]X/:4S2%HA)52!AMD"58$B0##(N K'PKK*;5_.# M@I'BV/& LSP-:6D,9JU/=%W-C#?HE*\[E_FAY !6[3(9[,AB7C@YA**C31-K M@0JTI"+-;]8XN5T%>$QK$_+9I--II-0\!WN9S#9WVSS+O3B@+[)V LB!>0"' MQS$LVK[99\D ,#2.HF8_8#Q3 ^/A<0194]=BP4-(6.85\)&>:P!96E^N-U'R MAO$C3G=A89+#3=2(B5&4S_:3ESC\%YF+XS1, GHAMT.!LN'Y 9,P:6>W@D&52BWB% M10ID<+QQ=T=KC-PF<75+\3HF^(7/WBBH)K%!C41;6G,!# L+R;&C Z$YP(B- M.D/$#^.+1,:(SP MXNQ-^)=9LK@QF;G@3#>[R"'&C,8NBWRAI,([*"Y?CBX26X^E@GOU^\W-> MJ>9M;MSH-"^'EHL^I&LORGK^&/W&V=BXN:P:XD6R)>B^PVFX?"/3LV^DMV&T M#6'Z9[MN975 >2O8U?Q:9+9UO6NA\B9[$XNN-?($<7:(\Z.+CTFKY(VD+"?[ MZ[@Z::O-.5+,U8AXTW)9IZ4+3)SIHF_+$'@#_^J,D=3#SNEN'-]SF4;E\V3] M',:>L\1&B9;W.*7OK'LO9''Z:\*W;XBU<)9GY:,\YB8S(S:[$.]@HY;@-Z T M*UCHHL^P,^6:,]WCX+Q1Q;QZ& L*F$QAJ+O/,9%L%6[0IC:.)S?$)'!SNZ4S M'7I@O4G2G.XO/>(75C= 83AM!]BPT:ZK" WJUG##WT!F6\_EI&D@U\112=U) M"$^B;%HKF\F5G21,+\+,>WE)\4N57[+#\1;KSBM:NL .51-]Q6#5M8<;KD92 M6R\^&\1YX#+R@Y\C9&DN^##Y5^V_Y!__X&]";K,\69.0EAP;*!O!]%&]3M0K MY2W@^6&+G+:>5U(;^AB@Q<]NO369N37TD6[YM[6%ZW6M&I;.IVP(TP?;Q>WO MBL-NUK-<>0:LRFUZ21.8GJ73I]R:W_\[[$UYI;36V_$YG0@245E!-5HC47P: MB[X]6CSTD2?\>@/[PZ1[\X/K7!-T4WQK9*4& H*BN##U1B42R-K A0*E1B46 M'#2 #09J<:= @W7-G?Q,V4^*"L,K+U!TAPNCJC74ZX;;S29Z>PP#7$Y"E "A M:0H7)]KTJ][\4[2#C1JM4D\!'AD3 F5$"N078DS[+-Y85N"$3QJ:3?_&W+C: MH1.DTV^T=? #O6FGV&81_P836J0:E.O:Z@\PU[&'XMD75"1XD.4A?8BH,>). MNJ/"])&.6H=_!>Y-AV/3WI\ >]10J*3R*?NM$;O]8#*^K;=KI5_M_QVN9TDU MJ3: Q3_"]"ZYB-93:$YMTF%\*BU&/!QYU0?#WM\!!X-,D_HTY!5\,$A%M'8C M3FWZ8)A BTE.O(O#RNJY9Z%\S=US%/)335I)@E;;>@K7I,G=\I&.<$NZ TNK MQWII?N'ELJGP:$Q@AN>X-A7/X8?E \H1M;3-DX+<1;"&_!BT:I:)%Y\A16H MXU*QLJF"7+12*I$,4=$<7N-29$;AODOMS 3V(WEGR$')@; MQ]GL#G1/.0L7\?PI?@ZC" ?;-"7+3X5YM!U@QW"[KF+TJEO# MC5L#F6V]MB2-!-H+5%!W$JA3*)M6M,%.M?M,A,"';"<+=)[OP@WD;N)/,#OE M!0"=Q/E4MBA-L!%,D%0,P,:_;C'#:QQ^&&NM5),_ A3I8,=!%]8%[9EC41<- M(2RFN4QP\6P:>^HAS^9"C2SA1KR_5R@O.?27MX()+"U:E1DVDB:PDVMT MMZ M6?.R:;'4163A^Y3D7E2N^[-)TV?&U_-!NJ0?/W5F#,W$G"#[K0II*IX?/H=! M]H3]59Q$RQ2LA3MH2-&@9RVP]154:>.ANOX(]J =#C MZ>.T^7CCF4"NG;L4W_%5=5G=0Z@R8;R*J-C,L9 M[A)O8OV'K 5$EG*UI$@0=8$*85$M+:K%72!!8%1(3$>34F:72\29? \Q67'# M2")/,&J*_20-W)1/&=:"YV0Q3&:_*>OQE'IQML1I>W6GT9E_27C>]@W&PW,5 MYR\%SUOUAX;G"]00&0DR'P&WCZ&4-C![\V2_-6Q8:]%2_H))HREA!2G*^0GR MO31]HU/5G1>YR1LOM26:XO EYHFW_AM;CD9LW?B+%\8W2=8V.A@1F$>TFMM" M%L3MO>''=@<=^B_="F:HY(8$=HCR0^\HQZ\'18.?N#%B>GL#!R9X,(%-2DO@ M5Y\!!@K7&\]W_*;C51B'.;X)=SBXCG,B5D@FK*=9AO/,;&5C0 V+G2WA7S] MT]8;+BY8Z##$*HDS.V'<4,T.<7XNUTX:,YR]\3JKD9?):C';48 =(!;6$".D M0W>X(6*CA/4XH8^+YS?$&"+&T>$E8XU-:HO0VL3:ER.[4YEMM.BL8A@Q,A*S MC!JM(N-$SJ(1-Y3M\+6;.H0/F6(&>.VEOV>G<<#^0462)]::]H$=&D8:BX&@ M[0#7[N%F%&WV8ZGO M#E(#;<40U32'&Z F0O=^,B$5B3N)3^=J3E/K!N]PE&QP4.>Z/X0OJUP?HNV] M8(>IH=:-0C?Z+G##U51PZU(O)7V45PS<%+693-$GE:+3O)J8L(0YFB_WDF*6 MW**/5FT'V(':KFOCU41E:[CA:2"SK<,2TB<%;>15Q-T\E^A82]=;.C22& M76$':Q?]#7=L;N GH'22?J1=3=>9*AH;_)*JS\<-NLW6XQMZ&WH[ZS-+3V]* M/M8.)./B9/P:775&!9V7.2_24E2N0_G4][?K+;MF1^1+\_!?NN)L5H1F&^XM MMC$$ 6564)"FRYC@83 %XF,':7(.+"0H05TT6Y@0=#:$!-)C MEN$ORCU6J!,>H\P&:-$FRY@>0FU6-,I%L(I@<;?<5TUAC-9.L(/53&IZAI$NMKFVQ2+@EYR.4^?LSSU M?(M!V(0D[*@?PEZ& W@K/;B(,8A6(P[^B\;T%A42+-!5F-%WYOZ.O11]](B@ M8?Z&?BLE@[9#)C$BKUH:X)0F%5-=J"H6"PQSRK,-UZ[6,UV)&Y*=9?!V5FZ4 M&!8J&(L"E:6/B2P\S[V*96@[?Y.9D:()>K=,:+Y(69 KAK+KJ:T_MZ$!%M%)/6*&DC@I8&@JY@!8JP%S 91!CD;C_XSS@Y8H8 M?3#C%<2.#5Q$&_7#%DKIF*"EH8\#9*'\9P(L@YB*!/Q_S 172-OA;,>)'1VN M"#;JB2ND[5'ABJB/"UPA?>:"*T.8B@3\3_!QY71)[#5CC%S C $*AZW5,T@?Y!8'MJLT4>$RL9HHZ. MU"P1QTBAL5)8ZL=I&WDL#A]EH7T,%N0 M&R>BQE&8S[PW;##I: 41/ R[P@6+K@K8NGS-1YHMNR@K/#)N3L# C27"VA*> M+&]XTM+/M6@&99X/&L,.LI*O<_>G@A;31UELYZPO;^#]J+C&W2#Z_-=A+=U]YLD?BE6 MID^-F:?#FLCJ""=,M760S7K.U-,/M3?R]+K;##U=(OP(GNZP@/%YLMYLR22O MTEA?$U79&K9/MVC9J(4J;PK7=]L$MBX.6M#EE7OILY6;%4Z]".&2D9MZJ).H M>U^K>ZE0=YI#AVT:A^R*8QQ8"+8*HF"Z_4F378&Y5#U/6"'JH&V8JQJ MFL,-5A.AK>>")6WZ?%A%W$F43J/FM5K-:3;QDF7^V6-05/Y8U%&F(ITG64NP M=ND/.W0[6Z*QCV?:&6Y8=U?!>D;I;<+F/Y*WW0]>V/+\-;7X#3M88=\JZ:->;6J,=R0;A?9NJX2VY]Q_D9;J5_Q MZA895B&OL<,W7N85R>TKNWRO8W)])8,6NA%HO8T M];?KPOT7>)-BGT^]R<\1IC\00S0N7ZB,I##J@.1AX\/0=FQ4_QZ(-ES,&5S# M(=ZQ$"59H$H6%KG-RYI[F+;0'E'V,Z;Y*R!@;'J#R6+;$PP;".(P4WF.7PP1 M[:.PYEX3V& DTZ?YL&S]=[B@()72U@E%8HZ>BAU)&\=O 'C$&]G9+WOX]F[Y M*>.;?F=XF:2X\_M=MN1@!V1?.^U=E;:B!3?0>VO4X[(T98P8YP5BO$^2Y0GA M7I9G>&8"3//"5Z?"NVXM%E'.Q67)A;O5B\8.@R'/$6+.,&AS3#CC$&'F RW3 M@HIJQ> LXY.FRK0\8"1K!QLEE)H=Y'2*C>#&N%K47HF-"T1IJA_TF3!_$ZP8\'S_L?OW[, "G:KQDC-TC@5@U-;6YAA9*0AC21M0[?! M%"1D"H/C7+;R,!/;UO5N$S)G6M*".6R/=>>%$4VR^F:,T))!QKC:-6;5##(R M5T/S-(K6^ %ME=UO:7TLZ^D>B^C9KYRG7BZ/O$0VJ5_S)$BTEJV3T M[CM73_%5-KB.B2>@^K@A&/>%TW;;DEC:$':AJW1H7&P]: MP0U+C:RVWLE(GA /73M?]%=_]8VSY''&#\9*TL&KC?"'B,275JQ%>C M!>#8DLMI[7D%.<3I.YB!8:QIN=>K;0Q[O]=, M]#GO^8ZK(=_O9>210-_EWN^X"G-5PYJRS2FM$EO.O6QU%26?.\"+O@MPA#'0 MMP$RFO8SP!D3Z6>&& "&UZ-V,;YQE= $3; M ?D!T10":UY38>R:O_!_I;[=))[[XW5(%/,_Y2-8:*8F8[JU)*R)=RE18N\ M@Z68E)0!I)F,H*1/HS?9YDN"#AFBOH.29AZ*\TSM-$"L P_3=,#]%Q M<+HCOWW!U;-\[(_T<$#UK*8%&=CX8&L7]:#?3@,N9EAK,MA$H>2)"J;"XYE\ M;4#Y IA%3&";DL6)5Y@BK4S!9_[LQ.WD8*J!WI'EPAOVTLQYGHHUSG0F AME M[&RBFHW,&6$L]1AH=@(772:VBRFV-";379,'+\?WF'P>97T< M"S*PT<76+L9S& D-N ACK9%:)8ZC'6G 40FDQLF58L@;;/H&=,@"@,%JB2@@8EEP-101Q5_'!F-XH(Z!U- :GW8[+P M%:V3.%^YV70QL@9!Z%O\FC]]QM$.?V3"]C&NG-P1X)'&3IW12$)KYEBDTV@J M)*)AC.YB-Q9JNI' >4[%G%!D$*$O,'CGU%)L4+ MPA@T7@QE'!*_/X*'"<)3=>W3ALX1085H&6NPH$2.!"X:JDP+&)0U?,@8Q$ D MFO\('32NB*$',%A!YG@@0[2++6)0&L+<+= M$#.,@LP1H85@%VNT(#2.!"U$3:9%"\(9/EH,81X2QC]!1HO3);'90)"Q3^LX M<$-J(1OP:!":/X+(U9D*1CS*?29@,JREGE8XQ4Q]R+C2TV1'@QY] &/^&#$Q M+#BJ+<2"0AOY;67W$/ I+C/><'#YZI.FIZQ4@(WQ-+1F# YM%C)&"A6A MF<)&JSIC8HC('''NB+-W5+'/G:F*VAXHI96F,P(RU&)A<2T93L*JJBJ NC5L MS&C1LCWC%/!%_S:!![O7,NH]?H-GTL92])Y'(MIYT1;3#+0WA>HJRER3R"UT&.@*"M#$\0D-TDP;5Q:8AP(25LGB5H3F!QK=D\.[ M4YD7B(R*V>>]Y X(F4=NPZWS#?ZCRI3N$K#;M//TBRS M#V^;N)YO0$^TN>#DM'%TW:&<,DH5[7BZV)7&#(.\RVEB)P(S"__1CL346 #N MS'!:PX \*Y2:H(NYYHD"QM$^LZ@>+7H=G0^.HR38T\%/<8K]) UP\"DFKAVP MAV&\Z)Y8=D5DNWN.PA?V2LD3?2=&8;/.1&#'KYU-Q,#N1@%NQ%OJ81LE-3O4 MX(=*AJCFB'YC//[ MD,S03_U_;L,4!Q<)/693?JB!B$./Y"%MV(SD(2A#CN1!];./Y);P732"EPF# MDA25XJ!2'O0;E\A)*.\E]M'_N4WRO^/\/%F3Z;6/@X]X_8Q5B2L=NL,.QZYV MT*2M*OO"#:G.&@R7V,K6L,YJMBAWSA#$&51W9L#]'3])HPQG9KTGIJ+ MA&"CA;UMK*;<%16X"-)#EVG6O90OFT&[FC*;+C^\B.ZD/:XPSK5G0/TH'DE\ MJ:UEM[8]('<$$:=1:HK0_#&]:8ZIO3#] ME9[6G1+M\^PT#H3;01^):-L4!W?Q _:W:4K,0AK<)A2K^3_/O"S,=&=F0]*' M#46#6[)QA#X4<;AP-;R*UD?U1!+$1*%7;0KZR(L#)#)T>3)7V>KLK; ,/5F_ M2O$_MP2CWC3';F8]9Q)I[=I+8TC=;0;182"\]<7-FC"J*#L\M:ITEFFL/9(R MZSD3+V_77NKEZFXS\'(#X0?VK]&]S]?U^\_)U MI?2VSE[1'.!V/@IB(1*F5 2Z_;$F6#.X M#I6-+\+,CQ(J?DL)2)-^L./36',QYEH[P8TC<]%M8X-S6"!AEEES<5W5<2KU M?W81Q>=>MB*X1_]S^<]MN/.BQC*B5E9AG"[]84=U9TN(T6W<&6Z4=U?!UMTI M"S:JL1\$9@H M<+',4&Y;!Q;(0X*LD;5^7"5I?I+3-,*PY@1GTJ(Y!-)V@!VT[;JVST-@'_ 8 MR#SX3,/AB8HCTH0\XO]K& =W2>PK7^ )ODBQ4!$F7?C C MH;/FU-V-.[GUZ2#QMW0>P:X V7ZY =);BH)V&9G:+)-TS:]';G":%Y7O\X06 MOL=O:,UD04LJ#//YG(B#@D*>;\:8^,GB?CK;?#10>]+I+FC5)RQ[&'K1=4Q0 MG\6/+@-*V1HFW!EJ>5C\\* IW.&Z3>!^!1 )7503=CC7?4J].%N20";QR2N\ M$"REKY0<:)\]$3$R^9^TR4T#LX =$F/84XRC(>G##;Y1M!PR8GO-F_L797A\ M2ME!]-LC/7(N3LLURT]M!]@!U:YKHV*"LC5<9S>0V;IV?$$8G851-.TAKMQ)B3-(,;;#IAK;?=_14.MA&K]'R3Q"]\!YYR M:HX8[B[*-K76K$2D#>?DI:KUQV&KN?CH(*N./6=TN.!H*G?KK;%V\:!I/B>W M/-13[9QUV[FXJ$3B@1QU@2AMIY/M![Q+HAU9?YRG. CS*\]GCP2T'/?H^\!V M72.-FP1=,YN:-ZHB-K-Q>7'&B"<^"4#JDUFR30 M?O72D&[^/'@YUDQ$),U@!YA*+S&X]MO #2REI+:N5Q)$E*+#Z8>HF';R(6TX M'Q=43SP.6\W##0>:=.PYHL,I!SL$PL'=#J=Q^++*B\/5^(5*]I@LT^HOUW& M7Q\_>QOZ%^W#!#HUOW-8S:>IYY?E8^]"0IOF9H$*Y9U>=*7JO MX7J[/DO2-/E,3QR]#?E+_J;:^.M& G;XVMBCL1O=H3_<,+?2PGJ/EPY,U0YO M=;BR0 5'5+%$)4\W&]Q3&J74_;G2W9?K[@PEZ&-"(2M2<(7Q/2;6CG/O195" MVXW"_#"BQ1IM$*'H/B^$:%-B<("H&2+"$=4LP>##6":I25'#^+4=EL0.&^^- M[1=OA[4>0$-9I3*%96\7&38B^XB\5M$B M16<-!EM"\$*>G!FM^=DX2 &PJ!C1%H72J:-M*7J1@KX&2/55H66S">P(ENG3 M&-*%O\.-1*F4UH-RXZZ,HZ)Z@VITM\VSW(L#5A38=D$N*ZNB63@\);D7T>KB M*1G*'VA9C#U-;?K#C"5K2Y3E5CIUAEUVQ4Z5 O8S]9XR?OE:Y+Z8/Q8;REY5SX$_-)K$HUZ$0 )OS:VT)<&IKW MAKMPM-#!-AXJ5HCS0H093WQ]P/1;D:!DG!;E;J^3?1PG!LF))5QMZ-SBG*MZ MDV39ZTD?LP3__=5$I'!+KL(HVV.@Y97:OK0@XT6O2TE@H0DJ[RCSKU'%GM8?Y0(@48(%*F1P_4:.0Z.1F7A* <7)\SE$ M:?[RIA<5JI()$LY.\SP-G[6K.4))12@0C@D M2N=HDQZ 62MCX7V+M\]:-M@(,K$M#$9)LM MWPJY6UYZ*2V7G9&Y+S.8-H5V*-JP86Y0"S9>%!R",%RP&U8]ZV1800I4BX%* M.1#]V$B0A(9N*0M= G+06[C,%(9AR;]A>DV,@EFQ=Y3Q<2/,LBT;,_A>9$;G MB@W86R#<,'903'DO[Q^1[T7^-F*"#[3+3U^OR-_(D$!PG=CK/DU>4F^M?%FB MI3E,:#+5L]R@U[6%O1-O)/FHKT9P"5 E BIDF'1C?50SJ#2\#$ZDZ:2Q_Y4G2 >ZDQTQL>\ JJ?-=),3HHW>$0_:U MHZ*!4/2=ICY%M8BD,RX<9VS$$%:29V^'ZTPZ"6+_\RM1AXPJ]RQK6I64/# + MV+ PACT;Q2P&I \7=$;1TCHQ6-CV$,41-XK0\YM\+XG*L^#_085#>D)8\ +TAB -'O$%5 M= AWM4S.L0Z$26F^/=V%8[M'LYKEW6U82H:0Y_^01-%5DM(_#CW&M#&; 0*. M9N-!YH!:3L"Q<3Q]'0)E(2#Y0;A(\QL5$A52NDF> &KQVRU=A%,D+?C,'$NY M/N-_@XK/%X.@3!FWNJ H/,!>+RC8&5?'%Z&0<3X>5 EA8'%,S_ M\^P16OXHM[BYD1YS+\WG:Z9G_!+&L=I2LQA=?B$-\^RZ6+G\DB:9*I]O'$[' M/<)HK#OD&"-A<[RCC$Y9".,,EP^%Y5X&_0V1<9;S\C%L79!&+Y0V'F6KQR!C M$J)E?I%:9!;#"%FQ+7&8;\G7NC;8XAZ)VS2$TT4]_%"<6<+0,!G+C0B\J%2;)HL2W\]V5[3Z//_R;Y,B>98 M,.6.<)HCJ%^^XM0/,WHC8%3TEO$Y;IA66G9(/#Y@(65&>(U@*0TEYO>J4WZXJ3(;OT]#']%1X.546B;D@QPVW]M]FI -40RF. M%[![V ("HC>FQ=5MRD*#$N_IO22B@^MZ(#/\5"T6/>+AP>TW_*^!H/D5'*#_ M%P_YL\7YV4[II_HPZLP<]"Z,44 &$"_-Z*487H]@E&N0TR?L3&;3@S0>,[/" M&#XSLW5G?>XRQB@ZM! S'TQ'^2:=QM1!)9CQT#J.'<8<8;..FV.XD6CD8*CM MOXZ"]9'VMM6(+8]H-)"0C@N5W&71,Z"C#$8\*MI8 ,2Y(TX:. M=&28^D,=I!S-:6SH?=+O8/^MMU S'S=Q ;F3Q(>%;R_!X0=M,;0A074N* M!%'GGG(UKOT%FP4U^5E5H6P]97_ :U[WG;ZS1ZVV]2):C.X[W1>;7)(9H+6; MKS-(#4Q[,8 CNR-C0,![_;Y,I0,2E$!4BWG5X73XL0QM>A,NR53^[YC,XMW- MW7N8MO/6E\KBVMKO4 0\[G%F^&\YY/ SG'3'.RJ-8",(@U6/$X8C&\D ?6#M MJU".7G23'/43U^#I#CD468ASOH-/'&!!&%_TIQ9$-("X^EO3T MPO&2I\>FHC#87A-+A7$6^K]ZT7:".X<'_&: ]F-:>J1[A4UFP)%[5)4AX'-C M@E_)B9B@LTT9&L_TIR\O*2O@MV^K!4J$2V[OFC<'C^2.H"-;GNW?&)SEP*98 M7 I3ALH>DPQ\?>0Y[H&Q]Y>:(,6W79CC'5C[FP3"P*O==FNLFI0X.@*F#.,SBLVFX";;0#AG.8(@8U=8C;8CM<0,.\N/J# '%&T -!IYAVEV+ MOWVJ*@8[AJ;O?_S^/4/48+?ZQSU.ETFZILL%,M9\]-+?<T MUTP6-M7;U$(B3H2LWU]PGGTS!EK( 'HZ4PEXM_ASI6D4EJ['NF'*#7T&Z6WGUH^J9M= M)/34JT7KJM$\7*VID\S9> OX[K8GYP .QRG:N)QL"G>YWD3)&\:/>>+_?D\L ML"+\*#?2\H-R F?6"Z:O==2ZG+P9=($]=>NB@*V;/N -$1WSMP+9X,S6?&1" MEADMR+)CE, M,F0-$W5=V'^$V_M:OG!G(Y-J#VC+L%DP#,S6(?0O41MJ)S$4;)R^_.7'C;*QAOBLO3$=![K["'"F6#_*-!D'W7I(<(=X/8P^' M(P!7 D:(*8"RHD.!XD!PN! M9CCN.#VBW'BA?7<#A8VYW'5RH?6N+E;DM[K M).9K(C+,DE9#'P":,)P!Z(]JZT%.]5NY 0?O<77N!]!GA@!])@/H>@> O8B5 M+!&7DV\0+% AZKS.]<>W?&6V36DVGYLM8_LJF^+/O'SOAC-UDL)[&C&ZQ5G? MP8A&$]+B3#71-NX,&R.[V4#$.[.><+&KH_Q#3!0K?*G#=($*1DY09"(;L)D< M#__"$K[ 90S-=SA]3D#H_JC0FN68'G[WF>]8W";QCLVSZ<.*5^.\&&LK!&P@ M=O--IMF9D$D =V!P9 ?X.Q&5^.5[X'1NQ_.DT&]4)53H-$K]0@-(G]F7VS?B MD0X%7$UWGZSB_\4/ ,TO,3'V<^9?-.SOF6"&B#^_*^"3?QWU@[%SO/7MU'P' M;\,>UPCY"R&15Z?CDW^Y _9?ZO@H_P[3#(]-WE_BZ*BP /S!D0M>'\P>V6'L MP-^%D."]FIK:J_X+EN*7) /6"67@CBM[BCEESI$]/JJ$Y]Y=!'Q2QQJ^AD* M_G DG)\,-9=OB]U&+/\ MDBZR/?YK&!O01/"'L<-2+%_D,#;U!R[,_B6,8L5)[)9X!+PAK*-P7^KX9?,- M)TUO,9+L2QRYK.P#?]@2U/I"1ZQ)/VR=@W0$(U9EEM,LVZZY->E#&3A?)42U MY.6M/+ >^J-VXGRD8TUWZP\RD)BS/<)1PD)YAT. D#HBR,L?F:DE5J>5S ]] M'L+L]ZL4T^?(,'&:_(& ]\&0P7<8#8PTO+\01#*Q #A8 M6B J-J)RHU)P1"5?H$+V>H+74 MF$<"]=ZK4ZBOV'_I4-_\#M-"/>?])4/]G@5F!?5<]B.%^H$^C#'42XTY/Z@O M7W__-8D(F2C,WZ@UI_B*2LY?$,#KK3\:MLO9?B&PWJ(\0$0O)4:UR S2YX_D M(WV+RF"[VF B?#M!;7^%@VV$[Y;5PWHXW84^5AB45TDF/]TM'["?O,3AOX@] MV9+EV1-]I%WUC4;B!1R9Q[1P XO'8 08?4=5=^SZ[@';DSWW-F'N1522 M!3I=)UO2^CO83];X,2=@1X6]*0RF>0YK2=LS^Z@O>C?!MW@>GD7X:T?9$J38.OG M**@9.%FRP=!UFE46C@BY%YHWX*6_XYS\;!+%!MU@A["IWHUE3$L?N,%K++GU MXL*+:,[>NJ3.UA#^-LO)V)6B;+O9)*FC]^<@JCY):/^"8YQZ$='\-* 'K32O M)@]WV"2^3?O"#O).%A CW:@CW'#O)K[UI3W.A?F[U^#C)-"!*3U)B ^SOW03 MQOB:K"Y46RG#,O80J/AW:K/;)/\[SFMK]OD^EOR. #C[6+HS MA-HPFSF8]E)Y-%BMI"K/[JD8Y+L,YJB4I818NLCJQ[Z_SWQBOO/O-HA2L@_T>=5Z*_0MLNH0.;DF/W,$KWR!#UC5'EAG* MVPMS4$T;%<2'3MFP\D]IEH9!\[GYZ&%N1EO;.?GI0!D9:D^U3\@(=LP-W__X M_7OFBL%NI5!">FQCT!RF*YKJ25VQK:U;5PP2GY7T8&-NQ\_3_Q(.WA"9]S?; MZ(PA)PY)#R7)>,^*>I AO_+;#9=AC,F8+#!'MX(Z,#D#-R4%RL2M\\C+LKOE M(YVF:?)6=>UAQK"QIHU<"E5C> .*N,!K/H>M[5&W MD0/"( 1AXL1PMFK.QFRIP4.5 74:'FPJ]JYA!X"5.MAB$O@Y]?UTBX.;T'NF M-Z!#G)UOTY3>QM87CC3I!QM,C#47,:.U$UQH,!?=UK<+#DA@L4 %DY&?SFP- M^>FT+W+ILH$V1 NRO^(X2-+B7+*47;+7U-(<9DB:ZEENB.K:PMX0-9+<>AWK MI>D;'5IVK#J(Q]:T^0I7#Z9E*XQS%- Z1>0OR7,4OGB\(FD8^U2(@#1/D^W+ MBM:H+EK2E-"-]T9OP;,3[1V3G?38):&/,WJPUT)P&9\ICCR:Q>8PX?F>,*;W;.* O>%QGY"U$\[#E)T0 M7N!E&!-XPC'Y(;\G!BBM(JRZ%-8!_.=B(V]*<*%T<&U,TV'$M:;PM4 M,$0%1T19NH4@ /;YX?V'W_D*D:^X?F6(%Q-BOS.82)@2 M@ TVW6UQ,.$PZ@T7/"QTZ#4Q\2*V.\((B^]\%:6LV.\!S%BFL4BA/R7I @D8 M>ZX6 <=R0[;E1*.U$^R(-]-9C')]#[B1;2AW/]\MPI8.;24'UT<8$^J]0+?8 MR7'D-;N(1.+_"))KFL*.U3<]FA4AY6[@1VBJQ?5W(DG#EJ"7M04/R M)ZYCC%_HBEL7E".J6CPK$3*Z+H*1S!1P^!+S28'_]I22-01!&C+-_\4+XYLD MR\XPF?/0J8/".MTHP Y9"VN(4=RA.]S ME'"-@ *7JADA@1NB+)#[RC#KQ?H MF?&D4VQ'(.#"+'YI%OSJK^@E9101/LYFV[=)7!W(%E,3W31&WAPV +3I>3"W MEK2%&]JM$O>;5XJ4RQFUNUGT>'JNP\S'$2&!DVU6[H8M4&PUG9;E PFK #)' MEQS1'S2 &55J7?U*&2UWE'B5==HD@[SJCB)3^KP"8NI+W&J25-= M!E:R;<$YY.C-2EJHDEI&T4OX2"X&Y=LMO?QYM[PKO>81O["L&@4LZMK#!!!C M3<5Q6=D8[L#<+K*MHW+*%&4JVJ@D[F1LGD+5&D8SN:K3W/K9/F?XGUM:8']' M_D?[3)>\*>R@U.G7N(,C:0FJ?VU&T796WJIY5T;6<#9>.E3QGCT/=7,;UH5J+L+MIN7)!TWS607=@9Z: MN+N!_YI"J\3#S;QOI*\<_.G;6BS2XO>__%OYFX+47_Y_4$L#!!0 ( /&! M_EAJ$\/M]D@ "%B!0 3 9'8M,C R-# V,S!?<')E+GAM;.U]6W/C.);F M^T3L?]#F/G1OQ&2E9$F^5'3WA'S+B8KTP9 G.]\!Y>#@X.__69T0JXX<#T@1$":_###M\& M+]YZ;;B#;\#W;<<97/JVM02#P6CXT]E/PY]&@\^?_Q$W<6D$L(KG#N*V3GX: M9;^X2EOSW)\'9U].3K^<#$\FL/[/)Y.?AZ>#QV]9P6^P:PN;6M*QW3]^1G^\ MPB\.H(QN\/-[8/_]TUL8KG_^\N7'CQ\__1C_Y/E+6'\X^O+?W^Z?S3>P,C[; M;A :K@D^I;50(X5J[Z^^DU4;?R^UGW9K='%Q\27^+2P: MV#\'S3 ED#_^IP5^XQ^]'ET\GD\^ND]L#[]X]\&@[_YG@.> MP&(0?__G\&,-_OXIL%=K!_4[_MF;#Q9__V1M/B/XAZ?C(:K\?ZY3=F3_G;G6 MC1O:X<>=N_#\5=SU3P/4^O>GNX(,EA>].@ 2T5Y\_&1ZJR^HT!>V]F(DF73T MI9%TSR'D*.K&E>=:P(54AG\)/,>V$'8\&IZN;/" X!+:-%_*!Z^%P9P=NMX_UH8^2A?:*%>^QH0GL^UT($VTAJ712&,XMW#B=DW;<+;KZKK.HCK-RY<=,FEEA_'^(=Z'Q\M(X-9? MMA(;[$"W8"E&B17M=,'4UP#\&<&.W&P0PG4)N=]*O_93W>VK%-A?O1A0NIJB M[S6AU,ZDB5P,S2JT2VDB*;71KG8L380JMJ#&[J6)/*3VNE]+-Y$,UY8JZ^HF MLI%;5'A5VDAHWH\HXDV^!J%A.R*=RML6.YO9&\FTWX8:?M29">>GP$9_;R0= M:]M*K6BR7S62G*=]I:3?+JC1:&JX'\_[!=J"A?W#2N%U$X3V"AWHW48AFFG? MU\"$_YJM/#^T_Q53'OW,#9J-$V)[H!2"OP%[^88Z#*4WEO [*\-&JY7O 5A$ MSKV]: TYCB\KM ]IA :]U:YV(LF?5U[03$!L8UW)A2-9_%MTT(#\;:@2\ED\ M03MN-L(V_FA7.'TSX.@%EP5@%V24]O?>-EYM)_Z5 &CXOJ,"&LD"'[2,!>TK M72'Q8/A(1QLA EM]20U$MJH2CD"YY6[/ MJ9OQNJJA#D^M&PE3;J5[OULC@;"-J>)Y:R0=I4E59(Q_.H_]1C,3VKT=?K0@ M-NDKJB QLZS8\6(X.1=A"UB0OZ,*&D]!A);!C_ _+6!0U;HJDJ,9,5%4$$2K MF+-M0$#\C"I85/]4A,^FR?=4B UJ+GQU1 M>*KPPE/[5#]*6+ MBRGLWO!B./@\R!K+_]5PK4'2\J!>-!@2%HKK>&:A.PZZ3.OY#,JT@)TH$_YE MITSXC]^O/ C+[#4(?<,,LY8 MG9Y<3";CL^'I9'PZWO4MSXB97^RGX9M9T_"O)9(4L4]+?%G'ES(_FV^VLU7[ MPO=6)732+WF,'?9\: 1__S3Z-(@"V ]OG2Q:Y:#\7Y'AA\!W/I[ VO/WU4XH M613E;#*>#-7%GJ7OJ1I.2FI8^[;G0XN-?R=#)W"?;GMP +*NX:Q-T$BA7*_T M0>]YJHUQ)T8!9R0W"0Z@6L5^T5ZI@:GSJ28F!+L8M:N69,*\M1WP$*U>@5^A MCOTBO5 #4Z=3^*=2#2'IV1-8VJCGR%F]JAJ(JHKU"'F&CJ?HGW: /G)#^] J MT_TZ'"BOT#FI_W'E67AE$&OU2#?\,4IGR/ MU,,C0:J8\PX4,[,L"%N0_@?N"\$(JY2*LCU2"&OO4V5<=*>,*_C7N?_B_7!I MJMB5[)\B*'W/]GS#[O00#ZIS_]'W-G:2Q8NHC+WB_=,(BP"96LI[<J!3 M.YS!+'?OC=(!.H]OGHO?Y.T7Z07<3)W.("]OLMN$_!E%7D$VC$Y>7Y#[N@+R M_2*]@)RITQGD1CX1+O(N()1"W*, N9*J+]T(=W )D:NEB6WSGA@ ) M@:)/C=!(>TWP*545[Y%:. 3(U-+%!AEY@OTKN$M9>OX'TD>Z8*]_YE.Y.YW4\:\ <>AJ2)?J$<:H'8[ U[N#CA=0GBK51J? M&0?K!_,H1'GVT2(;OW B5.J18KC%R!0E=]^<=A;*Z:/8<@N\_R? &\E>N3ZI M@Z'GF0;D;J/3%=RM'9B&\T]@^/A@&5S17NB!J_.9*N3NL[-8DET?;^%/JI90 MF)(%64;#R7BBH")X^I[I0>Z&N]C#),"*31.YLCW4!:WWF3;D[K-GL(-6W$G' MJ)JV"[_O!>KT'F=(8[;.?_NR'Z,M('"[YCLS.0R)@=RC(0KDWGX$_OUJ_G!] M\_!\O%'Q>&L8ZC=9WPB#[R8Z=Z0]^WPJ57;JWH2UY230@)@B3\7DWOI,Z&D%6R2$5-L0+4SB*97MI'[]2@Y-#P/^A*W\9P $H7'5X9 MOO\!-XIQH@4,&YCJJLD.%D6725)?8$&D@1/VJZ<";9[?/#]$.2KNW T(PNR: M6>7\5E%4)U(PRT>X$M-\X&@41U5KVD@R<@=/P 30$N!J\@&$U6=?+%5T8@2W MG-CK.6)&AU/9W'CTP=JPK?0"/!PQY^$;W OE(<50A*&F3DRI*R[A%E'SH632 MZ0J49>6I$P68E5WV"7,JVPL-IWME8[-5PC$2.RC@JZA)!>YA@%/ 5I<2TA>3 MQ92-3RC-Y7SQ/4@RNF(X0:Q3Q.QD,CGK(2GX)12TC%!D@9DE^<40(/NU%KHF M"B-HLL>M#J7/ /LIF^$@=_-N.A$ZEZ8HG:6J%H2H+:B@Q8(R9+E.>[U-([G% M T,1? 4MB,$I'O;&=2\W"KG=T8/GFL0-0V59+2C +AGV$G_>[D5S*4D1\_^E;(+4@ZC6*NK1HJZ)Y.-Y&UUQ]@E<]@.+O$55&-' M(RT32<,BN%Z'FYDC_M'X0%YXMM.)8F&%Z<&B3_SA!(.8VI'!CV"72P#B^5!= MOHC5N+-D "(IP2&I7C-)]7,Q'V1JD"MIQX\:XNKEBH3;;, VB524U(X.K#+J M=4A9]98299@@5=&.%=S"BCK65&.(B)TRS&L+3&GM2,$CIUZN2F8J' +^ C0 MV%NIAG,+LVBB^ZUI]12FAPB'13WY]8JMK)Q+JU)%> MKUU*Z6@PAS#'>6FQEN:LJ2.]7ON:_24:V\%J907-N<(I>*O[FR[7L_2%K.9$ MH$DJ:B=3N9"5'LR/THC8R;46=/?)<]'B#+@FG@F$&IHS@U=RO0(TN$_P6?'6 MCB><@HL*^U"#)KF\1,3;I7O%5*,$IPZK!PNJ@+I='-T](_QHV'#9?66L[=# MQ?MB2A>1FD*DSOI-!1XY!;DZE(GP??'AECWR/V(0$YL@#0NXXMIQ@DO0IIZ, MBX04+EBB3"_=D^()/ -N8&] XM^Y]P+DU9DO7HQW?-0/3RO:D4F$_'IY/LJ0 M,N]FM&,'HXBM.D#.50M3KQF>7D3N%"(WTFF+6TM\['MJ(H@S52UUWF.LDS<0 MVN9N!\241V_:-(_>X*^%CQ_SZDE:HSB.]P,QX=;SKR&/PD7DE+/%4.*2>=I0 M;9"IG96OL=!Z!;/G?$?0D.=^C*L5[P\?@1^G^Z:[U7 U=2%-75'UBG OI8&? M1>$;[,R_=K,+GB+[-32D!I.(K4:*=$^)NR"(V.F0E-:6"@3Q6@W]Z.1DE_%Q M#)8J1<3.IL-IUP%WSF!@=TAGY37A0]\ DH)8^]@"[O];3!? MI#&Z\+=QE$/)0U@G.?P):W+XYQ?XGV\W#W!#.[\=S!]OGF8O=[# 8/: 2GY[ M?+KY!5:[^_5FSL]/)Z>1D/#P_/;\83<_D MG]ML@!N!6VAX*/H%]>HW.WR[BH(0]MC?YC!".2[@_UEX1WR-EE0;<'C45'6L M(P: 5C>^'2Q= SA^HQ18L5L1^!O;!,&SY^!7K[@*>M&%4TZ]]KA/4%D0:)2< M_1J:C>/%V3/3M+K8 8901R]N\(O:ZG[W0OH1'G <-%*ZUC?#_P.@H$PR-_ 5 M]"(&IYRM;G^EG^M]!2Y-293@U)++W[4$;;5W;!TDEP# MV&VX4XQ5!F%8H:?(_Q7_$WNA"ENCB-?Y9#R>])@TKVG=RYD(@@HJ\R]4GHIGD6X5N\NR+=Z%!/WX+E>D?)D M#I KZ46)&K(V#?JAQ"Y+Y\AN%,Q\-[8;021V7M-+L/!\L+US#(*;=X@QQ,%V M#?_C#@(?7RY%7A\O7J!GAD;T![;R1;W8*1NHS/+R7ARKA,72%+J=1;W&T!/E0%KMH%KZB5XB%:OP)\O2J%4E.F#MQG5^--L M6A$B?3;*:)*IBA43TC3$U89JE!)"BOIQ M)&5X1 ?Q4)MAZ-NO48AN1KYXR7U?RI BJ'75""?@2*LE4#)ZMA,4,56)G;>> M#R=_-[FC:WZ\^(8;0%B2X)'X7T["">M_HB!,7S\GI6IIYV,%-9T,)^-1MSZI M-MG'QW7!F.HV,A-F-?X%G&HL;&WA1J1&NT]!='R)JIP2I_EG'^Y)Y>[PU<@VRU17=G:IM%,O:-2F]3PNI-K8 MP*638C8IJEB$22(SYY/.5)9(B 8WST4V/7NW]O /FF\%-WL9RR.F161^6TS2!D"\[?SB^\$W6/+:\C!_B$;<$UJT1Z:B(? MB'5TY 2_P"U<)^PV'S&1$-6%B\",(#"*I,-HP 0.25NX.RAY:/!,&^Y=DTOW ME1Z7ZL!@\MC1J%$=*=4"(BW<2)0<8%6$\]I;0:O#A5=5E=61*.R"8B\>=K1O MO(=#9GR3@+99W!945G^U=HADL0AKR ZW_&)R@*ND.K(6JM3'))J@[> :0&TC M?ZD?EARXTE_69$B2B$T=V&N5TX02M-\C*;N;!S%U.L/L,0$EPJ-4AE=K$_-R M>#H>QMRT-F_)^/L$UI%OOAD!L*XC'ZV08].)Z:R*' 4W79K1V(23-.P;M)-G$(9.>D1SLUH[W@= 5Q91.CDT MH:.=>P5=&K>I!8':0:'5)#G2UT>[(39X\3#>P1@Z=& <)PR%@WFL^2< H0SL M$*0)ZQ+#? *FMW3C5DA/P;7]V:+F3B;CR46_^-LI4%(2XP)! MZ-MF'(X&2\U^&+[UU.U1%?6,8A M-5A6V'W%-I=MOE"^ZV\@?/-P4R)+56T85%M843F)<&'XTO>BA/TZ"U&*-?3D M!X.,PE(7J>&@($WB!6B>@$T\Y>%M1QL"B9%<5 (D948;XLPM@%F$AHH CR?C MDZ%6U.(5O=UL)ZHP*S:XS-.%IE: M>SA\:[K3K);\[5X+[UG&BCZ3@BZ5J+NNN"51-Z.*B%BY'JN=4;1,]TV=SDG\ MU(W;/+:@VU"Y/FN<)E2FZZ;N7[RN%;G7?F4$;[>.]R.H>76+?@L5^=[VBBO39'/7AT?OXU7$^%B\B9F:87 M01SQ(QZVBFITD\:*RE&2#R:]M^!\UU*7-4CT9K#I=1(5G57 M("_!?'$-7D.T;35<$Z!8@:J; )0:1];41DGY6T5XVRAY6*UU1(GN92 MX2)*T\EX-#HT9M4 2-!U'F4B=[*\,87W:2'H&"KABA_)5 ^BIO=X*'=JI3^. M^-6P703NW+VV@[47V,DJK=:&[2=G M#?>>N[RW-\!* $!7V&\]_SO^$7J6ND>Z"<"KU3L^TCD7I]^H@#,[Z]H>?V%X MQUS_R#U!F&EV_0?"C>)_P35(_IL#.+VV3CG\86] -0JV=J33$!)!'BOC!#6:!)?_NH#,2C#^ ZPLI< M..F.:.9:\1B?K">8J<726!'GT\EX/-:=;+5A:7I,H]H&%&^'C\9'G#C7-RS^ MD2Q?^0#IQ0Q#JPP%5]W#)18S&BUO':4OJ4I(7$:![0*X=TY>&$;X4W+H M\#11Q/2L\R>QY#&,%Y2FFTK5B,:.=..EU<&0K"$DHC:'2J_A;VW7<$T!:WA" M0ZH13M :GE?BWK_T!P$P ;""6X@F.OM'"X)[-&I#'&'O;>S2G59/-8((4GC% MM%<+";WN-SZ!=3KY)Q$DK"RBUCL8%M5#0KNE>/*!4^L=#(_J(:%;E$,> MA>Q6TGR1)"WY[D)9[^ /7 @Q.CJMC@HGY?X2U7Q1%^>'P4KA@.EUX). #>+[ M4X^^#7%?HZ=+/DB>+F*=@R$9/PI-3W24FSY386\]?_<&&%Q Q._8Q[,!Q9^% MKW@P+*H)1=/[0A0J27\"-H/A"3BH0R]>\9DO]!88S]6TNLT='.V$ -3R;2-5 M'*D5J#?V;QT,X1I"(NK](#4+!3#1FX;O<+AWE^ )\GX>WV-'_X^.7#>& MDYAG]CI)?)KA6L4?Y$IBF-C"EU2C+*\K5A8D+>P3Y+*T$21)>N9R3)7I1&B" MR8.?* 1#8+F=*"KRHG?<5@"M%L+6>D3[-EA\T*0D<:QIMH0DV2\4QP^/3,. MW>U]JJZI)B"5 B:QM.2\+M%ZG3RD;3@9D'?NPO-7B38IZ9'9:O=]G&HB9@OO MFTJ_DY)D0 (!>KB:E*IEOZ!R>F^@QS(K&.75*Q%FEFR&1H5"*=UY0!=6J>24 MS=U@GFM"V':Q;JZU==?$CS?0HKQ8ZQ>P' \AECW+.]](T!:2FDB.QK&7;Q"J M[P&(+P3/7T/#=I%S+]LQWGJYZW1H3YG=J<.]7=.@1=6XU(P;%8$[@J'1*S L MO:@7RSU_=>QEK.H SN&1CP^OI]32G5)UQ-=KIDL1B-,;6'88H;>&4NDOH_#! M"_\)XGF?S!]J]0,A4CT<%(L)J\K06WTDFCA(T1"(3K"2EH98R;D*3[=$J.<+8#!5JU MOA.DEGR"EK_*O"JK]DE4#UDE7GA15_\J(Z!:?=STV@Y,QPLBM# +3-]>)^FE ML^O:S"N2T1#^#ZY"=NVA?^R:''B+0:Y1)9<;,>$%\N;2P4>=3H^">55(6&R M#.!:=4)*&MO@%M6&6ZX\)NAR4;1:&?['?/%L+UU[89LHJTZ2]1 N/A\AFF8N MC)AA"#PI#X'QE]'@E__VP'"M0?IU]+O<]P>[#@QR/5!RO"QC17N/%%L!,N]L M^B^)YRD8LJ@VRQ741!Z*^!3Q@S&VAD)3X;3*81I M=#8]D[^')_:4-EBP5E=M8&BBH*H=?P,4=!@1LDW2E;=ZA8NV^+2/8WB85"Q! MTA8'>TTJ.5A4B4\9(Q52XR?PR9WVV60A:-%=8!]:74P;Z_ M>I[UPW8T\-#HY.9^.8(>D._N9^DL;+/@:46W0:*ZR\L B !$=!AAJXF6&X>6T/+QD MS?[[(&XX'F7R32LYNF"QH(PHU'H9)2-/GEU6*63'.Q M7H-7'AN_J)@K84N?H2RK0=J6DK:-^L:\":\NO.739'0R/9F.SB?GLNVYV#&: M)6-*JV;#'&B7K9='1AWL=GM+F-UH1\.RT2;-#))VE#38K:#,5DNHL2/3^>A\ M>#&:#*5O<2MZ1[-?4I4BP:>=;V%YP2];,K>T.ICSC>&[MKM$*9'B^R<<5ET1 MHYBU-H#-#;+VE+3N?;DIIHTKOJ76=#*:G V+KUQU(PG-J+'E5;-H+LS+YLPG MIPZV'"?1Q2:.9;#HBI"[N,W/<:.#O5:5M.M=Y^/4PMO^INE?XUMR,1U0UZPL M.2QM.=ZHT1U?+TY'D\GIV:GT-)S, ESF!: N[YNU6K##*;3C:;7;^\M@VZ*28U;2.]H*9*^0Y+1J)?4\ M>"&#,YZ[OFJ#0K5N"LG4&HFFA>WFTD^5[T;D$E%QF'1%Z%W^,X/M=W+7MHM? M4M+4*VBQ$XMY%4*L*W=@F%F6G5!VJY&<&M@'".YV5!LHN#2;'S_$2*[#\1]Z M"L1.WDM&MY.]^/H"A-OM-*SE4$-!@]DARM;%=P9Z=3Z?C MB^EX/)5^.YNEO[2AA*^1HC6-H#5-.QU'FJNL/,0(0$2+=0I8UE^05$3QI>WU M8=V1=O4)K#T_SE-$2?R"*;[EV_ED-)R.(-^D1Q3L=XUC#T*OJ=I@P*6'BJU) M38FU,/;H-0!_1K"IFPUP>>X#C"KB\7:M#;;-J6GH>V)3$Y[CBLM.VU[L!]66 M<>65LV"*/HIIV7F$TL%(FZ02X$PI< $Y-SQI(Z/ X*_9WY3-_28PN8" 0-Z= MUJ'][%)LQ ^+.O'#W/GT&W$'/DC1OHW:*]K6";0M55,#[(<'BQ=;KQ3)W]'S MHC=!:,.E.?8!PV*A?I*!0Q:]LADG:5?1$I<\2%#+]UOO?&*)2J^FAI$_@!\Y ML'S/A7\UDYQ,"1ALS.!MIM^$$2)MJVF%):6R2A-DO!BP%/-"#*>C,Y.I$>[0N48RZ4/EFG.MKRF&>):Z'55&P&:J*8R M3*4F!#IL2PF7WWF'BFEYJ"#GEE!^!)&>9$*Z+\I\ U;DP+5TUDVJ-PI?HV@C MX\[]4;6T5W!2<-E!]RXM5T[!/?V!E2/$>R<86Y)8RXUPZ#57:WT@/X, M%8^$RFV$7IV9K=#!3I*S-GZ,)F!;X8C\A+:L; V<5G?@TF,V=D8\,_^,;-A[ M FR7']^,__'\*\<(Z&<\C1O6EIJ"(=%A*X]-/<.[8C\MK]B)Z9J47["WEK=) MF21-M5,S*3M2,.N,*?M2ARMTJ3F7>$W]K&SJ24/*VW2-#$R_2_?-Q]]'-YJ8 MUJ28TD7*3CJWS#*H94/D$:4%ZVO^_.-VF?$;0*_P FL&3<]8@B>P,FPW>V\7 MI6]! :7(@-!APA,Z=KSU_"2.'<#?%-_G)6^,Y7VX3Y3J&)46=M:RQR"X%@:8 M=Z*_&7 3!__+.#YQM]0GHHD6LX5-KN3498G9-& ,1PM]9$I3\5K8=7:5I)!W MX7E>7GA69RI4?B$J.&5AA_[\K%>)\P3.EAFG;1"D&K'F[A- SWS#@3&.ON/U M]#?_AFH#!8O^,2[_EL#083M;REW#-[Z,1N7QI9R:2?FQ17".INED='8V&8Z& MIR?=#3/[G42L-N-%NQ/!A3WG@,+56M%:IM!:+I3.[U30%VDD:8Z"#F-&=?8G MWI'CI#QRX%) *3]^*)P+:CH=GD^FP^'%1+I7;F4%FOF^XRR0:]/*C ME(MH]L/P$Y.BCDX-VU=MO&I!\Z11K0WT!(US3A?[\40T^('9NXV[S5$HHQI_ MVE5MF4IT,/I,A_H8[G!Q+714]F"LP+6'/*FX$:V%3ZE&3CI9*L8J6;CTF:=P M41IGAW!-$&,!M[:K5^!CJ(8IK1I;I&F^XI"; Z&NS];:'^1P,,.-!+@+P0HW M439O6#E*2IY=6T*P]P=N-#W$N\EY+%8P,T-[PWJ:TKQAY2C;#H7X-Q4UH9/B M->F4N'G0\R AOW6BK""(5LG/:I.X_D>*6CD];$(+AE&OF_*T$> )!*%OFR%( MH/ONVF&0K-=$#M&<7SG2NT4<-;N$4(E3::\0@S2/PB T7 OE4^-BM\AO'"ZW M6T>QU=L,';KK;U9KQ_L X!GX&SO%J:PQ)^Y&>FG;]):N_2^H, %2#S4'(>+ M8K]WN(R7BFC*_FF?[_(P)Y3G/=V<5)QNR[#5;): M;6E)K*;RM[K!EO1BP34(3-]>)Y/U913 E4$07(/0L!WF60E%.)7R#><:1AE( MLZ8'?TT;5W8&FOM+PTUOQ!?R3\:Y*7>HQRD?]B9V6NB-H+:[&GPR)<97MX/X MS8_@\B/W+[:H&K9FBB9W-AE?C#H=DO8_.J,"+%G=!JJ(:'>2-U60(]#J)JQ#_$?@FTNT20OVK MEVRE8&]!$ 99FA]V.C$TIAK1N!G!1*JZ0.@5U? 0H?$7>9+1&T#(3--'@7 C M%+Z"AK3A%%;*2"0GY36WDZ+BC>5MSFO5G1)2DEZKE.$:[^+'5BD2_GPR&7;K MH^34&6ORZDHQI6T) S_,J1;^:Z=6^(_?DWQ]J81!Q6Z_NI!JJN/&?Z="#@%5 M41J*8)\O"IVNW+,3RZJB0@[\BTKCDZR]+7D<)Q(CA=V,[Q=1"7L^&(M;;R:Y MNMYT5^DLE^\$J[12&5VTQB98U]<"*K/$H2/#CV?; IG06.WABNJB1"[YU,R, M19GEGE!4%&9%LOV=*NH4M! ARR7(),5=2F318*6%[OU6%2W255"AKO:G/FD* M^V:[]BI:8556^+UR2B-T:V^Y3Q6CZS5+S;W<.UE[^=\7Q;Z ?XS[HCVJ&%TO M741YC[;)5G.QZO-7QUYN7W] %S)>[!4L,E\\PY\&"\-,KM<9?GAMA*3,%6(_ MH@J?!$S$$@$2M##K),T !F':>22MFH9$JB6RE!C'>Z_G&JUKJ":7(?,".3XV1$+38V0#_U5/A /*[^VH[#K">@ GL37Q]XBKR MD5(PE,)7T)0YG *W>@AYJN3BJLF:25/2U)==K_>_&R\+DXMUH[:6Y6GSA\S" MNO H=8^WR@&>CS!*D:CP?5>4THP-/%*V>CU5TJV?+/#HREN]VF[<7#X(B3NT M9E(.K=E>^,E_ _X\]QGUPVXJ<2+'VI"JR'_ 2H6[.Z?#R?A4C4 [G%+*\X(0 MB97SUW=Z>4W0V)4OZ!GO]I6\ +, M-]=SO.7'LU&=^)5MF+U:"3UHU#_\4N26D "7D30ID")0+Q^"@2/96 MP(N76E,F/0@>0#A?7!G!&^4F$$\3JE&(6]=ENC06OV6WN_2M2\6:_='W-A!> M)%8NI]&="P$WG)D9OQF:I?%8.R $,^M_HB",<4W?N'CQ'GVPL;TH2!PW[+NX M%CZN(8T[!$Y*.I:>TA\EK+"M.,T-G,5\PPT21*30'_?Q(_U% J?7J6O=J9_#/7NH/-N4L;%D_> MYLQ^Q>W9GI8]VUE; \.U!KL/#9(OY0LH[]\F(+83F>+PYFRCFV'DR7.<6\]' MR4\I8N1*%DUE!$UEV.D044M;50,$3<;>>RPR02FZ5E7!-/W@-=NF.M?QTCL. M0NT^ %#R^D ';O"+J]>.*L,!H@?LI9M$J)D?\;K:B57YU;#=>R^@\8;>@'[D MJ2ESTTW)1<(@%P5VI&65&';X)Y9N=Q>MS"SB-@[)U'+CXC73'7<#^>2VLO_CW%"?>>(NT%2J6;]N,OP<#>%322@L<=1]<[CMUITJWMVB&X MMS>@U$VV6!M: ZK.,K7W)PU%5S$O*D&0RX_DJKX#;9<06L/10A&5$XC*B2(G MJ[7T629(4RQZQI"=1-07GCE;48TI317+115F0,0D^6G,$+C8M@"<_?\(X,@: M_P/UF_P,,[%.C[3/K*LR _@AZ+W?*[NK%Q^;HNB5-WM-Y@FAQF&PA!> WB<# MN(;;(,=; VL7O_9D+]]",D\HM0Z#*W5 4#-7$@=?'KSX9!H=3"]]D#QG0:0* MOL)AL(13_A8NB2FS@+VGA(FR5%6--#(W-600"%.1BKN9KS[>M4ZKIAH):NN, M2_UXT?5*\4Z 8&::T2J*@P!G*\\/TP>8^&F$:>@PB<4#1M,%+^4(1WJ^!@(L M#P#G+U0L/IGBYY^Y@O]C' T(55Y@72I(;B4 MQ%3='1_>!*&]0B/?;13"DEDJB3Q0Z&=NP/^@Q;3\%C3U''';G<$B[L\ I!T: M&+D>Q3^%73J>)W9^GD@PSH11%4RBR-ND2=7&KL9GCL+!Z-D94X5X23(<"STK M= LQ-)Q_ @/G[!'0LFJ4$LX(OJ5Y$]0.9UM81ND!3I4O/X"S =\\-WRKX6E@ M:/3(51& "3I#P5TW46E+60$1LMZ7'YX0?J9M'6G9 *=6+\Z=]X"+\,NX8+2: MK1WYV BI5K?$/6#DK1>)66]FC1WYV 2H5C,>2@_AKP$,+"N.CK#LD8Y-@$KI M>'J(=)PM8+>%3JBB-17\XSVKY5U3TA&NJ3:WIBPJ)G#)%UJZI[ MIC15+!=5F $YC%M52FN?65=E!O!#<+Q5A;]4I"M+> $XWJJB7RC2E2MU0.C] MK2JIEV:Z9X[,-2L9A)Y=FMEZ1O)>*/*+;S5;*Z(U[9PRM37,119N1/0*L;I; MK0W;1U<4R]':"6H.0@W#-,;:&C.K"0*M9M?K+#/:#A&&3'K%PAKSA$-@*7F\ M6_;\/_IP/>>''X^.X89PGWCS9V2OD=3<7OW363QW:-S2-/KJ[:J,"LOVH?? UA5?2O8L6X_'B!GR5XWAEJJJ;R M1MHKDZ$N KWB 9*$Z%MGJ*D:#^HJCH,"%.$5\9VC%*017&%LNTWVAE:7[HUV M*3JI\'YR"-SJ?E)ZCNW;R(=K9G0@[5JW]COZ&]D#BJ^@+STX9>Z];_P>P$7V MF^=8QN&%%*$&D6(3N$?W2:]%4<+7J%[[P-_]A;A#R,V@^ROZ5E \OA5 M0&$)PV OT$8WKEPL09_[;FF[=BQEO,PD0.$ M6OJ<:GSD(Q"!@#)PZO E]?;VT\29D%)+63;)8 /'YIL^5?8WB DK-"W<@%Y1 M-7K)1 2 LS]7SUI%R[%9].=)/='-)(J\!E,!,AEWX M=P?$"G4+6&%H):IY;0G8*D M9_643E:L]/AKBJ0JVI**6^A6LWE*ITG> MD+ QN;LB143.)N.+"SUH0!522E9.F0&6AFN"V,,:QQ;/%]^#9/=Q"1:>#[C3 M3-=J3ELZ"05$4+H1VF/T*I!/&.V.A*L%A:!4(LI0+1^.>N^YRSAV,7&R_ (< MZ];S(4H,P;S8NMH2JK[T@A)^T#C4W^@MI5 M/SXSZ2PE&+-8Z'?I+/W,EU/-@,M 8@[&J4+H%4@SA\,:U ,KY,@:Z M[-70E2(L8NHUHCR_02MX ?Z*MD(H%U2%!$U7"(R22;E1)T_O:",7,QYNX["7 MJPJ%M-$W7:JF?FO*N99T;=.,6SN;9C+EQJFH*T^C1"SVX^[/PS?@W[D+SU\E MD.,7_,3R2NH4LUFO)XQ24S)6GU=&\';K>#\X5$JHHHI6ZVFL0N.\LNJU/"^Z M*1Z-C_C>!I.W)BNL'"-X-4ISWA %U8L.59N25/RY>V\;K[8#.\:Q<2M7UI N M#017:@H12I]'WW9->VTXE$&%6*>(V<5D?'JJ$UG8Y-4AITJR^,(E3H]_B[;" M*"TGJN1%;O@$]S!!C9.\$^Q)'B%A>KPS&X2H"W%*%BOMQ,!'O=#SW$_Z2W/% M:95*!ER*.-YF5!E$\&J@K4!JRJCOVJ0V=_@:Z2-S!$BHUZ*$:$KYR>81^"8^ MXI^WF3YR1XB,>CFL">;$SAV^1OK(' $2MAJT+769^\T((_A9&P3S1=&DLLV@ M76ME.\:N;'=?''B+P?:;28%![JMZKF2EA^1CM9IMY*XCVHM%/$T4[.5L".WE M3*4184*?2VK(I]?J]1X$ 0#5H'QDD"0+-"@VRC0>F(:#'NO#FD#=!E5C4V.F M5)W#"07G *D(,7^ L]'+#^!LP#?/#=]P#KRZS1UIR >-7KLR5FCBM\9_> VY ME[9RI!P3(GKMX+@00:_:B^ ::N?(-D9,I.S\E.0;>K5> -U0,T>VL4$B*@BK MAV3#O[K.V\R1;&R0"+JBVS.R%=Z9;\@X_)OUATT[.BZ"KO;VC'L-Z79D&!F* ME%3G2H0PMTNJ[VX6! *LFW<3%IVMT+_J, S75A'C4>='/;+IQH5+RKT+76Y' M8##A.B_X. &\4B>>6J'.B2TR)\CY@]8FYTB3AA/$=,O'LH9XK3+R():)XCL M#:@V2)2A)T<4U)!.KR.;*C!JG1KR-Z0:=QKR@HUH-2 Y(,*QGPWR-G/89&,% M1*^30!HDY!- QMH'3RP2#GJ=]]&0J$FD@V<0B3J-C^[4\ =50L#I!^)JXS!) M5KDTMG\X4Z]/9-:NG MV^9CZ>KQ'5++ZL@K(1 M"Y"PSR^A,8M_^7$%YZ6EYW_,%RCE%WZG%"X&Q)EU2Y5Y59=%HY&.S]5A6]TE50H:[V+5&:PK[9KKV*5EB5 M%7ZOG-((W2JJC2Y&+X?0;\8[67OYW_=8>U0Q6CB:4W3C>D]Y>9F_H2*@8[VF M6,&P"#JR4]PW8CC($?S\!N)G$_!G+@U:["WIR/QHX@EAPTBO>)?**.6*O0]* MFC5?7'EN[/K$91FKV=K!<%$D/E*"85H^ ;HU;/]7PXG@2L1 _T8'9]N?S=TG M8$:^#X&Z- *;_WCHO/RX'6I\$+<^R'TR^\4F_H7G#HR!GWUZ\(J^K?X9TA:V MG;RT$R5R%!)6/M%6SP[&5UT M^\8XB]X+A\RM D&8'+.AY:0S:EU^Y(<9'_P9P<'V@W#>Q%!363JTHEX"G3@A M4IHH59(03WX8:BI+%$[%$2C *3R6 MUK/=C:!_%KG<=MDF%4%E9VLB?5WA1(FR,E)I:@K)@W),,M@UE M^<.O3\:1APL)U>:>.W<=A4&,PXAMRBG74%;EM;5$T#RC^/I,-0W&7=J)A=!O M*,M"V1-7:V 2CD ZF]\282M\$107%+6>CG0BJ[=,J7H@M7I.,99-,/3^%,02 M_>?FS\C>&$YA-MEA@B$:C"UO5%4XR"J]#8;]B!J^Y7CD5,/EM;RCYS.AZ.SBVYS\ZEQY)0!H?1)@B0' MX?EP,IZ>JT&*5I0LQ$&8H<3 &.E+DFX=A"KQAU^?(AV$5([HXB!42>6UM53? M0<@P%O3#05B]KR-,+_@*RO)#TI3"B8R*YTQ/<+/FVV8(K&IAJG]*'%":-*D: MHS@U7*:(<##$S#/6)J;"\'0\C.F GFW_YKG@XYOA_P'"V\BUD/F\V"NX>5U[ M@8W1.7,]U10K7"\[U3?#I/?S2Y*4QC:<.Q="'*$YFK1WJ2ZM&EVD;U8X8.GS M#9<7WW #V$F$:'(9&Z*5Y7 NB!^\P&X$U;\B;G)$?D(Y6G+0I$RRUI%1[FHM M!S._/[_XL5U_/",K3@V=L.S!5U"--:WKO4PU3G#Z/PGV.@I# 8YVYAUL#4Q" M M#.=G_=')*?CR;C2<>I&%M7MZ@#]0PL04,B+H.C=D?J!TJR&@CIBPW:PP=KK#< 0#U8K><))V+5Y14 MS=3)^.<-E%48%4^IBWTG>'7*!554&(L:: K$RJ:^_AZ,%2!Z3G#%U=8E5B,T M55($5.2 ]PEL/&<#EP=7<&*VPUO#C+-^4TYD"'6*PJ)T/&.%M$E12M6!"Z^L MO726"JJM?)YAF5$V%<]@BUTG#LE51573(:,F:"HD"*?(4'P/PA"] M=Y;TFS@"5Q556V\$^,N:8Q:O]V/MKX9OHU'IR0BK,N'BBJFFZ_KC+)-D*MXX MRW><.,:6"ZJF/28=D%6G_N@:'Q0!:[X!OFLOW\+T#,I=HNX_>PM_^YL[UP+O MSS^,-?H-<1ANU*;*+. :K<6CT/MA_=(( )4]Q4+:T(%!+#63]0K/5J^ %ODG M9KHXTDX>6TDUWZ%2Z-!6J*'.,*ERUOASE#YTHES>\6H-T,50$N*#*:V*AD4?II %)+QOJLB)RJUA F+Z=5QQM15*5@M-J10I M6TT4,9'N$H1096ZP[=%#,JI=>K[O_4 '$\8:_@;[E"U/$WKQIK'DK4:R*,$E ME/#=CL-[;@%X!+Z)%+S$!4YPM* _DW@$%W2E0A$B%;&,P\J>H2"&-7?S3@/< M&PVLU?6B4".I"3ONYOR1_I!S/K@.-]+DBNC% ZIDA&6IB,#<4TYM5]WL)$RL M+UYH..C2NP_'PB>DECT-<]^L6(G7+C5(DL:,S,2'PHM_8[ ML*[>#'\)KKP:_""WHCE+:@B?1D/+PX.SD?#Z7[-;:]NWE? S< E\ %"YLJ2[&T M:C;."WEY,< C:"L7=N2RX&:Q "9*+;B5&RUYT2MCMANA.Z/)NV2>B_-?LC>@ M'U<:RMZ6I[OE&>#&\%TH7 WV,]PXN-.?3D:E2>"K,T!;'00MZK^A+"/ V4V MP!>7:_$/($SH>N\%P6P#(48;W1/ ;XH;9Y(,9A"VCX0#K:'5:LGXQ,YON[8V1.O M,!$*P WB%KD]WB=ECW?<\N>XZ4&^;?7]WCLQYHM\SY^ 8Z!DVUX0!C$W7G,K M<]HC4$T;E7QQU7P#5N2 U/Q*!,GO0RX_RMN4'X9OD=)A"6N_:)BGT# ONHW! M$,*=PDW75J%2,<53TF7X 4)R@D(9U4C0KLHJIC@J&"JJN3XV.WE=Z]$Q7&H6 ML#8^I1KIZ"2H&%MDX=+>BQ\H#6WX<>>B4'BXPGOTO:5O5-\RI!573:/2M%,, M!N2&2,WKJ#Q;^M7:\3Y LAB>Q]TG)E' EC\RJ"9&O;\3NWN+)Q;XNVN'P=/S M=\9'IBKJ'*G4 *<6[C[)I=,C\!>>OS+@()SX/XA$PI0^4J@60BUSSA-" MM\04@91D!5&O[ @[YQT9KM=]N&[>UW82+)^ 1>*TB/8/F]"M(2@E/T,GASZY MG=H,7?I "73YSX%.F,^!TE\-$@@'1OK-X_E0'\Z'ZAISPJ_\<>Z3YSBWGH]^ M*7J:)WZL:-WG\(^A;B='\G#3<(X7 UP2Q= ^L9/OJ,9IB0QLE?X$= 4Q?QVO M.)Y#PP^[CPYOBMQ76# ,[M)EU%A<$$;"N M(W^[O4T\A[EEOZ6G 14).%RS10JS[7%9-=0*5 ML !V"%>:6\MN:7BN^-*1X *'9U9\FQYIZ&8!*BW01T?ZMPROH)L%R1+]QBWS MOW<+=.2U!];,12Y/@ [67SST(UEFP?KYXUPAT%@:@2[EJD-OS"==;J)SWU;M MI/2=HT$(- @V= 6E-,1/'KUC?TYI>U>VLFW8HV^; "ET(Q':9]_ M$TPU\P?) ;5;,U'--A1A[7G_MCZ0-HQ,:">*NKV8C*?:> $D MVUK[:CFPJ8P&:(7+L0MSX^S&T>!D&9P(Q>CU=,T!KAZ/!J;6ZK%H5TUOMAR4 M([P#DVO6J:,E*N-0KVN@[9U4]6[RRSEI.[!$QJ\?34Z^R[ZN;1V/L&(D9Y9E M)P#L?-"T*PJM?E,U&U+/-<\/GX;[J#KWNJBCVA- 5\G1R[R>&Z,9&0YZ+_&$ M9 AR>Z*:><@GL\"+?H+5H-=C%DU1Y5X6X\ FWOI6HH-'HQ1OE"UKIU5O_JAO MMHI?3\LVRAH]*>CW8C@9GW;[W)X.UB=*#:VN/+LQ,S'[Z3L(GNT&MOFKX402 M?/;%[QU-IE6'/ /80EWPU0$?&65+1/VJD_AISI/[:?7-@[SYZS/W5A]Q?O7P;YF($QY'CVS \4*GX:$BS MMV$4($&[*BM3A Z&BFJNCXUZ;\,H0#HZ"41&@G/B(N9M&$4? 5% ^=(46>80 M'T9=OR-3];Q0[N$ ",(WP_\#A#%.,6+5SS(PUU.-*7SJVJF[F<"*V'^[+[@H MH-T.QP%^G'K_(%"&$V&=FB^B'%DD+U.I6 @BA-,E%XCK4+57D%3]X%7:^M*O M\EG _%3V&/GF&V0GZA$L.<*_#DBOI:IBF,;C)C)VO3H[F&>1+DX@X!WGWI \ M^K>$("$*25W/1F]R:ZO TW9X(_Z8EA5+08/L!OBOGF:1?%"=" K(:"'Y=-'>Y -;JLAU--#?5+AH*@K!BI!(A'\=9G'KX!_^7-< O!> 5#OS5LOY6QNU%G#M+HN8#> 1%+5+6[QT$K?[%$0!.I&%_ZD1K3OAB-9]>OX>#."F M?O"(_G(,TCT&Z;9T0M#]H-:;(-WB *=4]&;#(-WN2="NRKB"=!56LU9!NMV3 MCDZ"+H)T:?S3*DBO>Q)(4VBC(#WZH-2/D)!+^OC=&(XW(G!D;0QD$^[E8;T6)(I73S*G[^:%V= M6A>#,@[L&3=!<0P=1ZTA;95Z M<#2O3LV+31]-PR\/Q\+4WW'U-)ML/\V+21VMIYO5:,>U!70O-7R\^KZ&H\LV MX%4)CR%/+[69"15T*3;6@Z"MVR'Y'*F8*VR6VMBB1!-1T["/7D[!GBWUS)JS M?T?;5MNV1:CSZ&FMXUU3S[0Y^U?DPK2_C^%I:MHBU'E\UHO+LX<>-5#/KGDZ M=S1JM8VZL2X%7>[7WJ(UW%D?K5DU:VZH26F^[$YNNR*Y$Z2#(%HE@-6X]CKE MN/:Z_>0@]\WC]=?C]=>V MJ['Y)[<_VU..8I=2^RX?77[DG0KLK*%*&#(Q9W]@YG\%DL\?C[YJ- KY M>W9V.CF=G(R'%^?3\].1_,-_P-_8J5^J;+Y)NF7XM_GB"9C>TK7_ M!>6*CX5C8=E.Q@1^2[4!N 5&D [.VD92Q4.T.Q>.0'",A'@B\.Y3V0A':H0: M1:G/)N/S,T5<@&VKMDPK7IAZ1 [BV1BQCFH$X542LYH)XJJ3XA5 H-[@NO0: MKIX<;XWZGRZ :(E>:35[HF>"ELJ:KBMV_\^<@ .;6Z(-C.'_ 4+X=Q::T*KI MR)%:,O<^0^M7X +?<*#4,VMENS9:?H7V!K"PA*FNCE2I+W@+FW*Y?!&S&*.= M: O^BFH<[')M*P-:O?RVTI^MZIZ@,DA2$>-8'RN]3MV8X-_>A(B=Q4'\G&+^ M]T@%#U[X3Q#NE--DN*WSO2.OY2;1^5G3@: MC2*82WE>7,8)VIOG0$F"Y'(=]P'9>#BJ/"!+6_W+(&E7_9.O[:9OOBC#0@M> M9*G[N_Q8MZQ;Q/.F0J$BU<_A'QV_W:JX\G*$55T75-;3&HG*"D!TJ MW=K$^AR>CH>Q3JW-&Z;_E1Y46G'U=4I0RTZKM<14SI3K3,=7CA$$Z81&.(_' MEE>% +7&[WK2"=JW=J+WO(#$$_9R064US:2TLM(9)>RSE<,=YBJ-0B2>CY7* MJ:9K1EU5*)E)LC[K>'= 2+M\62JHFI:;C=UDL02Y2.2MNQ%ERPO4*'SS?.0< MFJV\R WW_8 <-8LH74S&TU,UE$_6X]Y*O(&LK9[$2/>OO/C ""+_(T8DN:(^ M,_^,;!][ED*HT7MNU)6QU2.);CF17-!(A4?NYN2B" LY,%7U9 F/L)JE4*T< M3)\ 6FZA>+/MJ+HK4ST+-6]0&VH)AD!0AD^GJUM2T7KMQ#@:SJWM&JYI&\X6 MVSLW3K$2![GQ'OU,*HY^^D=".]%>( Z7#IK/M@(RWWDB MU)5_)#0S33^"C+6-5W1!T ;!5>3[='&H]50;/9CQKX@TJB5KU]'@54[G5))? MH0E[?G:+*A6FPNE,*JZ:?NLIJ>A]YI97KT"R5/Q+SX728&A!+*L;)_B%U2R6 M-9'[V7 ,WV9DQ%[A/$KGPR%$::(3)5BD;76#(IT3C\ -D+I<*TZV_0@W9SX( MX3X-#9;78 '7YM8E<.%?0I3D+T,F!SB&/\T;UI5K+2'3ZDL%W8Q5!LH\_V*\ M@UTF^.0&3_PSAO&+J0%=>=80 4'9\E7B4Q6HO!LBK=G"+'!*CM.FY$ QN]V3 M(S:-Q"S@J)Q>-:%E/2%74HTF#?;+-03M_E3%:P#^C&!3-QLD*/?0?585/)&U M.4@:[<' O0<#;>#&%I<<=57L!_%Z;$51Y6R5HH5"Z)/\O-\N/*JZY2D&":U$L14).WH7J?)&22KRA:%.TE>CU9+ MAP0M4+5($++KT#%5TVZR8XJJH7_R*FBPBX4"ALR5U:W<2%50L63MEY?)* MJM=M546OFFG *\% '"_$#$P<2YH=&WL MO>=VXLK6-OK_NPH=[_?]]EIC&+<2 MQK]1D$D;.0,?S1$5(! @50(/CJ3Y4D M,#:A'0B"UAI[NPE%J6K&IV;-FO7/_[O05&P&3$LQ]'__2SS@_\6 +AFRH@_^ M_6^22Q<*__U_?_V??_Z?2 13GE/-,B8;DJ,!W<8D$X@VD+&Y8@\?L98QF8@Z M5@&FJ:@JEC(5>0#\GQ#X0^P!?R"P2,3O*B5:\)>&_KAJL?EEVN\8?1W[03(_ M2)RD82>/)/5(Q[!ZY;6I]^NRTC-%<[F:QB/L#G^()TCJ@8C2-/.^.0?,F2(! MK&CTL$(&MH[145*.)2)]F8A':(H6(V(\+D6D>*Q/2U$\!@A_=$,;$@L23+<> M'2LR$,7)OW=#VYX\_OC1%ZW>@V$.?OA?N(.^\QO+L^&ZX7P^?Y -IZ<".%RE MOWR0#,UMC#,4OOJ!JNCC-[]8]$S5[9[$<>H'^KH'2;AJOK"4-ZWGU*HM\>.Y M4N:D(=#$B*);MJA+K[^"?;CXC^\+Y<-546=L0"TIN'P/")NR4]@8 M3]B4NU__#($H__I' [:(289N0S/S[YT-%O8/CS#HQQ$P=939OW?^]Q%[.0%W M/W[]8RNV"G[]\V/UK]=5SY"7O_Z1E1EFV4L5_'NGB>9 T2.V,7FD\(G]$S[T M!_SZ31M9L2:JN'S4#1V@!LKB$?4&3.^E(LM =U_"!EE3E-"4,4=7["8211Z^ M$#A(05DT98'G,@+5:8G3*9=(L)R4'O.FG7W),@-(&>M15U0X0].!Q'8GM/#Z M2%I"K2\P H4+B-."_-08'+C0S2ML:<=P3KU&=A#V("8M/HY M$:1 $6A2E&!EGTG-&'2K8ZW?QLV(L*RFXH.O3@JGRE55K12>QTX<=-,UH9BL M4O/7256AUS(5Z=+QIQS3A8+.*)8EJ!X@FJ\L9Z&S70\[FIXMNOS3K MCL%+2^PU\U,MTAL(%!IR)$*0T):?<[P9'VR\#C@+/['6P^V-G)?G;GE6XI=X M1Y@W9"/=HN8"C8:+'G&YL=;A PSY[6BK6KJYG*>*23Q7K*F4-"\VHI"X433: M!GG.L2;A0&5WL*HX6(\O-U7:PC(]>F'3PM(D3'W8&%ESV#$<7U]4+;!GB-^Q M%X>F16U.BQ*2K5B"SA/4C*]-I*0L4)E:G(9=R$!2-#B\?^\BT??6(V<8\AP" MTH(V$143S;AL6&\-1TRQJXE,00)CSHIH$M]QY$JM 35T-=O5]$X]W0]R\9O3 M?:FQE:B4JTY8)09J/;M;B\[;@P/3W26 [_T3A'!"4X1V.;E0+/==1=$5S=$J M0.L!4_#')S0AZ-4=T(0P WZO#Z"6N* !HHU:3U4&+CW8Q01(< '04C38I-;G MX*=6WQL4)+)I(XOE/@CB:D&":$60X2?N2/ 83@A\MMC\52<>$-=5>1B<4MB 4_60++0S?43VGQ^]ZM.=$Z@/)8RT*$8[!$K M>J=8K5B1 M+;-:5;7HYE)@-.>#2EAW3&D(ERU)23(<[]#1E-/D:.G@62Q)>9 MRC+_G,B83V4HI!2._CNEI"8H8J0QG#/!ETWCF5:BIG MUI&HD%\5%0L,$"D%,JI4B$K"D=A2-Z9X&8>$;*L')Q/)7IRI#CK$1L 0TNL?9.[PWXO22I-XW0228+&ID;D%!)_*$#%YNN MWBDR>M]7@(FY1 ,[U_+I0NDM-'W_XU5WOJAY;V7XL,5$523%]H:&R0K\U@TI MK87C.%2Z^[7J[Z-D^N?'SB'^6LUM/9,?N\@V<6W\FHCNRMAVH64$9R(4OJ:0 M_\WJ_>IW/]Z(T2ZI6BMB;"U84!-?W_2- 3-_JC8RK%C)]U\HG6\6F)-S^0/$ ML%:NV"=';(,W5T>W\^AUH MX9R>!:8.I 4+$8/=@C;FC<*^^][_=55A2ZF7@58:D_EBKYB.SD?/Q7G0M!/2 MZ'$_C>Y^02+M^?XWVO5AN["'NJ^*OI.\Q]3JX CR;L1V-#FVX? 05=*J:%D0 MR]J&-'XCR0RDY'32KB2GO4D0W-9;'QX[B@_? MM5U'FSXV@B=86@W?-\D)FF?BX6:;< M4/O1H,5F2)5:;\%\5R)&1M/IIUMMFL]IF5JRJ+=MLMW)4)-BW%K M\9S*CC5FF4]'RH..XK\'DUN M7%[D=;!?5.2"GA8GBBVJOC@0/!$SG/ZTR#)50\LZ.5X:.]<.(0].^3JX_=5E MXQ[K3U;:-)C9B<98C,R+E43U^;E;N'8VG]OZ;ZX +L7?;UK_9\(:O30T3<>U M8K><+1460TH(7$#Y1JQ_(.3EH/5/O7#\R 2)&2N^F$FNW"EKO=FUFX4+6?_3 M<)NIM*;C4D6+\S5KDK$D*,O1Q,DY=-');^0H'\7W==*]YTXQ;S^S2C7/"?:T M#H;%:Q?RL_H^:I5Z?&$&?]/YE9F$69?Q:80O6?-*L=-7"DDF7/K-FK M9+51QKYV-I_9_I\DDG%F\\_(+QQX?B)3K*.)DV=BKHVKRVN7@X":_V#(R^'( M5[H=R5*.U&,C+]2,LGL+FYY?_5+X(M;_))&O(UG_6JG:$WO1IQH>B1=SA;9D M9HW>M6O]N:W_*=:V9[;^S70S5ZW+LR@O\FH!.*5".GG]@>Z 6O] R,M!Z[\4 MJ#G@AV-JK+S,YX6<$%-R\ZL7A\M8_]-P.Y9Y%J1E["G"*SE+9W"B5G1F 4MA M/?+DU^M<\CB^KU?0LJW$U.R--?V9SH[KM-(7KEW(S^K[R!,%,C[+X&\ZOTEM M7,8;NI;ET\-2M>V"$$CG%QB!.>C])I7"C*V-J.1X&E\L8[F:E@#I M<.US<79_-<>C90+1QVY'<=+]^4ZU/*EBQNE,9.QE3)=YA?U]+5S]^K.?7QOAWZ_[KX\CVQ1GO4T MEC&JN4Z?;[1:TK5;Z0OH;A#R,+9U-SVHLF(RI51X1R3Y0B*G=:WZM>]&GE%W M Y%RL%]YNT*KG)WVXBJOB65+,V<\9;#7SMYS*V]0]I&WM7\^EO0'9+]ZOO+-T8BF5TA%FK)'YJI$G%G2Q=NVXZOS*&XA= MP&W=U7FADLCJCLHJ$<"5B6&Z7&E>.ZXZG^X&8K=OO^XNYNG80EBHG3$H1--L M^V69$(;7'NNZ@.X&80]GA^[V=%.4V5&4S67PLDDHG<%(OW;NGE%W [%=L5]Y MI0H^G<]4HX+G"MEGBVEW>X7ZM9OFK,WL_2*!'UHFD&/W_ZF&.MWF2G*[.3G^$ MYYJ9;'V];L^1:W)\5B(\3U& E(+3F[VK*Y;CEYJ6M$<$JQ"YY%,>.I)N^YH$ MX=#L;HK_'[/SK]DWEFTJJ$ZY"P)056BKR?$^UVVGP6MI57IA0;T4:9:7^<7" M"6PLZ1W77Y-N#DPQZ/;]<]S/ M>R9W'1S<$;[_BD)"\EI:"Q2$L2@*<461F$J2".P:,T *>?K=F,]II+#4YWRM MF._AN5@VDAW,\[%%]UK\Z64T\F@L_!)"^IA^ZJ5V? M* &_,^Y\ZSDFO2R3PW$ZS[T4\.HHK8C7QO\S&/>+<_\J+Z,*F!BA>MQKFMW] M0F_?$&VOP/@?HXMWY/W2>5Q20^*=IN,'V4#]K&O#(T$^[9/6=-T@8, 6/0<5 M2UQ<3+'2Q>DRDE3[<[Z=(HI%IBD.Q$C@4-HNQ=HD6JA8?Z!B?>#"EXHX,LRT M8]F&!DSK]=H(9S)1EQR4R-5WONYE:@(K)QH5B<]-GT#"26:GM6H@M6%[9OYU M#WNF=DJL47RYF,%'^+2+BY-)BB7CP4LZ.L3J]U.Z34[O7G]^ MQ9YSE$:,ZK69@4>D1L>@Y.Y(#UZ5[*#9\Z!%'CYESYMD?Y94^AF IY5"N9,A MI6PAM.>WP.LM>ZY)(T)_[L>%<<[JR4IK]%(F@W=L,BCV_'*WY)6X^^3KGM^VYDAXGNV,)Y\=:9Y)^7BZS M)I6Z*M!V/GM^7;S>LN?$5.%DM:1D\6D=1,B4I$2IX!4Y"(0]ORBGB:/9A:?I7QB## MMU<\&Y47N_X_YX&K^D!'R;",<7GG!FVGY&(,K2.8&BHCO+J6T57]K51!8WF6I##)Q!^)(,')CVG\#UK&/JBNVX.I!5%NC5 MBNF23#K=Q"0AL&F#;N<'F797IP+G\+_$]/VSO@Z>[TC=/8WQQZODH%V+=$B> MBR2YD=)[ZF4'@JQP K(U14U#N:V_H7N3:TW7G)BJI >\DI,CO?S"J[+9&!Q MR-7+VB>V'*FC%';XS6;$666MT^P69@W%UOEFU^\;3WS)R6_AJCVQ$6F9)[[Z4:+YFIX:@J0U5/7?MONS\LG'= M>&B/;$C4BZTD%%'G10H(ID0IY7[CVGW/F67CZO'+'MG(B'B[F4Z_6&.GV&*M M6.NYT^F'LA%XO+%O2R@#>G9!MVS307-Y)P$S0YU!>J1-("MV5I04%4[0%X0T M,ZR/1^1,9I7NHD<3=#F?5P+K0+:GN\U62TDE]E>R2Z.15PA MIOEB^YF8+(/+SNW9;6[);$_O1%S$(P2^8:&/48UGS4A4TG7]YG8=FYJYWNC2O , MZ)KC^^:[44_L\(0#$H(\RWF"XTE).5)_9@J5$L>#;K'\-,HH*M4N=P*YP/S'_S8MJ#A @Z%[EF)+@[@]K$V"#Y, $ M;Y)1U9(XD)U,(LZ7G@5<5)ZL8EX(KD_YBACLG_V?) -^,C:06T :ZH9J#)9- M93!<"T*JQI1*+_R09-.*W,W6XR7:YH+K-KXB"+\AP9\D#:LS?DV@NJC$&BJ3 ME2084F*>8>8S>EQ3\61TL4B:W/RV3,*!Z5^'%.S8NC@^1$@V^TX[2A,%?,G) MG7+$6>+/QFT)PB4@PNF/+!P9([2K3*<;?XZEQB!A+D0[FE>8S&VYAK-CA& * MP>] 0H.@(\2PSAI\+EDM3IU%J<2 VUHT7 8D!%,<#J&$O,ST<\]4NC F&=99 MX'V*RK"W913.CQ).=)/\U\XRH[P?QP;F^P"3#OK#?LHQG#$P2L],T>KUF6)@ M8<&G3K+MF?+58L)CL'M(/LTC+,-K/&./2QE[,HPD@YNR%&!VGSS)Y.G[:"R60B8U4U-6;;_-YU>I)-!5T2*MMZ 7)L!4T>@Q]^UTP>H)6?TS?4W!5T&"VXN3M W?O>MIV@YU8C8 M&=QI6-%IC4UH\PX)0[(52$3'QP)V2SZ1'VRRZF M#.A.X WI+B_%F--K/$?P:9PKI$OI%D$:?Y"1/()TOZ7H38GK.PA&"IE2_ZEB M:(DV[TRYI."TAE:S?G+8]#G/19YZN;&QN[M^F8<#%4UIN"RCE?;;\AFK-@4= MXC++;4"\4]>-+C<*$&9-,'6 +BUW][?1TFHB$VM"Z?<[+E6?JQ)+3THLD&HE MG9"FF9$56*_U,8INU.;83]+O:_H'>+%C) >8<1T+K6TY3XO6$"XVT#]H+3$3 M5; Z&>16_S1TL/0NFL\ZNNS&FB$U,V!B6,HZN'8"I8F5B68Y];1P^-RR-9Z4 M(YEX@@BL;.^GHE]P]"-D/*I4GTS% B[/1S>R+T1$(EK/]2G+ %+@*E5M.28" M"Y[^4+NV*VI\!0Y\$DT]E:/E7&&<7DAXC1VPQ-,DL$8N=. !")UM"WI0/7BK M;T2%;J-(XS69+7+Q>D&C@W?M0^C! R?0QS>S/&^:-5Y:ABZ M\& )PFM".2T7G%BB%QWQH$#KT:*XR%27)S_7\]G)G^<*U'5$S[$4'5A64H+& M"1H<5$AI?3>'I/04V7K=]>?$E5DO3]2X#NK9,JM558MN+@5&6)XO&7:(6D*<,<8&(0P$@8A\2@(SA]%1H^4VEORSHTH//_!R9&S:6Q7YT MO%SPI5:.4)U!\&Y<_Q#S=\_P-(:-B$7P>(2(GTVW"RB!"ZQ+EY0-25RS]W5[ MRRV0!E&'AT'@:W05M&ZM8OS22Q+:?)9C<+)MY7O/3\*4Y0)W&'+%[ -3WMQ1 M.CSGF]+[(\I*$U@ X45(N(TZYF_%A<[J<;NYD(=C3K;K<:<^64J5P#J&#XG+ M!Z8=2LQNB"LS%BC.1XN7G,22HTIFRNFI&(4' M=D'W(9GYT,3_1*E!24@HGWR-,5AMHAI+ EJ2..Z _5,M !J!7^V6O$3Q=;[4Q10]E?&".MRD+AX]_'P6?-&QS4AVEBNPX M,NY2]:EFE;ML8&4C\/CDXH? 3XQ/EOUD4F1[$)],TX38F([TD7/E9C^$2?95*T\\QWQJ";86JS6 TGR]ZO99YKFZ MX-JF)?6V !;L/!)8.KO MGPB?3&B0[B13^0C.*0LR-A>I>%8-K&P$'I^6Z[Z,[+"FJ7NR-Z/DV M1Z E)3"KXR_?KGM04J1*FR:M#FC@"F7CF9B6:#ERZ'U.CU..>5==5""8UXL_ MN*%H@B:8K%"::0Q,47O->=_YM2\.V;DY'56R>9:/<+2VR.H1;7CZ @:?%0=T M$\C^6?I)[P>F>4P1>'LR,QHAF/4,3YW]_#']7]^P@: [;*,9NL]LWJSC7)(P M^7$ZUIL[9GI2-DY_6N3$NK]WNB'J_+R$*(5,SJP)F10_G?1;3XYL)".%4$*N M"FWNEI!AU^8K@EI+C".CR:2TE.0.>?HL]JLBW#%@^G[5DLL44U#QER*?RV?B M\:Q1>JX'-R(46-6Z>GB^7T+RM;))37&;Q--@9 SY<8H'LU!"K@&6_T9":@.0 M-D>3 %OIJ+XK7JDI\.;.K&C<-G-YXMQF^GYF_=MDSM=.M6\YR(IO0#6C.>&&! M+Y]*3#16CV:DTY>UN"HXOQMSL%.Q"MKC^A0O,97!S!G)G#()PK'^8+KB5\(E M6[$$G2>H&5^;2$E9H#*U.!TXE!N$.^?DI\:0FQ8G$SQ7GM2=C.)(3CX(+NDL ME:^L[#.I&8-N=:SUV[@9$9;55#P(EF/PBTN,B) D=7/*KQ M\ 5:S^BR:,J"A4*KEE#,BD]&0B@S^+31%)M3GIJ\5%]II7EE=7[Y8W1_LWK. MZKO5>_2@WSR4YS("U6F)TRF72+"8J+XU\M-,KN#S8[JSH0(HJV87Z1$EN_1Q]F@&YHBKZKVX^R]$T7/]Z. M_N.,\%&M0$:5"E%).!*;JQDUC>;+8%3?YCX"T/Y/#C/CA[)XA!,P'%,"EO=V M"$3954@XRE__P#^892]5J->:N(C,%=D>/A(X_K\_)Z(L*_H@HH*^_4@_T+'7 MCTQ4IWWUF>%58X&/4=WDJ9]W[WHU!XH>L8W)(TD\,!/[Y\8S8-/)JF$?ZF6D M+VJ*NGS\+RJ>9F%5,,>:AB;J_[WW/H'_6JC*RW]_NJTMY07 CF"?WE,>X4L, M_9^DO1?H 2(V-$'_W[O_M&II^-::B/J;1[JO'W7#U$35ZW8.W/GY']W]:J&B MWYC1Q]+(=,#E_C\_4"^0A"+\_V0'*245B.9CS["'/]]3=8M<4'@B0^^)!/G M1%>C1D(B2(F^3%*B+ "2[ ET#"J1B/<(0<+%1)2)]7&1%N^\@7R;D)!F/U5% M!^O1P/?(4D9$51GHCQ*<.3!_]@P3BH_+3V*RP"Q#563L/[C[WXH-A,\&_)4+ MO;*#2*0OA)XG)@@,C?%">P .^9___SH_?J__R$8_*?+ MO@M0[@&1YH.T.^9(79IO#^U5?7[N5)'5)+>X-5,LI><6V7\<*C)T]^YXXR1. M_5PKR=G&O4O&F%VCOOO%5PLM-H-QK62+Y5QY".8X.3;--PNM AQDLIK!V.=T M/EG-L5BZ5JD4.*Y0JP9A\,3NP;=%:PC=A6WH]UCF(?V D7B43IQ[P+NEF8)? M?E!X-^SZEP?J*KP_L CT"[:A/6Y\@FR"^W;#%SP0":#M\!=OW>?&X'JB-!Z8 MAJ/+$BH!O![EP$415-4P!X.9M5G&&'S96US#R28R,,/_C-@ D\TO!4] MO3Y]%T-!_X\]D-LV6E:LB2HN'Q7=7?/V5$,:;W:' D;>>T5' 6#7@OIN,OX0 M]SI\"X+Z*-1B_WNGP!]90()VU5![HJH:=L]8W)T&(S4P,N M-8R26.@*Y26O,$QK,JT8C?9@&RZM*,^!@0$POH!Q2PTZA"U*'XXR^2[D__XG M$:.9GSL!E^_J#GF@!I]LMMAFN>/)2I.MUYHM[W6=;W)\LNJ_:]6\?^'"L@57 MC]X;@O+^K37]]]&_9-^+U;+^[_+L^H?^BM0=ZZ%!_=,S?_SZ;:O5FM;K/IEN M8;4L1B0H^HSK1%?8J8/1JL3N-6[6,#%["+#I2IHP;[L! U#VY5V ?T/6'V64 M3P0['=836QE.K%7#?'.)$116:V*N?41F"EI%[!H- MXG>5:67U[+4(K,Q>WS0T[#=3=)\L \GP!/'=NOO]MTA''N'R'!I7^&KK:T\L MW%#Z.E9^(7!V,#!B&W\@60(0G-[CM5!:KF*A-$4LJZ@ @Z:B!\S'DT?H6#?_ M 3W2>^*&T6PU8FT^-B:4L<9JRU$B4T[QRVVC>6A6.$Y$:)RB$Q\(W!WJ)PSC MG2>,1Y(?$.J32V,3#-S2)[J-"F)L2"1>TO#G/C=1>*Z<7(O8\'R\#-%'UCW&+J7Y1OAY(N[O+_8A2C9+NU0*H"YIADF6I@U 1+* MDR<$HA8+!&C M>@0> X2?X>#]HB4)!MX5S4R97HYS]3P[FC08SGYN"*2 OV\YEV*=?FHTYEDF MJ;-6G7AZX1M)V'+5YZ8ZVVZ>QXH.WFX]I($J3BSPN'KQ?D_()PM*\Y"\]) 5 M.]S$&7>V_@=>VHS[R9OD&L2SMZDUKX!_Q2';7 W,?R#MB:PMKSZ? =-6)%'U M!1QRQ.\B"GO8D'/_22N9WV#]1L\&[*VO&O-5W'WUWDW'>.R90!Q'YI!"OTW_ M67\O]B 8<6Q?5$Z>!G24C85-X?AARR&USTOM'[:)!/\(9#\/^CR\)+?0X;&) M:Z7H-O$_9 K? MJ?:S$2U>P-/](1&IQ>+\DY%$#_T44^)DA(P1=)0A#[,E0+H5^RXR(\=4+%F1W-B$T3\>COSN:)5-%74';0Y$77EQW_^]'F= =.?;O"D\ M-!^X!\ROK7?$&.QW1_96&?WU_SOZNTKRPX6%-V.'DK)LHGLTO7_*B@[A]>N* MCZQ7Z@83M;+L,KK(M8$H5GEC_BD+1#,DEC(-49Z+R]-M!P2*F&GXLF:VC+F^ M0DS.AVL2G379<;"\9FZ,^M_$&P3Q!G4[#OF=@]Z7Q_^73!<50ZB:4#V4BJAB[ M )*#UC-8K0]-,K#^/EODF/G0684]+/CKU+*$+$L2KO_>20^M"9P@I;@G=HIS MW8%:'D4J+Y^3'I+8C1 _WL/?)]/\1+BC+4LSXCB$0T(=!4+"'TXK0HT(Q,T2)\'P74 M^\#MH)IDVIG.TY)-X\OE:"HM.*W9\&,4;UKB]9[>6$@I!^=>$GJQ^]),]A8- M?^'\IF4^7ISS0&]4QZ#0L)?=>:]IY5#<@_1;GC$ _)OH+O'AZ"Y%/5#DOC4@ M%GWPN>F]VAV")&X[!!G?9;=/& %&'*%"CH0<^5,Y\IG8XJ?-U[=I$O\6R#IA MDDY+L;UCYJPH#;&T*EK6I\.!GY;T&R:G*:*)8Y:;4QA2\NN4K/HY#^Q"&HKZ M +[6,;B^AT+ZB@IW!$ZW0 VU2H8-I%VX=$31!]M+@NRYEF"],]1./$V2FO4D MX.W"*+>,,?%Z=3'WLQWVFW,OQPVRRBU#>8]-1!.;B:H#L/_!'W"<0!F;F%O? M9&W,O[&'=WYUN32_?/OBI2ROF64U:TROTC 8!WOPJZC/;E -9;8M(00"+#?L;0 MYP"TP>O&&#;R[_XB_+-*0]'"^HH*9$Q45=@"'4I D8NIHZ"XA6U@/> W@!W[ MH8O5"2BT%>OE]?M1C(W@Q]KQ)24;?8V2\3$9?@OA!6HZ,8$$7+!!D%Y_[J$> M"_L+=@JE';,9\O90M-]/92Z^'2\:K/=C?S9_WV.B+F-_D1M3 M[D'%@8UZ(S@A]".W/?PE&H_?&3JN8;DC<89'%I/>Q/:_<$XN2[ M)6G'-.$8O8,DR*K:HNU8&_'>&=WJY/N:H?*1<;OTTLVJHU8^^1LYZ@!KGU8> M^MG;N6^U_,"IE54__IF^/1UM/7+[;]4XZF#H#PQF;P&FZ[0.2$.@ M_)P&0U41,17^'F"B)$$-AL('A1I)L8G^$;I? M$S]7S7[;8/_X5@T1 O ;[QGKJJ6BNQ8*&I->A%P!FTTT\["Y3Y,0Z3[!1$6! MI@E:H.%+H1>G""$*1$:.]N!"(M[?VJ=11,,02VQVK. IO/#".X5L<2Y0V[LO M1F5"%4:B,A\S[+(/7MI.CHDG84OR?4LI0[9LZJ6K\Q&:[#Z;_?%SO():;NT2 MU7(IQ4J6QR8.:K5^92+27:*=%*+;NT1B4<>?>#GWS$XG*1:?QK2<69^C6\7> MM^P3"RO%U)0*WD['S'JBG6A/.-1R:YS&2+75CMGOCGS M[R=]_T#![[:<-+A84-?;M,Q#]'-Y[F<(H*-<2/=$*EI@/KJOX*_!7_A]!'[U M]U7FP'^,'23U0,=#?@2&'T3B(9$(^7%)?KS&Q(CH0YP.'#.N]5#.!PA.X@_Q MO;'[D. GL3B'XKZAP3DB.W9O;9$/1X5/P23%$?'(M4_PMP[^"B?X"8]YU;/[ MK7NZPME]RA<$=WZ[C2OQ0$5#ZQI:UZN>8&A=KW=V-VU=J?6=,WOG[QWLN*!U M_4W^B+N;Y ;3T:["P#"7)ZJO@#8&S;3_C'4F2?Q)*,?&3V4;UWHQ,-9!S(AH M#8'Z;8)6&6T9>/L[&]L"W@?N=+Z>$O2&9:=W&/'?B^S>?:JMW;)/SN[TWF)K M=LD]W J4%S@"3^@K=@&K;MOPP6X-LO>T.8IK>".)P7$-GYW?;M? /% A[@YQ M]U5/,,3=USN[F\;=] ,>+-R]A1>JNU)H;A)[KG'.VRRPP.-0SLL5\L:[3ACR MWOJI0,$WD9>K9.\MZEPBIAQ+T8%EK1=UG4$^,Z4M8UC]C;,>I[?X6_+&^NEFGH1Y.6>?E;:+(^9+R]N*B#F7?&F/<&NY M*Y2$M@:6> =?4HL7*<3NI(=4]KM4^N,N]]*.W>3S:'?U TW5]RQO/11*$[>Y3 [;D\P3/=9ZA(]?*[ 1\/' M8CJ7F]7HUO%_S^O>FSNY/H.\ Z_?Y]!?PZZ0&\#G&YF>]%1EQA)>E<[W2,-, $V1W]\8@67%TQ9-5'KX0.-\6 M">[Q8DLH9L4G(R&4&7S::(K-*4]-7JI00C>OPM(=339L&4@*A&-WF 4! YP0 M_E83DI90ZPLQ@20]T9]6I:[SM)A-V!PS:4Z,2&1$EF''?C?6OW>%:G;':3/W M8+1[?)-S1UAS;-=^0D.ZH1G.9-9:YRF[^.H M=MA;0OSR3E1;*X-A;A?DDKQ3V=;O3F7?8\;KJ!XN=5']9+'[FOKMLGD;BZ:3 MC'-S5*CJV.YQ$2<=URE"!*<>U&>'L;J=S*V1]KDQ;;+LHY3"/Q%,>+F-8A_*^Z.HSL6EY:]($E"XF'6AN+5<44B@ MZ %O4BPW2NJ1Q ,Z M*;)158\F'F(HFG3:C$I7J\C7^G#_B-C01';Y/ZU:>B>'T>M==[;Y']W]:KE' M9*"U3!ON69?7LWOB)M,WZ+#!U/>DWD5!_[2..[[7TSM"M$?1_3B=$.1XK"?0 M$MT3$CT2_J%PLM>7 "DF5N=]+G%UU2>OU+G0!5OO[B!=7X'I'>-&96*RD,_8 MZTWR@1CGZO(Z?[P8ZR[&=EQC>;D;T+]0A>OR=&TE4V46W568KE5;;+7%79"* M'R3:*0[H12".BY$$B3.Q=]9_([ZU<2S/'4,$>EP(]SY5&W*XBQ>^87U_F^B> M&-S&47__A_ZSR8?$)<_W;522W3Y9<&P?]QZHX#L2_X>GI3?Y$(M=![G/2I98 M_('97P1L]?_8 Y'XH\E$/N!7HJQG)0OU0%WR3&Q0R8(_7/)LWG>H\EI7])*N M[_@.Y__SMU\N[&2./[']%6;.,=_/>H];F__OW,*MS?=W]O[6YOL;0WZJZ;Y. M;K/.,UPLH675OW?1NT.)"_OFDD@\Q,Z0>?@V&+?[\F7W$T5'UX,]1MPV;Y>9 MZY@77.9FV"K'9N +KE8N9)(M-I-*EI/5-,OE6;;%\=4DGREL+9OW1L7\A71= M-&VLX*V>Q2.MH+X(;+M?G9P$V4(5]E%(EK%"-5MK5I*M0JVZ MILB.RUG<<>WH"/N+UT5'AF(G?_1RO4OKW4Y6?6C3 7_WRT]L(6X5;O]S%/H+ M<:-0@'XG0$?P>V>"XSNI]4:N8@]KP5J)D??11T]BO-_*W-C*^50N\;4O$+XG MF(?PU@FH=*$UQ%$V7/[ W%>WWHX?G I=7^CZ]F&R % Q=(W!!7SBP=-,%]R*.1!#^$@(L& #C1"RJ_,8@GOUN7O9QM>RX5!_ M_K&#AZU$N&_%'$Z_^7,DJ_2=21YT2:>:Y M'X =6UBNQ(5]9Y)G]T]NRM?;6=-7$$T\(J]^[P\"L#L? -$,C?7-S#(TI6WC?-AG,Y\8YOO "R_9!#J++M5?[9]?N7Q96'S)W((C@>B4Z(*033 N"$ M$#Z+_G'7C2,@[BU+&2 !K0=,C"+<3ZD09U^E<_@S%W"+]#^'TK\)MKP;\5=(:WEJW5V6:R]27X_5J8X?$_??>_ M_8A\(YAM]/>7Y?DMX,=J$^"52[)<"(\*'IE@")^(KG;LPVRN"OU.)PRVA]XD1/NA*;VT*0W1?HCV0[1_ MBVB?:]72I7SMJ,'V-] ><\LN#@U5!J;E%T7$V*D#Z?L!6+XC1A\B\JMU(\SU M.X80D8<6/T3DH2F]M"D-$7F(R$-$?HN(/)WD\MGR*1%Y6K2&6%8UYM8:@7\0 M=X=YY]?I+6+7;_]#X!T:]A!XAZ;TTJ8T!-XA\ Z!]Q4";Y'( $LRE0G*%3'Z MJPL@!9JBXC3]-;A=-6PX--O PK.;-V_XX]=ORD,,'=KH$$.'IO32IC3$T,?& MT-==4H6LB+HX\.!11K$DQ[(@1A-U.:F+ZM)2+*.?_1I >RVP0H8%5H*+S4\K M!*\=KR_E?'V &]M>/0)%QU\Q.P+UWG7-J$T36([J!=!?4\Y#+'^5#H@DK]^G MA& ^!/,AF ]MZ:5M:0CF0S"_B>.HAB.B6]?=V\ @<()O5?\=0EVJ83GF=\$\ M%8+Y8(/YTPG!9L9EX\!4K"/'?#3N&-RD&/.QX7,:[G6$; MO86QQJMT#U28DAM"[5LUOR'4#FUI"+5#J'TIJ)U$^8]94;(-TQ)B<3*1^#[, M3H8X.^ X^VA<1_U@?DWZS5#>%U:$M#>!W"ZTN5K^!U$PP4 MRP8FD#E1!9;1]VZXX(#DF(JM .N[<#LL7Q%PM'TZ(=CL&'-[1C4H_"M47CMW M4VYY"Z O_7!X"-:OT\&$8#T$ZS=KM$.P'MK2$*R'8/U2Y2DRH"^B0E[\Q- Y MH"N&^8JAA!C.)*+?Q>IA=8J 8_63R<"J7PQUC'D];T#T$(Y?I0L)X7@(QV_6 M+H=P/+2E(1P/X?BE*E!4%!UP8A_8RXWB74*&1T/4'6S4?5S&NYUA&[V%4/LJW4,(M4.H?;/F-X3:H2T-H78(M2\$ MM1F!70PA2>QOYX$S(;@.-KC^+JM7OPY1]%5:?HJZ?F,>FN\09E^E(0X!]:V: MU1!0__$6>8VRN$*NFFSQ3983R#@>)Q-? UH<)(5HGR(W(#3D@9M/:,@#8L@I M^OIM\Z>M\0];[*G@G$Z#^+C3" BUPF$$>1BR8DU4<0G54 <_/S>FS7KT[^S# MR+%LI;_<&">&_H^>*(T'IN'H\N-_<+S?Q_$]FBHK MLU__P#^K)TDJ$$UDAH;^V"*>27JDT)-]H(3C_WL2J_GV]@22]JF"KXE";@S: M_?M_-L?^.NF(9*B&B::._ONY,:F-ZP$FX@!$>B80QQ&Q#Y_[**IS<6FMO'_B M@?K?GSW#E.$W^&I,E,LE_(&*_B^V\1I18XN4FKB(;!#L+>[S?K;ZS/1N._ _ M-"P%[28_FD!U+_=%O;_IU^4+!"J/)/& 0+(&W_H3HXF'6/1$G'HGK"O^O(&H MK5KZ:Z"TA1P%JN" +E*#07K'-)$'9X(8,E0L=,6T"55# M7<(13@S3Q@P=C5"#O."79'Y^Q"&HKZ &P\A=[[E,W&JV<\8$E5 MW9@I9KAI(_;059'73_L8)+AMF @-8GU1@I_YY),QER([V''O-X%DNG=)AR[^ M5A7-O17K!$ M'\D#8%OWV,0T1I!< %U/9*$/+'&&2H^[A(1^4O=>&3W4"BJ>.R\HC=#4HE%@ M4 !6CS8FP'1'"7L1T5#VRL8#5M Q9"F]\>UOB V #CM5(7TD2-T>P!2TJ%;Z M"AQP;^FRUO'JQ+SO!%(56E'H-09+S'*D(>*PSU1-7-ZOQ-/_:*ZHZOO/P (J MM/W^4P49,WFK+=0W#8[Z_>>(@N\_0Y>^2\ID1^L>4!4P ZM/(6G]+R2HZ8KN M;'Z#IJY#"7 OBT<""" 1X.$?,&:*"Z ?E@.2:4 M4?]9;F]O'H9X@>02C<; AN(,C0[H4$!-$[9Z.*W)W(S=4,PGD>Z76M!+)*25UWX&.V M?4W)M1QH1$OH]#'/\F: !+0>M*44<8^1.$FYC^LK*OP.&)D7&W?]JU/9B(P36!Y'B_A0-7-#1:$5DW M;W:>I$HN)241&1SX.9J7"2SWC#R44UGI]^'(D1& "H@L5M\T-'?$JU;0;TJF MTO.T"#X7/D?=,&0'5 KIOPAM^*OC,%V*/F MI./PJ4MD'#U'M!JT;MA0C8 % M>X"C&>O&7$<#=2ST[/E0D5S%A\0TO1;P(18TKR9JA"RMMIJ+-WWT#&_RB+&? M(L !3_!&H7:J#W86Q;DAM4?HY)!YMFTHA(X;QWF5!^B[+:2WD*\NHM!=+O? M4%3[F#B90'8:.OPC6BM()<,>O=>[8"523>0(H&6',F+!+Z907CS'[<%!!6F] MK9CH=)NO 5"\D/5 &KHQX-^")O=A/L;\IL%YP-H04<#OH/Z/77=E]""E7<^$ MB#5QX%L)/MF9>/,WH0I @8 605\>HCK\K>]$,>AF77QH8I)B2HX&6T%O"$F/ MUJROI-5$V>U_XY?H.T/R-%9RB>_HKVA"]GL.'>1'-<5W$QD#>8)2SKP!:(TEMS"?J_?I4QW^>% M.Y-^WU3V%-=T741KG0W':J_@# AQ^'X MQBOO:2'%@\**1.FMW7=5"RDHA$E04_R/+7[+::+B(=0HH&)BD#"\>R8VFKEXR$6(D:O M@0<=)R'*6&IPS6VA98P/(-W^@*=&)G!=GP?45X^0X2H, F[T,*2I<[@$\-S: M''B $_T$0E. UF ^D?J.JD)@#VT8BE]X9L&UA; O9#Q5<7[OTL>-]EC^SZQ/ MT 'Y[]>9^U[>6B^-D.O=(-KZQZ]"X@J.9&A0<134';1>LK$Q?7=XKL\V,3_P MN>-W2!:)V,\W#S/>""2BH8:< %1NV"V$%][R#RTM)M!OP ^&RL2U2!:2'IW>^T9P?ST_YE[:T_(]!7OWW[O6(>_AV+UOH$K MG?X*X[5AVF7IAW6,%77KPO+T'BBU#5637 M]5E.#X)7!1K++>DY8L#_>\E7;X/^']UZNZZ /A4&]/_8@/Z)I6T5A]^0MH/Q M>'0)-U9XP+*%:K*:+B3+VW=HGV9[$N5.8P1\\#H6NQGS#\S.QT<,U2=NW18Q M1?[W3DA0B6@,ERA!C"5D@6:8N)"(10F!8OI2'\3B0!+C=Y[,>+]P[_<1UK02 M7FGE-SNQ6'U DG9[(^\4 W)):V'R9I2N53-LE6,S\ 57*QSTJP?28*"# &X:W)$'AZW&6+D>S_)1,=!J* M/3"[V;E ".3[EO%.L\47HD\M/*+"1R49!A_649#[G=.AQ MHL\7\^6!0 KX^Y9:7L^1N4Q78;E<9(E7NGF63J&66T^OT(WFTIBR#=P1NNWF M"_DR[3D-V'+KZ2V#,JHQM4.SI4&I7\1U)\/WD@*U_?0F/LA.Y%A%'VN5873> M)>*]1+8AT-LMHPK1;39S.74LUHJMZ;B#CPKQAA#=;EF==M-F)=_LLDRIPX@C MO9+3\"1LN34C49I$6E3;,<8ELUF1II&ZVGL9P)9;,P)3I:@L^(C"YD:QQG"1 M*M-&9"XPVT_GV+EELV1V.E::L^&P@D.]5P>P)?.^99ZVDP/J6A-DD)\NV6KVJ<+V4&SR4=:\W$C,4CA M7A;WN$).G=DDF<:&F\VG)J;5+J>>!E(*] M[I"3Q= 9:'7IZ85/%WN3Y[&NY#,T;+J#J7&M7.ADC(PXYFPE1V0:+/-4=YMN MR50M![)THY3F<5&($H4GHUG#EP/4=$NHK*)6F:A#3649,$O%6,DF:<2"'1)@ M+0:#S'@B9EFGNIBG,TP[IO%)@=@A C%]215Z:J*&<^E&O$U&XZ/T$VRZ0P8R MD6>=TH:-)#[5S*;0[C52V6(#-=V:%E?*=^M4%4_CHBW7DSQO]V5NCIIN38M< MQ@K+:@VG625>;=32&:7-=.8"N4.RLO6QEE:,FHHS4T[FS7A$+#>@2=DA650+ MSSMD4:J/0:'7Z\J-U VW2%9=E&L#]++N86G&T(DE:^FZ$H3-MTA6;6Q@A-+ MM5_FG8GX4FQJ0J.0ATUW2!8Q3J7FC7[7&2O+R"013=3F9AN:WQTRL*06(RY9 MK"58L1LIU34QN00&I, .&6CT)4I^PND)SRSMI!K1.U62@P/8(0-/;2J9 /9+ MDF^3\Z&5)5^RF<5I H'9P:YR>3=OU5I5@'W^M!9&2G3?L(9 MKCPT16&4R2U@K[OL0*N4'%5P7&"7!/W\4C*G+W,)]KJ+6T2%[DWG.8YUC E@ MGU)YNY*#Q-K!+3L^E^0DGNZS$6"3#IM<#",";+J#6\68/%6K1?YYK%"U],@$ MU4G.:*"F6QK+:G6\DJ9B'=R9CN1.K4N8U+/;=*6QWJ[':C7J+AW12E05)Q9X M7+W8A%9H\>8OW! RE[RESVKE[:X41<KR,/#'4HE7ACN;'1OP'[[*O&? 7M5^\C"%E\):4;D6LUS8=$R(A@,((@0D8$ M@1'$;\ZDA)P(;=.?Q@CJX-&ZD!'GLTV'#XF&G/@<)[Y8C&R#);^%LN>)"&^1 M9O6@-/Q1SU1@QWF@S@":&GJ(J%N1K2?%/T')DUKV;],L_EYVO/CW]M\WDX%K M*C3#?^_(NZ].C'P@F-4^WVJODY@L,'?S%UOM()YXYM_9/DA:'F&,_GJCX-IX M?7!^^P7AW6R/( S4 T7>I#!\W&R>R49NR\">/6/%AN.3MC>@[G[]Y:9W& XT MC;)UCX&%!"8V2C7%K"%*TY)%6_S[BDS@A_WG%ZQ^:"CO?A4='?CW#N+^]BK* MTK\6J_DI\?C F=]3R\O5V])5^K8O,\2KS%#',*Z;RQ'+&!; MCT?5C4M/> =^_$[D[]+3.5-9E.U VP4F?KA4RM[E02BMZUC0I:=S$6E-7(^T M!@Z@;[,P[9WE<\\QK%(-KPTR'=D'W+X*G:/:UP6L^[4*W>&P_JT(W3GJ*I[/ M2%_4]:Y3VAG/AHO6T#WB(J$7Z)#/3%1?,\=O #==0& #L1SXGUL%^!CU$'US M+ /[1UF@XU994_0J\3BZ8C?1Z1,>OD 9_KHLFK+ K$F_NKI"74^@*#,O10/$B0GQI#;EJ<3/!<>5)W,HHC.?G&'28# M2=%$U?KW+D+=8=XM3O_>*0O[47D_;3S9CDLZ;6G07):]%H4V34I8Z[=Q,R(LJZGXX.QJG#%FO0@7[>?YTC*MO\SR1;QI(35F[GY1!'Y/4,0! M-0[ZLO =O."&AFE'T'%A3-%GP+*UHV*+FS=!X9KR=DS1R0"%JV0MJ&.%5Q7; MA1^ZB]&BS3S7>86VIGQ"CJ>$G3P8=;E^%P'7X9174+/)#7 MN")_]^M=SR*2:0 0?/175YM"!6V-45%5C[E5Y M0H5S9,/IV7U'Q41)@G/TBH7^SW79N.1J2EG#S/CS2?K3::Y)X$>DWQN_*H1D M JDJ=&U,)'@\;4WR+#7MXLM\\NY7XC[*;%L^-R9R&AJ=#I)^GT@IJJ-%N]Q" M9--F#2^_$&JDVG>)1-/D#B*YHH3R*# *]VH M>6PIW&J^">"X;1NJP-YC'M!9XA>K:HA%D\6YE\YS+6W.*E0=':>' )*(Q^YC MS*&5:ZCJ5QF "O?I;R-<]4E=K_5LL\;S>8,5&;9=, 8U&M M[R&16U7G1*C.)X4>7]-G B\7\KHXJ^/M]LNH,$])8#!%^@P1"!&]3U#XT0'( MI;%VR[!%]520X]*3^U-C)4<''G_BNNAT(9#?6*%R22[W\9>9,6;FE%U;UFB) MRL^%!$(5T6CB/AJ-AS&/6XMY'!U<_(DJ>\)0QN]6 NFFC0\7S^GQLI6II)JM M=E=LH1*=$#E$*>H>Q[>W,JXG=N'&*[QK..[=*_.\"VE0ZNX$;?V[NX#ARB:P M&3;'Q@.W;TE.&&CP]*B.M BN2]B5#E7!+KO2C)+C::M#/>$.GFG)NO!DS4I) M5- 7@@&&OH^2)]S_N'E%/'L&S;&]_.TKXBE#!)_21#N:D%]B,;."@V2G7Z(D MG.!: Z2)R,7'[W'R]H(#->^^6WV J4!$-_(@&8@8_8A[0:0+B8[K^B\]X3\U M8! F5]P$N%CK:QFI:Q/-KM;G+>"N7G;8M'YI%,?M6NP)C\RR>%%FA4Y?GJ,[ M !"Z8.Z):#2,--Q:I"',KK@-_/)999^.F&Z,(X8-'A"+TGA>S>KXV+WP P(8 M!K^G8\<',&<5[)QAR.BBRW#]$P8B;L9^G PKK+1EAZ406X-,5"D0Y3'IE ?: M/#*3!;+AFK*[7S1%W-.)$Q[[O7FM"Z,.@=>ZTWGM VIGQ^0*27#)-I^.V55A M.68C@IU$8V&0VC'W.'YHX^\Z0PP%'7)HH* [:\* PNT$%,(,A"#[_E>E\_8U MJ\!F%Y+J("(>,%!.L>I$RN/*C->8)E[66[6BK+B7^Z'3&&3TGCX8 PU5^2KC M!6%F0J !Q1=UF1V,HR,[)4NLLY06+V/ QS-L$NDRRG6D\?MXG+KN<$ &](%I M AFSQ45XEB*,#-R:23D9.E@I3D&7# VTQ,7:L.PJ+23E[:<900[&[273S.3; M[#.#, 'ME@BC[F.GK!!V\VH8A@H"KX:G\^R?TD,MVHM.HC\.76/'SR+=)VQ _=,!P9G% G/+YPZ>G#IPTKGCBY<>KZ7-VRGRU)X M/8I5-71I;TYUO%*KM*DR5>=S3%.B4TYCFC,AM'"KCQ+W,?*$IRO_1,W?$VRX MM":<.QAQZ?E>7O-/F+/P0=7GQ"@NSYP7BN6H_#B5$I>S\6>*"@=J)2^<57!(>N2BPKHJO,BE](BK,- M:3R$WP'3^B^&3K9 /;^IBQ0#%!JYV@50\!(K+L38/U6@@Y!>$!Y'^#8EKF#! MN[JW47UU5"&(#C?C@ZU7H5P&;'?Z3[R XOR.(4AW17H73DS$I7O;1 CVKGSU M$EX0&=0(J5^JN^YIVOY"5TZ;'EH@DW3XI>!,AZRC4)%R0R#NT<(;(0,;)?VHWE:BY:=4IE6N\CF>ZFLUV9)ZSW.DMRAJ2MXGJ&LN M4/<.-4"JF YX+:X?0OIPJ7DSQN24& !IS<9>PGYS@@OY2+,VZJM\FXK.V0Y- MB K;@,-RCXC3]P05IGU?T<(Z3/L.E$O_L!I:1H^:37)#GIU:ACFE.;(R G.D MAHRKAN2.:P9O*3SPOD#=1GCY?E74/EQ]7'G0("Q.=Q/PXFV]JI5Y6^XW;@+7 M&QIZIEK&E7Y>EWNCTJ2A08Q!^*$&@CAA9M8?*/2!"#6$V\&W@6(^K>T&R&C) M1+4Z&Y=$*<;E^IT)SB:1MC/H+F"<3-Q.?,([T><>3 \WQ,,HQ2U:EI/!B):X M +\/=\:4:&8N#&(JKZ6>QKD1+N4Z.,0.;@F[^,%89ZA\87#BRI7O=&[]8]HW M'C%51JXV>^Q4BH*76+:'%\L#I'VH5OY]G#I^:9D@1256R6X3PW1Y:O2QOJ*+ MN@3\,(71@_,0T7=A2L.U1R=N.R'[VM%"UM.[CRY"$J+3;2;$2AH76Q7):I1P M.E6!BQ"WPAUY3R7"B,/-11S"^G:!1AR?U& ]I8[TB5(=\XXZC93YWC"[C V0 M!C-(@Q/4\3=$+K?[X=:_D<+4^F,>*;^A A?;Q\K_Q&H6IZUC\Z%M6JV08HMND6R2.(>YH^82F;F]?A[3/F-Z3#V^?,_T0=/G%%F@\I M<9&*-.5\327&Z7KV6:W7;Q8XCY*AI?WA<&*,%AQ3C3Q ML=5 =C+&C9XEXEQLPD? F'C&$PVDN A(4/?Q@[=N!CU&\;NLS(URO>$2)[ ) M#Q?+N;Q]ZW/N!,N#A3:3>+%/]NI] \]9U!2W@%W )0@BW )X,>:>9$X((FY= MHL,""3>DMF=/E3RHMT;.$;,:J?;YG-V+-1BJD!J@_":W"%Z,N(_>8#0B&^90 MA-&(,!H1C!R*@];)ZL[ N(:H M1'@,(S"@8.MRLHW0Y^X;RD;S]J*?RT&=X8@385I$>&U@>&W@-0&<3^G_V!)>YM&7[#.NU&1F( BU9<,:(/UWXQ9, M K_NN(67E!D&+&[AM,?E2EO]\=;J',F;.ZP3PSI^R#Z%&GYE9T$N5\_JC]?PLZ1Y[E!Q6S-[::9.V"S9CC,:TV_T M*XZKXJC4-I.XQQ/'K[5]Z95'VM TQ=8@)/-N($3L@$\$NH3N)/RK:M@ (Z)_ MARNM,%4CP*D:%V+LGRK00M-P?60==&LF7"Y;0/Y250=4 F2HKM_8E,W-5"2$V 0(DL;U1"4D(H14M"/CTCR3LQ(F( M$U\Q-MB=FLM#\(G4??J<7Y^UVR51V-;X-5WG\*849?EB7(P'S_+H7X<)/9V= M,?5F-^1)=VEMD]1N=[:C3W_!GV'X7$'3#U_40BVJ[8JWW/UN$.2>:]VF-@D8 MM4?"V]%8&V\5+#P._EARGA4&><2SDD$QFR;K(,K5R?@Q+%+R*L;6!C^>T!H/ M$>&.[L]BT:V/BHIP&(:+_ZKL.4VVIGU]\'M@4R>.TY^PB!_CCHCUS=!)C;!? M7XWL:8Q;.8LH](X\:S?US1H&W]6*"?W[8CR[7 CRN;JW M5U6OUW8TGS]0#422ERM[;5C7HGNOR*LT;445)AK?7,N9SA:^N>2WCUVK-OU1H=MD MN;W?=MT-]S&DB.3"U.H\-#(DA+ M\C6,DQN,5C_,I+04[XW&.4AZ=42,XCH^4WN2)D=H>=Z;/X M&E*\R4C9\SCC=CJ83RUW1T>P>T-ILI$#;V)]^@NM[FA?V5(-39>LJH3+[FHY M>6CF_WIGNB]7P?(!/4T0/+L>#[O8._]Y6Z;N&4CXF7/=\ QMR;='CK.ECAMU M@.TYTL@WS_*X;I2XP_%J[ R42X/@V;L(GEU.M5]UN_^9;BMC<^(V?&8#F\<1 M$T[G*-_72MTN3N-\6K%O('(V-A/-]DVC9FJ1G[\*=)Q>;\#L'=7,WGH<[$%M M^'NM874]]5*WJ"MKF"M;M\]UKPOSEN^T,&?KI &SXU;QT59$5L7* [E1!+LC MD0OFV-Z]/H)SLJY>'R^WH_\MA3P$NXZW:TWKRH'<:#AG1U@#*A6R2(HQ]!U# MO[^CMA]QIA:<;AD-O# RUZ8?VSNSY@9Q<96'F10!"[L\=JPX1A,VP#X7]N>>D MLCMW?6G"S XY%);'>C-W*%X-;8((!CA:ZST?K76+@8T71 1BP20).TTXQQQO MXJU$3FD6LPI$.)T1#M]ZZ.-TV%8,NH??W]E;X*;UF[%A'G?O\Z7>G<$B&\72 MN#7.9@K78ZPY,0VZ]4%NG="G2T<0F+A#GKP5"6CPC9VM!>Y9OQVCX[=4>#)M M=9N.1,(PFD4TNJP3&UX8%2I,EIUJ%';'8._O:/+*B9YEU<=CH^/_>VESXZVG M?+7A%2S7>B-(EZ[Y-ICV/Z\86GF#N;X]Q+W&N9^L;_P6WGDNUD'GTX!7Q.8L MHKMK9"$W,Q5C3B8+6C1]G\D> Q2X=$SEG:# ;\53/B0*O,K9H+\+ ZHY][]H M;J8=X@=G@_F,/?B87[YB;,&%&@)_QHC_K3WZ7'"CPDI/VT./&/9=F\+]/WOX MKH35KU\&<=GA\24R7:VH&2^>_MUSRW5)@O +BGPNM-K+_WH_,1SY3!$76JE' ML%_\][ ^Q0NTVCHJX/H?LLB=E?Y5[504<%OEIKD#_ M7)6_BJGV.Z+Z/:O/<5 K\5M=,A1%+V%#I6&447$=1U1F:1 JN2(UC3(TG=&U M3Z>WO@H*_F?YW5ONV;+,]Z#\EXURHY\4SSW4VOEW11W$W0DB.[Z>H]WRQ)S3 MY#AQT. '$M_(/TABK]-@9;XAR?G//C^0);$I#ODQ*W=>='Z583\UX5)P$/2K MX'P=<>WQD&O?QEP3F[7[4><$-7904/:'8[Z=_[/.A*]U!OG?^=H_E0&K-#KY M/_[7(X:HM$9@U&I)JZB6VQ XKFNJAIBP"M.ZB2]QVC26Y#TWM*]AC96.: ./ MSI34P=-Q?346*7FDYO;'CY38;+*.2&I'.-LZ-UTZC-QKV=5B .4[0]&DN*I:(J_",EU.^I BP:BK.=*;-XI5%#:)[EE)6WMTG):VV4 M5<*WUONXJ\9U9@FQ.27Q(R7.+3.'V,UM1U+7R@Z?'KJY^9-35L:Y45$Y;66# M";\EQUM%%2A6(PM*!/F1E($ZE+!I%H-2J]37&+E9E!U2G6W>^R*H\8. MMG.2Q?*XM+>AE5-6IF300H-+9\TYK/4L:3>--KUQ4E!6IM2'66]/QY;%FUN6 MU7"B@XWY@K(R)82C!%W=(2QO1YUF9QS7>PVW&&=U2E)_V=O)BP'M;)D&;2X= M:T9U+16O3@EW9 .GH/%>V:X6:PE#VG#+SE3BS.19U[75E=>.X8*FGB<(JVWV;)E-@/?ME2J2KD4X@W9CD3::4TE/Y%X@SODE'25 MTEFUQ61:3S+86W1WHX#I="9&IC)5RE$XW^T:4VD)F][!FD>4Y;-\+LMPE732 M9EPIH,(.G$[]3):YK*[#N8(@5=*6'&40*:**(FY[ZX-BD2NE917V?(4TT;?H M9L@/1?A [&AVBCN=UC)_ZAF!.J;X0A6D9,H?V):DK>1.--GF3SVS4!83<*O# MH#_C.=17ZW!7#)EY25H5O@8]/Q '%H9MM!E%!KG7PC5;D%:DCQW:K9Z0'#1E MZP=U@\MBLCX9%:05\1ONZWN2<#+5F7;4N&6.W.E<+$FK\M<8BDL5@1+(X;J! MQDCX=F@E^0C.B%7N6>[(+K]@G70$$T:PF;>Q?&&1,W(%;_;VK._9'$_.:(K> M,4?$RG$B)ZVP0.CN:<7A5I#"\?( 7<8&(:NC@K3"@B&Y@Z;K<-UU6@J[Y]F% MUDJ=\JE54''X8V/7EE8.6A_!VZW9IF2Q)*VR(*9"*?+T(>D0[1U%+X@"VL5:^7^C\'%)*TLJ\ MEJ%KVEV-G?."C;+0F#06C;@DKG-M9MKM?D;%< ^QFEA?$VU#OX?-LQ#U/,6&\:'2[71/2,TC)+%]Z,.%)V M['#=G/75=-0U1BIZ1FDM;)Q;6N@Q@NTCU-C7C8X\[96DE378T<.4.>YB51%< MV]R'_56 P59!6ED#1O-8C%0SFT]A(YI)C.])5OG4ZL::&2PVW_4,92JLQ_K1 MW^"JPA:DU36 ,VJS7.RH'6>%"GA-IMF=! M7$E:X9:'X?YTCUESV)S1DBU$]5CKEJ15B845+B,._@X6NYWPD$YR76^P!6D5 MC&2L%;)= 5526I8PM.4:JXE5D'[E5AF6^.I1G4)/N3?E:F%L?GGX\-@&+!R0 M>^>C,,/UD_G^X#V6WHZ6)L'#%R=7I_SF.X_H4?3JGJ;J<";1P\#N7XB<3.C? M2Q\1^&<&?RKQ^\BW>/3\('_FR@VR!S_ZX>]0$;S[&:I^"]C?:\W:_H9L[ZH?7C54]8#M_CROY^(3W]S M^BCR^6T[7N@_+/:0UY%IUOKY+]9QC?<-TR@/ESQ5>V#PW4/_S/+]"4N%&Z\O M/?!G&+]I\9'L_3.%Y^HPE?X-D2D+R8H3CVV]*C:?_OJG[=>2=9#&FF_$=S5S MKYMA4@O-Z'1J:\W0$NU?-X2Y%9:<%K+Z\[P^H']7'YC/#'K3ZE#TC+P85C[M MW5Q [I^:V<\E8/D35/P3*7C;/O 7D +L5G;,*Y8"F+EU*0!8\ )2<-OV=14+ M_IX!]-9M>&-S9_JI^6*0]M;S>9/FXO/S?NLC!5Z\J_!45W"%,WW+GL)&&FG% MC/B][J8%?]DX-O/_&:\V'8'$.)J].82"$%>Y4RO"2&PQPB!J?Q6&YA39[B%!;)O[=*- M(=EA]L8(@2!'-L"[SD:9MC.YWJ(%+$I9]70;)(;=46>N6@J97@1#(61MB(7-$T+\8$.P M,L7@;03;*6*HLX:*-40:_Y/#\E_$RY!MGU;G;5>Q79'T)M&TMX$+A$#0XM8K M\@[#Z)<[S^V5DO1_XWY(+HC+L_*C$U=K_S0+_I5GZ>??&F88Y:M0KFYY]IOF M!?DLCZ3HV2 M=PA\0>,&Z.3M3_)7?0[O3WDO&]5XEO*.MUG25M)LP)MV,DSE9G^L8:Q:7E5= M*"_SU'EJ8$/]DVZ%:]Y0?U7@_XYT\E7B",_2R>,TWKO-:#=Q;!W>+7>3B:NW MBM-PF$]_$>@=A5XPX_#^=?)FC=Q?5;:_/YV\K.?^+)WDZ^LQU?)&N&/J"<]& M!YIM"J-B0\\== *^0YX\?_@VZQV&46"D>I+S=Y=[TF%QSB?(6[Q\5/(VT>BG M!0X? J!>J8 A-K5(7^?HU/BF@OP^+,[D/7:.ADF097AO^OQ6[OH'5_Q+UR4\3_$3DEOW IZQ'&C?/ZP(;C>0:2M7 M_-R)QY [!K^@$__Q%."G!0BWN9'_M,K@0^CS*U41/$^?AWS#G_1B1G/2_G0K M381Q5W5&N3XSG_ZBR#L4!B6'[VXC?^$PP0?7YTOG_)^GSPC6U8_AVHS@5C09 MPTL42?5=<6AU$3P@X3N<>.F10WBA3)>?V^!*(6 MIV$81"\7._@0>'2;X ,2\2\; I!,URV*AWRC_Z!;/X>9OK[9SOF&N73$<=!V M\.W$,:"6.%*BGGFUF@H M.K(=?!57_%DZ&7;''0%C9)1'/4;;A-U$9CTK'USN MA]/H'8418$.]G0T5).*OU)U^ED[NY@BS\P)[ Z=KW?'C.>O'#)L/KDS$4W2=\.S?3M.HO+T01#&!V$_D(]_)6?\7@USG&*_4\*? M@Q5T#/HK.5G!\&$7MQMK*(C=)%.ILC0>NX-)D)%_=QH-,O+OT)5_ONIOB>46 M:\9\'3X8!PQF.AK5@ O5+TX%8.XHXD*^PX?=S$%._KUH]*L$ IZOT9RE412K M[@<.M.)ZJ,\M$FA77!/+?/H+)^Z02U79@,W\?6@TR,I?-HSP?(U.J5C;M@V= MXE,RIB=RB]!YM]#H(I: ,7?,!8KZ7U5\&T\US(/TP;.0Z)K.#GGIJ $X+>25 M0@B/%;( JD?J> :?-JDPFHD[;NYLV;#MUO>6I!O%=?/%V8/('0Q?Z&"Q#Y-_ M>&O!OX[ =#^5XHB/$_[M>9L)&'I:JR(CK(/NH(=8O HUW[RTU_,'4E=*';X M,79TXNWE_J*A Z#3KQ1'>)Y.TVL,)>'V0>%-(FAVD36#N11:4\;[;:4Q^9*7801$/J.)-Y9 M2<+#.M?(\OD=7P\\L[:* J\6A.9IH6*0S0"Q3U":\$IQ!?&D=KYUTL5>$,=G M@&K$I^NV3< +WJ9M._:QB5:7%06X'[=4ZXR(JH46,[D64W?,I;08[,7O0XM!-<%E0P"_I\6[6=04DSZS@ ].SY0M M+1H>T<*B+L_M9^YH_/:.[?].9#O%78]FG-3,4Q4%2#&\__XFT,3_LL[Y@PX] M<> /QLRB_M;3'2'K:4I X;@Y954$/C4*@+[]&U)#T+=_ZV[XK_45G4.C/3/' M>HX'$[V8QC8&UQP5^EHK_6\?-;\K:?[!*(5&/;/F_;52X4=!'[P M??COYYB&'608MSN^S4M=CNVYQ&0W3#(504K7_0XFJW'\E[F2$@3RKTHKKB(& M<(5\>6.TN'#"_KEH$;8:A-A#]8&SS1B>3<-IDQY8!5H4@8,[_$Q1_\M=8/LA MT>)\\OZMM>*5D_MO/=VW H'7R?<_%P2&TR#N[<4=J@ATQ :)&'"V/"I H A; MW&'8I4 F Q7I157$?^X0KZ\,5I7 3(=E7JCQX MJ%UJ1H''Y>.P_33GI_BU2Z=>*MJ)3B[4C-\GD99O +:O18=.8GIQ#E;%#**@ M/*7U([B%M.-ED.4V5_ 7I'T^#BXAO2:E#(>FH@J@JJ,=[> MFWF-8$:.?/>QTKKIFRO['+KI4=;J-J;1#A92":%1BTV3K:4B6!&((.YP&%R[ M\.&0 )1D7"5DO$8 Y'<@0Q4QEFX<>$XQ5SRFPZW1;C[/"L@@BYPLC(%#%4!= MQD>JRWB709/?08+Q$"7:_=D0X5LM+IUX4WHDJZ7QP'SZB[I#Z O&.SXD$ERG M:H#BC.N'C->(R/P.9+2"N>0W<--02%RF)F.RPPJ=$C**: IS1SQY-H]>1K-D1X) M^;NX&2Q.MXYCC>.]1HQ4!"_B'M0=3H'[(H .__H*B ^NPY<-2?Q*AS=2)$#X M >*5Z7JX& UI@IP6@0B\K*) [VCL0H>T?HR-N'+OPWM0XG-W/GQ4)7Z5:,*O ME)@99]*&LYB,MSDZAJ65*A(T6R@QEM9T>;@C<0UWCWP1L)P(<%UWAP_I\P MXL9RAW4MMG40K;S:[I"7RPK>4)BB8>]LPRR#%*7#&ZM4RR1'!: M3]H&,GKAS!_ZC%#%@U<^-".I&&*I1U]#%O#7D,5L.H"[YI2:*)+FK=/%*M%0 M@U41LD@ PI_!??$?4!EOJZ/Z993QV2F\2RCC/NE%+$V/MOP6AM21IM 6SH\* M921+97SJ9ABP,UY9-_3+I>D^CC+^W53<)911CDA.:[:=(R\0]F8R"E>Z)66% M,C*E,E[PYM/WKXRWN#/>7/_RRRCCLU-JEU!&%B=CM:,O#47LUPG"Z+0Q*2B5 MLF>KF#Q'P?7FE%;[O=12$>KR+O1;RS/0X_>5(?P OO?/]9@ZR((Q?<%2VH^LQV_AMO]3TK M]^.+^?RO*K13LUAMTX"T?&2:9>9KXGE!H;Z![M2"-(F+:NAB#"#*?[6!Q?=S MD/D;5E,!L;QFL7S;=/ ;%JV^?[$$)T3?F%@"M+QVL7S;%.'K5X9>4YKL98M% MW]JI_:C._+MN/OO;';'W_GRWJ4T"1NV1\'8TUL9;!0N/@Y?.DSVK*?;!C65/ M7NP@]99F)*Y*YSX6OWFQWZ?VOS7-]KNV[AA+M>O8#K8,.GAFIQ&K(DQY!Q"% MW)$HB-B].R4''7EOA0:7/:SF3]%@G62F0W)CG+=[V_8$%32BO1T5:%!>"43> M$?B%#L+XL%O^%>3AWJ2MZ^:S=G^$!J]RZLV?H@&%\"'GC1"+1Y-)-T/=L$\7 M5PDQY:DXN6V DQ?*R@/;X"/-^SWD_EX"#2Y[?,Z?HD'F)N.CM31M9]N3)AB? M]L8);A5H4"0$"^, II]R%:X])WCAHM]WKL.W'#=\\^3?APE+W"M5!7/.W4[: MVVK310?7E=2/< :=#17?'^6#/04FB#N&?.J0;A#EOS)M!;<3O]_XPG/4&F\% M7).,2&=["*-YQS>=;FP5:EU$&"CT#G_2B ";\)7EE-\J=O!1U/HM P7/4.NN MBQ&D>)3'RF$YDH<>RQVUJ-RMRU !>4<3X 1=L%M?<_+^PWC\SU#KW6H%M5K* M).*W=6_=@P/*V8KE;EWZ_/EVC:!/=>+?8%%#_DPN\,+(7)M^;._,^[MSP*FZ MMQ[7?->%#6]8$/?6Z_I1Y1GD\-^X0/GC"$Z^O73K_J M(H-;.&\@ZO$AC].]\3LTF1[-QPC%=N!4$; =?P@9JF&I* KNT/RX&GBC>;_; MO $S&/3W[ 15]KPW&:&+T8+JD29;:""X ?,&,WH?\N3<&[^_;C[M-F^?I)#.RI4\'7%2=MY.Q D]2\G2#GW' MMT^*R=J,BI-S'N7+_NGF#/H72)N]D^@42)N!:.M[DF>0-@-I,Y V VDS .0 MR$':[*K39C]TY#6#R,P'5=/3*#)]_9!_\%(W=P%SIR.)-#]V2W>PIAF;-$X\ MTT] E/%9"AU$AAE!)^(O2+BOQ8%K&[5_P.6?&]VM[MV.-Y[;TQI<^^=-I^C* M*,!W1;/?(B7W2LO=ZZQRMO]4B_-_F _E3+"% MAZ%5R"<3"(9ZY,CO"]PQH5DUGUK1''A'GPFU_ O$.P$8W+MB'QL,+ILM?'TP MT+3$'_KB?*),^\EBK2TC?R%D!1B0G_["J.H1)2\#!1_#+B#>7ETNZL5^4"AX ME:SEZT.!S-CK9=8;VPZ$K/FUL]Z-ILBH@ +FTU_D'7ZF$@'8!< N>/#LKQ<, MWEDR]6+(4 $$?[&G;=N?\%)G(?M]_K@\MDM *+*R-$*^NY2L'"2:^T-*]H4+ MC]]ZBE<4\?P>,K <,HP@7;KFV^#A12\X??.I7@4\ODI Y0PR/H%Q]M#15+9M M#'@IE>*$'65K.;)4E"B"(<0=25ZP]@M P?7HQX4*J:]QJM<$!9<-ISP/"KP# MW:)\O==QQ*F\MT<#)ILA60$%IU)LG$3!\F/N/)'1(,(=])66M4( &3^SUW"'/!PQ,_)!!#)\X# WW;IXZSN=QW;W\J]U:&Y5U&V (+[NG3ZR=Z0,@CR?XF66W=7 MHZLO+C"ZF:]E]&/E"8)^%1C)-&N:7@15-/^0BVYM$"1F? H_)D$N/EIJY IC MU+C SX<=GSZ5"J 57S=M7_-U6W-KN6PE9A&TBC^_X%Q>CJ6&'8>N=BBDP?SW M\\;DVKX)K_=U3RU5)@O +FKL( MA4CD?[V?%D9>:)%^T.*'I2E>H-7648'7_Y!%[JQ(%I]ST<^!V#T]-CL-]OZK M3W_)!1#6@E6AWDFAQ5\E5/L=*?V>R^?8IY6XK5(T0Y+P4E-AW815'#5QE4:6 MAKK2#-3 EBMLJ<&?3F^]/!H6XUI^]Y9[MBP#U\A_V2B=_TGQW$.MG7]7W#!^ M=T+'?'_*@6YY8LYIC7&VL#4JI%U_VY>#Z5Q6A'860-!TCV[(W/\_0ZK+39X1_'0% MV_XT6\Y&1R+A+14[0]JDQ#:ZMP^Z(L31>-QI'Y4^FJFG',KWI*T-WO>.JH;R MW(+AW-& @:+7]WZG#XQJZSO-!RG$3NLINFS>:4U(^4*!;NI\U^..&% MR=YI._QZC7J62IR95,<8=/WID=%ANX$?Q\(PF?6')2GQ(ZG#)_C4/QXR^("Y M]!1:T49++-Y?G?^078:=01CRL*CL'8.:6G%T*"=5F3\MX:Z^7> 3>.N)/+SV M1"**K-S"A'^D/)++\8%JPJQBV_0JD_NF7R?8G+(R*7LTQ>NNU!+XK2=!:W?: MDX1I\4S\1\J=,5Z+BW5PY,5MVHF,[91J+T8Y986G\&K#[0]62#D<%:_1.HG[ MH9[EE$SE[29F'3V[5X=%%U_;PF"_#=CB[57N'QDX;O!N=^.T5LEX8<0MU.T4 MKZ]RWXO]3IIMW(G2FF+S9K =4SA3O+_*_;:"M+(6L1GPMA]" YHZ-J)Q,8 J M]\6V.6.TN6_#FL*A[<0ZFA(\4JDJ][OK7D-T^;H#3[D1ZU"8N%\OV)RRPM/C M3O;-_7[8=\B%U,U\8A(J>/',"J=$OM^E5G$JP$*?/&&4Y9953C6X] MWQKT&E2C+3**6/"X#T+ M<4E'BC+91H*PHV(%:953DK*%]U2TQQ5S36R@1))#PQ-RW*F9-_**2N3TCUZ2W7]MN8<#"J&X3W:F&6CG+(R)U^&*94;KEO*=KCH MAW*P]N=[-J>LR.G VMN:DWH8;S>T ^>D8W%^*,:)5 :*BJ@W5L:8X9#B #\( M6T5=UTM2[$?2L!43D$9."1C=NL8R09!98A;O1\B*]$T9AJXW]=@A!X?%6, 2 M!9%&*E-E%*JRKJ80NL2C@0(GOE67QSF@,E5&M=O);#H;1EUX.HK%3CMH!%B< MY9051JG,&&5LMWG@R;Z43B?'J=:T"LKJG/JJP6U#/+%YSV17G"5L/!4I22MS M2O,MJ=&D)VS.*;P7D_TH72O%2)&*3-,TFTJ33K9TO(F-Z:.%1TIIEG._.O^! MJQZEK.4<%72_:\V.R%-=A-,#7.32(%5 MD%9G-H@'6;NQDF#E,$JFX21HTSXQ*FDK,^,;@B5RJ-U7Q!VR1$=V9I%..83J MS*2E,3KP9M*%18_VA#TC"&2W' -:$7)EXWBPND@@Y= DMXI!+UN[?OY7;3:<-\1QQJ2XM,=TRZ&BU551_4[.Z'))&0^LR.=VRPIUMF5I!6IH3-O M$=JQ:RJV"6UAKH^+<,6ICD(;8TRUIW!:#[-6PQI"*&85I-7MD^Y2]G"+6HX' MR>)PH]!+ER])*P+F]N/E+AMN6)B#VT9C@:VU4:LDK0J8)YH=K@5K&)_CV"'E M>U/-L4^T%60^:B,.)E:2KX@;041(%FXZ:,F#*F\3>TZ,+7@@\%)SC$V:V6QX MF.?/):K\PL;=_9CFYO3@V:AD&25M>808_UA4\H5TJ)X">FL9PNT?&J% MM;U42)9ZI^_P7 85-)X#YMS*F;+++(Y/;;'^UKF#P;#=F"M,(OC^HAZ^-RUG:@@)H*L^EJZQ9X2U7YQJ(OV8"AC M>%NRZDMNFQ6D%2:XE$_9<1M?\-Z @FU2# M+31Y4))6A(;>9A1^)+IC9SMK6E2F?CJ+$JZ-< >+T&7ZUUTFT%;N1#J/V95[ MA0EVOT40.V:W5DQ27@[4H*Y#V]-=CF<009_L,7HM.<(P7<3C4>HFO7*P5288 M1HKWU;72<=#YSJ6I?.]/I1-MA0E:8#,V2AM&CJ&H?G!F[OA@9,7=$I4A2)Z\ M33=B():35A14O M;M1.I-KI,NJP!6EE9O7MJM^.9S,$MO?U^69,3%OKC5605F<&N10\U;(H<@1T M !%T* _Y53F"ZLQ\8=4:##7$A@\&W&EI'#L\R*?G5F:&NE+S$++N !:5"&H? M)HDZM$O:ZGX^)"1_K3K; R\X&+3S)*;1X,KCRRK#;;;[!R)K'VPXG>\#EA"\ MR30<%:25I[(!EJ KC9[PX@B"T$$_QMUU5I!6_8'5B,+])C+BM[*N=6:[!&]/ M2M(JB%I48T]C[&8$FSM\(66#I0BAY0BJ#.LF*M$?G+$RXF= M$05.8BUUKZ\5=-Y:K^'.E*K/\N>>L>PV32LELVZJP[8=',5=R-F.GA6DU8"< M*IF%=3526F:CTSRJ%EDXI>@9RZZ%MC$K3?LR;(\FG7:[O?"CTU.K$]L.%>M( M'84CCQXM)]D@SA'/T0X]9]G96Q71G6B\Y]-.AW>FTF0W"*DJ&D; .)<)3 M>C2AXP#-F'E)6F$"Q4W=9#F>('!K%^AT8[7LFKUR !4MRUI+"0I]L>]P>W^C M'XWN82F?:LNKRANL6S@_]@PGQ:!N6)=3$Z/*'K6J@#&4L=E2DR;F2(+.>8F? MSA7A]-SJSMM$%UHK;?&P9B5\8]^?&Z%49GFO>&W/8P4P[]F5-OT,W.A"XK MV:H1JMYP5=^1@]B"2=T8YOZA<8"3LM:E&J*BVLER[3%(SLLGUIE&#XSJ$0X[N;PH;-D-KM&%N+8B;9J-[?K M4.*-HKTCB2PKA%UTOMI9)6V%80=J!B&S(SF S10>>Y.FQL_'Y7.K#(,.W;TY M#CR21]7NG-<1-TY6^7//V'8')1C$&=9O*BV$GUF8.]XUK9*T,C,,WX\:V4H( MG"V]3EQ8EF*CD-LSMMW>P/4XAF0:]G2$;PY,81ZR64%:T0':+# :UFQ&+Q];U4AJ%B4$QMN"@PH>/W>V M\HJG3[059*07BM-7]L16T0JL2YR-1@]S)IRQ[:)U+PH:,]]2),2PANU9<.QW MLH*T&MO:R) R:QJYP=;=3>JQ^4 MSCB1]TC%@S65YF8B:5C=IE44Q%28 #?$OKE-+<21G*FE\W,M"DFVK)WYD318 M41&%<.N#(IG]@Z-EK?2@E:05)F2!O%MH0WBO>/(T'+IC/(+XDK0B-)9F4)QB MC7<.%^EDWV(%3)%+TJK06#(R=$(X5?ATUB0FPX +6D8YKS.>85@?X&2&SGC2 MGW;=+)QKTBPK:2O\FH^[AJ"[E@$+]593A/S]T:_GSSUC!@[CL4N'D3V&I>V^ M;C*MWBK-\0,[8P:B?6HRGLCQD1?T#-]9"[*7Y#XO=LX,=&?0)&I&(TTYM/=& M6R*7PIPO1U"=&:4%Y'S0/:X5<7D\K$,5$5*7+6DK,\M866I#05IWQ%E_V+,6 MNTXWR8=[+FHW09!VH,F\TLIU'B4%%%_Y;$%:65Y+W!ZTQ2IA>(YV#7(/64-\ M53ZUPH0^MM8';8GB>'*V[Q\8XK##%F4LE1R4;Y;1G3,8E MB^*6&ZX9M/.=]+1+S!MIWRJ6?P0Z,/_;TL.\Y!::D,IY(!W#G15IC@:T=XJ BK MOF);++VA$7$Z68[*T5:&2T"C#7G(F7#&9$P58L[$BI#R M4F8' 2?@;:U=DE992^M1S%3R#-(8+['((5=XV>1T=NW4\=;SF* FM,.@%N:V" MG3$9@Z[C+.N)!"NBO$/(Z:C;P0JA.1,,5/7 *ODMU8LB8E:86U MTV%_A"_YXU81!XV%VEW*^FR9%:05UHZF]?[1Y[:0@DXVW+%.N-0*+I]:8>U8 ML>N300^9\A[LDVRP.:0V,BI(S_B\_#S?[S9&+@I,"YOJF)'T!U9)6V'M1F75 ME;,:<,3;57$'2IE\TWRD&^1X;B_YI'UT\:X5/S9B&BR M \=)QXLIBD-2=]C,"M(*O_K! )M-/&&I3/L=%7:LKLD&Y5,K_*J;:VH;86T% M)@FI-T]3)"'QDK0ZL>T$CG0CZ@T4+M9VO1UAI/-"OLX% ^GMT4JYK;6 34*3 M9)N5UKFJE[15 $M59+\QAC/8XUO',.J@]:&1/_>,P3B;NYS(M>LSIT75,YH: M16TM90O2*A/J(\?D.P>>G^JMG6=/+#%HET^M^K'BKC,]$CU'X6;'O;?>4EJX M*4DK0H/+DZF)ND3N$[5"+[<"5^$VMVFP\H)M=5'_D-11_41;X=<,PN1F/?-LA^L/IC#%=YW2JCEC,#+8 M0 NI86L#FSM^=.07_';0*$DK3&#&UFPY4=8K!\8 _3O5605I@P7!)0 MI\<)(UX*F#8N!/-^QF4%:94)LU%WK,C*#(5;X[HI*J1H36;E"*I,4"PO:]C- MWH;G=!G5IZF]P95R"%4F3#2AUUAU!YS#C:G)UB"C5AVS\@WV3(83P_;*=CWN M.EY'X>J9A0U18E205F;6J"]=JF>T%9Z$S)9+C@X]=E0^]4SNY8@;/0D.74<, M=C8IZX.A5C_15L.7:X#6G+\F38++CIR5I97D;S6"><'MH"I/=&3WHR#9R M;&0%:84)4(PM9K;O+$W81NAP(LN"JMDE%ZI[_[C1QLA>3,T5.Q;6ARW$0#TXISUC72J- M8'/4,&;GH/VL-_%2^! 1;$%:>>H:8>3]U![A"@1-)E/!A_H[)BM(*^L0\JON MCL8R@I<\NBX&%(VK$W\W8[E%]WAQ"II*TQ8Z*.1M5KW MVKP6PRFO0.,5EY:T529D*,Q3.U(A81M;R$V7YHS)/&?"&2LPY^:8J@N9ID@1 M/>A:'[."M/)4@4IH?3,5$MXV6'NJMU?P'B^?6F%"WXN$T;K9V<-I:\?& M3)\ZFFKYU(HP$O-FV^3KL:J8 XGNN3N]P\?E4ZO"Z#NCA6$?]@=':@RHE:;M MT:AGE;35.A4B%&?'F;QRIE@?$W(7IHEMRR%4>=OJC9KN>',4'8YB&@&I*_W> M+A_#&8-Q-C/=\6PV9Y1IV-@V,&*$8OF&GI-6*[KF];DMF"BMM"92&CF#77=W M>FIE +HM>[PD#[J\!%N:;\*Q'O+E4ZLAH'YFYM9?B.QA*"/=C0.G1#WW= K: MRCJ(U QR"2@B>!-#X8F+3NP1>WIN)02$S">!I$Z66QBUH?&:#,C49\OA?@T! ME4T?7PO63^T]>N"Z6AB;7QX^/*ZS+2JZ[ZN[BU)G_50B_5"<7Q:3:VD2/'QQ M*B4OO_FNX/Q1B] ]3;6>/XD>!G;_0N14IOQ[1W7@U&<&?>K GD?UVX^>'^3/ M7+E!]M"F\/!WJ.B/^G(JS\]R/OVR,/Z^3Z%\\0.IMHR#XE[VUZB)AS_#Q+>J M^/.=&X+D!?P+J =7D6CH%UN<)U M ?IRG>L"]OWK7!>@+V!=P+J ??_6UP7H"U@7L"X QVY]78"^7.VZ$&!=KF]= MB/(D(K NU[8N0%_ NH!U 3AVZ^L"].5:UX6FP;II MIY,S+R(E?ULF3M<)57^^D(#\*@/RC@3D][,1KYEZN#%5 78<"&L!.7H_/+HI ME@!7^UK$YK9Y!" :R!'@$<#L:^$1D*-KX=%-L02HUK6(S0)CT*J3D M6GCTP3(/8K(V(Y!S>#\YAYNT9D F F0B@%T'PEQ CCX@CVZ*)<#UOA:QN6T> M 8@&<@1X!##[6G@$Y.A:>'13+ &J=2UB<_,\ ID($#R]"BFY%AY]L$P$%WAA M9*Y-/[9W)LA(@(P$R$B C,0M2 NP[T"X"\C1>^+13;$$N.#7(C:WS2, T4". M (\ 9E\+CSZ6'/UYL(?XS%S6:7WI,R_RT14''VONRP5[/I# 7'- [*98 @+O MUR(VU\*C#Q9X_V!2? MO]BY9Y_+ L/[^3R!RPC.W]'VW1W9C') MXGV:'T./7_KSLY1?[OQD]#WY!]):B\SX5@R]*Q:GEW(2WH]HL5Z0^@D0+8!4 M *FN29P 4GUPI *R\B>A>BVT*TDP("PO%LMX/Y+":Y&?#^\%MZS+!CJ J+P9 MKTY%&"=>R=K^)C]CPV]1.#B\1#5MJNF-%N15D?/F'KIOF:G5) M-M"_"I ]->FZYFJ^;M:TN!:L:EW-3[7H4$/N:BB,XB^Z+;\N4UZLM*G@[BNV MCKR^Z#S%)/0S\2.;:O^Q]_G _6:DZ47E<2WU[61LKO[[2J4[E'&=CNF][2C%3'")'QB,!QQ5Q/ M9(+KU2=>*W^I8>JVI[GQ?S]!V*?:*H@\+?GO)WN??/%3SPB2^]]_JOF:EW/U M_@5?3KYR)XY3T\C!,E_2_)?Y VSCOY]D774&PMKL!5&;-U$>PFW&7 G]3*54 M]--?"(7<(23]G__[GFE JUY+J]Z"2[\"Y/]YL>:7=X,6BM10L;FL;;<2P_"2 MSCE*E#2/3=*Z,:AXE%X[C>0,8/BK >PJ4-MQ1 =;==:C1)QOV1PPB!(P %B M+?C&MN"'NKA2_$]*=J]?"U7N-;=+VE4\K1=[T4[! OYB6_%@/W4'0>@S?*O) M87*?<#-^7FS%U*>_4!0H%MB%W_\N7)EH[9_7M0F_'EB_ MSR'=8TB7:!!.ABA'V.26%GR<6,NX:5W6H _8/B4E/HGR:5*7J\R;QN&ST>"NP?\HGWL#'GEK-YMYW,>'O0EM1D M.S377?:RL#%I-P>*+]=#!Y4:L!S--(5L%]X*0G[Z"V'H.X:N6ATWJA -@!L MW+#/P@:ZW?%U-RW8,@RB8DALDD3V,DVTI6O*P2#PB_=%@>OF))TB%6G&R3VZ M]$@F&AKP%E*$..MWYRN[PY*OY=B,)L(X)#H'0_$2>$7&Q_IH."UAAOGT%WI' MPQ=S;0#*_.;!P>\299AK0YFW,$[BY@SU FLQ<+S5%(X@]3"HTQ=V1PZ#X>1 M0S,(%B#AD(R9@7F0RH1DD9&\@RGLCL&8)RR+J^L!^I7$-H/(S(=5T],H,GW] M4$LBS8]=K5Q2S=BD<5) _"V4&-X>A%W\S,N_H]=E;QOZ;[#BEXO'O:&^/]2T M7?\9DD!VKTQV 5I]M!4': 5D%\@ND%T@NV\10'TGLGOYF;RI[-[(.:- =F]/ M=B\?VV^D41GI41&UC+KAJARHV'T(#G_=2/]P=&QI]0ZW5FS*H%=M&_8-].]' M^L5D;4;?7>IW:FXK3AN^#WIQ]S$ON0AYG1C*^H;\+0#&?HU_#9T3KE.UY/6')3KB$/N@4L%#F% M7\+">VBC/)6>UR(S3"-]K<6F4:Q7+3:3Q"VWE:*!TO1"-SB89BW1]K7,3M9% MKN;4M@ZJO4 /QP5=3R 75\JE:V;*K10@ V4!(/HZC7 OZDO^O-/%[C1:D:@V MZLHV7,F3U A8J),]VQXT=NLOW[WD9*2P>CZJR#1R4U#Z:IZ(*_[>.,E-O>DC MT^2,M2!FN9X82CU2FZ*/#03<[V,2NB2G7N(F]N<-YA4!5 M/GS\S7W*9U"$V'+6!L9$T_6/$;8 FHGP:R"] * MK#A *X!60':![-[(.14O6S+_Y(%\]6"$ZSUR;O/3^@P*6VUTM.3^?NGKM[+5 M6 Y^\N:R"J)TKKA'OM78S"<1YXLNF='.ULV3>SHV]<#RRZ>4GNH9W]2>KV 5 M"8E,F:+S=-MR7KES412W76 M@/:9P*?D/EHMI;Z=S?[P&-7373*/$Y:G&OKRE^))<_A[E3IWY]90"X B+XY4P"( M F6Y*BY=,U-N15E ANUIMZB,Q?RN5^0-1[KK-J9#WN11NC/"M$T@9(575*3, MD#N2J9X7<\L*>&LP!?HI0#\%Z*>X:BY=,U. L@!E FI">-EIOK@?IIQG$G1DG^4"*!&)QLFUD MZXEIW-,50O%RF40 GM=>[P]RA$_D",=?M:,D8[.<%:THB,\>J=7J+A*74CRE MA>)#$Q]RRRP:%5?%%0>H8A=TAX&2@3+U*X.+-PFBO156E#;(L^NO-J M4H-/63CVSZZ54(),#;.G_)'ULDW":J95F#IEGO""QWD"^ "M23>Y]8'6 M)""[0';?B^R"MKK7E-WWT/CU<(C>?4(F,A^G;GZXC:HT'&M:88J!]J_7C1Q= M?[X75 >#ZN W9\JM5 <#90$@^OJGYM3Q $FQ MV!$5!14F]72_CM+4LTJXPGX&5\"D>MW\!< KT& $&HRNETO7S!2@+$!90#?> M.^O&>Z'VO5;[-].[@W,I%/&17KG M^_])0>G,E#$+*\)NOJ]K1MB4D$Q%:'R M"? :#DAJ $]"9= M/GOP,62?>?.97O&S"QD(A^W:^2_K&NNYNMF38N++J^^%NGKDS)@R-WI0[%H__F_ MY4W7T]T46EYCO\+KG.?'QJJX>L%#N3AKP&MLW>XKJ88J':;E+>+A'QS*5JPM_%;DYVR@D@[M[6)\OHN"KFC+F9L ZVZ7BY=,U.NL9;W M%2R4:\>9XM'K?'\VH_@TDC-HX^([AS?2">4(FD:OL>G<)C6K0)OB9#\*!4@# M]N_;VK]_WK=SG&T2S=@M/9X,!JWY2AG)LOX'?3M/[^.BN' WQPQM\RT^$VT> MV70SA"TTJV@9!(H%MO!K8LHU;N$5)KUX.\ZM(,VYG?RGS37D;MD1O+ZQ5Z:, MR^]]9[;DNJ4#<>H%1/"J_P"::P#Z /2Y+0?B%^U_1TG91":SX[5CQ$J]><]; M[OY^AO"WG(GUGMSICHTRO,?V&8K71QWD4)H\15L?S3!W&($#PP>T*ET14VZE M5>FJH.4@T'@%Z^+ M?-23KYBXN[PNZA:8;$F^/(\WS8ZRYZ3:&S7V/J:WED MT-(;(1DTX7G3[M=5V?)6"'W"**9('N/HQ4Z0 A %FE+?FUZ ?X9;O MYKF%[0W<1_6A9!Z@W$=;<< 2 'L??L7!5@]D_@/*_"NT3ETS!\"]74#F@-,K1YD):BZ\3161<@R*8/;EE7@R2EM\PL\ M>0\MPJ>.B%IDAFFDK[78-(H%^_$*2"]T@X-IUA)M7\OL9%WDPXHB(E '"#J+ MP UW;QXK H40-UF:#I0%@.CKM&>^J!?Z\QXJ)1K"$HM$BL-1RRR-N+ 7')Y? ML6?LUE^^>\G)2&'U?%21:>2VH/35/!%7_+UQDMMZTT>FR1ESK[V5&WW'%/>\ MACF30SQCEDACI")4V=X)@RZ'#[>+W127KG%;>W,?] JAZ_Y*M:\.5>7NM;;I M&AW_82QG@,K9J&[''7 K1QQ AV;D+4P4M@J@*MI!2;(*5: 9]-UCU34SY1JA M"5C<;R\7H)7H1EJ)P$UK;R\70%F L@!E 1U@[ZL#[,T]Q!?*4KZ,9V<<;;P^ M7FM=WAS%U,0=,,8^RPK/KL@X_L*SN[D>L9)?T++,*NJY1V[Z\:D_S-P7G\&5 MCJ!M JSXS;#DFCD *L8_FLP#E/MH*PY8 F#OPZ\XV.JO4N:O.>GY]*&39$/J MFAN3[S@F=H2W77>+F-S?/V7I6P%N+ <_>7-9SE%ZA=PCIW!LYI.(\T67S&AG MZ^;)K1Z;>F#YY5-*#_O<[1LKO2=G325VT,[$Y[/Q1HKVK(K0Y1&6*'&'(<3E M:CL .H&6IFMJ:0)M?$#F@A)!K>Z]$P5Z-S[0D<5!\2&!L+#J>VZ>ZR.1;+]@2FO$42!;0BP\"HC?%)8"J0"ZNBDO7S)1;41:0'7S:62KC,S_UER/XA9.3+V6X$FB3/W1F<,I[S=[&Z:93CNVS98P?_;7A M>G,-8&>SBV'9 &9&NAV;Q>F2I]\&83'9ESM1$@#GM3=+@,SA$YG#\I?B22?X M>V4QS@"*ZDFT.PWK/ SI+6VVZ6QR+]W*YWM*&I*@\!64Y7_/.8I3MI<5 M7D617Z.I"YZ5#+ &]!:!WB(@\T#F@V0Z0Q6%M8 M&Y;2AM)M1'W>@4_19?17=N"[[8XK\E<[,T[R@13IJ^*"S3_OZ8V:[Q5QTJR=@L9T4K"N)S;7(;I7Q!10HWZ[X%3:2L_!IG5_45_,C>70D1K383L3=(XAK *; MB$]_(0"9@)$ NJJN22X E][3%@:TYX-HSS4SY1J5I<*DZ[ZE\6K2I4^9?CFC M\S>=L0$;0J.)JW"TY*7Y]/]G[TN;$]>UM;_?7^'J<^Y;>U=!'P_80)]]NXK! MS#,8DGQQ&5N L;'! ].O?R69*8$DG6X(AFA7G3X)$;:TM-:C-8N3/#$]:GDI MI /BVD1R=2.IM0H344BM%1&64%$IS$0APD*$A10FWEEAXI&PW%R971!$H9S] MS72;'I[>"%#[^^JHAF,/'65"R3V&-\U28E8LMOV;T"H]=T+"&_+0]1%C#T/BF!9J-7] S3F2+ MJ*UA0A>BMI*B(E)41(J*",\3G@_[!M\8SY-"NBL7TEW=.Q7,/Y7-;TFT*XQQP6$+G L\SL66+JN@ MMFXI!:58D>*YS_7FWF"(EO %R>PEF;U$6$+"%Z$#T=]7PNX^2/9F(?*S6;0V M^LI;V=[]<3M9-4W+-68I?B+$&BNP]J":QZ$@6HQD>W_!,^RFJ'0KAQH)OKU3 MJ_(:)TE/Q("%(G%,A$M>L+D?D<:04BG,1 DC M1%W=R76C%74?UJ]DLU_/KR9B6@1T?=JN)5>3/NKVPFUN^CL%5T3'^MP0$\$K M4B1$BH3"2Z4P$X4("Q$64E%'*NI"5E%7 QZE6ZH] 20?[X(^<]O1@!,-!O]@ MIDO*M4U=H_Y%X_]"S]:$(\[N^K@>1]P"^E^70D1FPL<1!$4)1X0.16^*9 16 MB1"%48C"3"$B,T1F3GJUB,R\Y^F\+9D)1NHIE:P;+6 M.BW7Q)6>[:2D5B/9F35_.YI9 UX1.X(JIUN^TVTEE:_DQ([!-IKI5>I)K!?8 MA8SJ$(1O/^.16#QVH7P*4OM#(.@+0!"IE[M\F(7(S'LQE]N2F9LNN'OOQ#49 M.LI9O9E'1[ORR. Z\K)5&Z(3%U76O7?BWD-=W3_]9V]8 ,03<-ZF!O^85DS% M4@&EN*BNKN1;X/_]BQ'H_W)T)/@![=D__^G?=+[B38'LJP4BSU&%@ZBBV7[? M!#<.*Q\H(4FY@KH_CZZB8^)L1. NI?P3L?M]*EU;[-XBVK\OF3!] M[85?68T).]B@1X_@(0X<-YC)"=[U!H=DHM\ 000ZZ82[. M$;@AI_R=G?*OEU>U9T-W$J^(96D2+VOU2H[1U]+%3GN-+Y>8II#HT)F>\:0X MJVKXQJ#A/B2&_"R+ MS8U-$]58[/C\)\50!(,(!MV@O?%VS28C,7';'\Q*HE"S)SD_+ZF&__L^UU^R M/1ACI)8S0SU*]\K-[+ :!P_16H _W+>?25:(T )+=*#0U9==6PP_ 7_"N?"; MQI]7TBL6O)"8/XX?%T;9+15'KM+LS>D+.STD;CZ=MKRZ)@KU6$Y3,\MX:1@ MCP 5'X:+",RE/!^D5H\ SUT!3]B-KY2MZD5+-7U$E8;MH!FE/,_1^[ZG0!IV M[)IMH=@3JP8GWB[4N*=]C@J*0Z3KCAI.SU/_7[ZU\M'9S+0"$[]?DWQM<7U$W#J=-WP MM1<>,@5)ZS9'[5EI.J7SE6G#S^J^ZA?.C!TO(<-E_'R6G9BVJ$R,"OOD91]G M)H8,E,W"1!B:CS#"6]K-KV>TO,8?EZ^W#GV:%TGI__RK_FZ/)(1+R&U2GW^; M%&&*.R )05/")80D!%X)E]PP2<), 2(G1$["4@,79@I<_%) PA2$)$1."%-\ M$9*0"S9HJ7$-SZ:ZDZ(G'BEV>KZO2 M4&;CN 160#GI"9(2&KJ4]-M/: C=E4"?EJ\08JSXE82'>'S95I?%7%-D<_8L M5W@L%9OY!4(,'B,&00MR"-_8(?QZO9A:I6>+N6E7Z7PQ]^ *O:=^L?$'5VN] M?1C'Q45],"JQ;2D_X;QQEELVUCTL6O%O/[GCRTB)9)%S^.[.X:.%7BB_^0;0 MXD.YR].X-54KI@#H]J25EK+L+&7)*00>J+HTGA1(:2G!CR^ '^'7X]^N#)U6 MBW.Q/N92QBRQ7,7S]4GRCV_S?$^G+XT2O8;UZ$?IC%@5\V-U4&7M #LXB!V\ M$&&32:)^A*Y Z_;AXR8N#PP7?+Q2V-DO3G*=Y,SI&Q/K(98S&C%](%^XHCR; M?YH^ZDW),Q2]4.>[2Y'OYK#!@@H[&38>X9DX*>PDN''_N!%ZL^4/ZS*G=:-" M-ZU)3LJ,RK6&F$Q8L]29X>55VR8&1+Z575N2%"U.'Z?57&U0,9L89Y+??@H1 MCKV8=4-@)I1WO5ZU[/*+J2?9\J!;M2?)GN3/VBG9[XS<5N/"FD6#=0IBAEY, MQ%FTT:3%=G+@K;!F@@CB25;M31;W7/WB#++CGTR2]^0]Z.5_"W4#A'=#QKL$K;[:CA.T M(KQ+>)?P+N'=.RL8^4S>O?Q*R-6 A'>_"N]>ZHH^)KBBCT-7]'$;%QSWN:Y^ MIC@6::?(5(Q> I78.L!KPZH..LCSA,XRZE4I)2$1+XL3CF53)7Z1GRZ;,)G"4 M@(DPR0LVF278\YE5A9^)/9>M#@P_]M2'(..,IT-:5)8%J9[.,7F._OTB@T^# M@X&54MBG?-R1)D]5%K2[*;>)DIH2V\Z,;\+!/11/!NGFE .FOJ..%!=H:)LH M%WB>B4\15#8))E/37@% >"(5F4%X)2>\B=1L7-34)7X2/2I_L3"%, M3YC^-L'P_$5L9S4!7R]2*=0K#C>C/9;.@+$]DHRT!.8?M^ZT^>C'LY<$RD9* MA;-R@ 8UN?9.S:@/Q(V2 36UWH&*<4)KJ_)NR>DVAVM1'Z[76J+P:N +FX(&EMK:N8/B@ 4RM:V[F< MP!CXF0YG2?8]; @^1A?<)EL+T(8B*W2_3AZY8YNH6U)E"9^>Q?!0^]I#DR\VL.!$& MII814L6&BBT?% ][Q_*YN7H:3*]H'P>]5&BQ LL-:FG $OT,2,(<24TG.WX# M)"'IO81W"5J1'2=H1="*\"[AW?M(JCQGQSBUVHNQ[B-HTCKGT=GX)-GQM=_O M&+=/KG0[]BMOQL%^;%QE#FRK%H"+<.&FMX$SUU406*[U1_SF&B223[.4B_P1E2-G(39Z0I.R \"[A MW7OA75(RFK,?/ +NNBH>1X9[4<3I@G>X$T,EP\\YY&=@_5 M,T$.&WR+K1J4CN]LH/PICB 1]5=@*IG@K_:4[1^4C'SN8Z[< 4;;S!)_/A" MH;'=\@>93B\FY2?9>JIE+I:"^H>M_H+K3@[CE4&J./YC/9 <<2-2IVY%Z=H# MX/7JS)C.\YFLU4ZRZX=V"B_YVT^>O51_82*&X:52F(ER*WF>8?9W70N8L#;T MJ[C4YMRG9*$^J8GM65&.1J,C.EI>H!6CB] (*A'E@"1:AXDOR&EUPZ<5$18B M+%I/2/U)>*D49J(082'"$I9BK5L0EM 5>5U? 3YSM/<<2FN-GB7BK9$^ MHF>+27^628BT71_B&;.!TGI\8=H-%WN]&JJ= ]>#$T&16M3@UM%5#VB;<8@I MSA>R)> 9]L(*$HQ](QC;VDD''I9:0%+D'=L]U:++[N67129C5.BHNGK(=8M> MM]%<+SA.?OG>A M@1>W(&'7+*4@OR>IX_I<=T[XXXDD^Y1DGUZ=*+>2?4J$A8#H$9%^N?/NW5Z8 M]$MAV&>S:&WTE6^4"XD,7W,B%ILV>_UN)^''QC#F7;*9DCL/7)1UG M)I/+3,@91LZPD"60W192X42TUX#J)3YYJ]X3.Z(?9X9>7]&/?7Y%-\I#A$_H MNJ4D$R.U$P2@0D24, +4[RM37[O"Z\/*E+$H,TFY9"9$OY?H):HE=RCR30Q6 MW&FP(NK4Y\9*"%J1XA52O!)>*H69*$18B+"02J\[J_0Z4]SRBD'*&O HW5+M M";F2ZI+N<=O1@!,-!O]@IDO*M4U=H_Y%X_]"S]:$(\[N^+@N1[Q%H'/?.4UX MG_ ^04/"$00-K[]2PON$]PGO$]X/ ^_S5^>(S^+]ZZ_TGC(06L!3= MHHN)8 MD$[N)K275>A>*Y-9NX9?ZHANO//P^#CX_?2#&O"*V"]2.=V&(K^25UR_J/CT M2FX]+>/&.#5S%C(7DQGAVT^&C3#Q2W5F)$4=!$MN"$M(0=/EPP=?@_>35U]I MN,_1,[>">^\(7$MII3E1#4VJ/PI5UJAWDM/X$!V!N,W;>T?@/=1X_=-_]H8% M0$P!YVUJ\(]IQ50L%5"*BVJ\JHJCC@)IX)A(\ /:M7_^T[_I?+J;@LLP5BM\ M3K>XE"O7!V=L#V?U+4?1Q#$OYK-TQ6'TQ^'8^H/V<'@EQ=<2>;EX,R$SK=+ M8-E<7[<*M7QGVI0Y'C=]$X0(PY.;N*[MR"(Y#&'/Y?T$%27L.(,>/8+G,W#< M8"8GT(:-ID>S[!-(B5$SV923?'D8[0X1VO 8;0C2D//[ML[OUZMVEHM,?"DO MS4<#%/F,V%NODO+H8N>X'TTVJ[/N0XV>U;*^+LP*=F&20I(5__:3)8)%CO P M$26,1_@1DCG,K2'/J)'^UN*;1Z,T3UE.2%E>NEXYGUN[:,/"1CBH!!2%) MBFL(]H2)*&'$GM";#V\7_ZUD;@&DD<$9^GJQ*.;EN)Y?7-B4J"^<6$7G195> ME6*<'?-*N>XLP!WNV\^XD(PPL0NVK"?0$](:E3 3Y59*E4(%/:]D)=3+M;[2 MY[MU.IHHY8L]UYK@UI=%[:E0Z$DMGAF(_J2HK*< NAX(+GIEPLRA4RJ234"N?*&7'D3[@V^ M*9XG*/?5=IR@'$$YPO.$YPG/WSW/DXN]R,5>A.<)S]]7N&17_A8[*'\39(Z^ M0O3DL?54G#=USY+RK2?3U-:,O\C\?O2D[HV @V;J@!&P7'T.]J5W&V=@9N,+ M["!78$#0E*5U]H[!U,XO6 ->?=!1EF]%8.Q,H5Q8U)>ZD4\VN6+2&IF5QE#F M!!R!X>+']33GB[\0Z")W$H;I3L*K0Y0=-[J$2."A\H!PP]1UUI+A 0]OU M\I['R=2T5P!0GK*D%KHW0H$OE"U$$OY( 1&YQN[J?B*2\7"3.>A$6 B(?DX5 MYEDMT-=+I;0*)Q1->EV2\H5L(I&SRP^-^,=S;+3YZ,>SEP1*2DJ%LW* !C7! M]DX]J0_$C7("-;W>@6IR0MF;F56]DU^(NA1-F['R0&IH ZTI,I=G6#,X1(M;DH;6<_'=VH5@"F5K2V2)U@VDS). $P$GHF*'C"](D="-% F1.]2NSQ=$6(BP$&$A MM5WW5=MU=1OQ3$')\]AV0MKNJ4VA;HLLETPDF>:\,$PND&V'FPV_9]O=7 48 MIEBTCP.)*K3*@>4&U5]@B7XFUS62H@BRXS=#DC!3@"2(?S6>)RCWU7:-<&]&%&\-G4C!$BG2(SQ/>)[P_%WS/*GNNG)U MU_6UT#.7=UU!K?S2">&M.#0AC2;%8>SZA!ICCC\\I[F> \57D'>(WR+ MK1J4CF^X@6RC 6=?UK6-;U%34[%(KA0I1[BE$-X:5)$R%5*F0LI40DVE,!.%" L1%E+3=<,U7==7@L\;J^XZ&4NFHUR#X]&=L:EY!B- M0H1QAB%IKB0)GR3AA]'Q=BU\P3K+K\)+M]^V1WQ=C=&*E1(S]6Z< 0\87GBH MKA!P^;JG-ZGI(L?)5SM.",\3GO]J/!]F%2HTL<5*72.H2/S,8^*N: M8$>,];Q%;#6GZWRFT?>T)V:N-;'?G@TTP;>\:W=;9XAB@W/@>G B*#2(+B)U M=-4#VF82:DG^?XB((BRAHE*8B4*$A0@+J7F[LYJW(V&YN0JN[55E MF_B+ PXC-2[P/!/[OU&P!F ?.*4@!S.IXR*9X&3';X8D8:9 *+-B"<_?,\H= M4>27KR2]5HAY>TSC$&\0;]Z$FK4*)Q1->EV2\H5L(I&SRP^-^(5"S<]FT=JH M"M\H%Q(9ON9$O%ET$\U.5EW6C7:!\>9,SQU5*D,YQLKQ;S^%^%LWG1*!(X?, MG1\R82Z]N#;@X&2[U_#F)>Y-7'LJ1G>$X83?F\6\P;C#A><+SA.=#O..DVBN4U5YG"H.%JWZI!CQ*MU1[ DB6U;7SNONV MHP$G&GS_!S-=4JYMZAKU+QK_%WIY('QSG536*_+-+9PDH2,:$;;P"QL!:<(W M!*0)2!-A"S'?$&$CPD:$[=KU#D38?J,>XL:$+>D_H2 %P$O4NP5%KYYM=B+"-MO%(/=F+#==$_$ M]P[Y'@#I=56T\Y(_$I^FCTV]Q&86Z)#'%Y^]=\C?7-WC_S&0_T,'3B( M#IKM]TUPX_#P@0J4E"O7!V?L:FA),&,SF!'$^^"PI\3BB+9:_.%A>UYHIM#!%R\!@Y M"&J08_AFCN'7"['FF>1*+6>B@C%A"S6[P"QCI?H?U$:\?1R7LKS3R T?#4,O MQQX69:&MZAP^CN-(J(A,D9/X"YW$1\L^>Y'5K:#&J0/YU9(IR2ZHMLJE> FP MI82FRGT0MU((1%"A)L\>7XY."J8(CMPQCH1>HW^[/)/)]*(YSE?[8G3-S3FO MO_1BBPMK][;KZ^GNU.E*[=60U:./N7%CLL 8PGW[&4_$([S $G7D,X.']P\C M(5CE3&#$Y'X-D(SUWJYG-2ST?P(XSX$79S)F6K>M%231]1I6$[:$8ISW/T MON\ID(8=NV9;Z'6.;9IP2!&^&-TMMH$905NWP4.738O^1)D^,(N)45M]ELVS M2+>2P!ZGA^*$FW:%P:)?G]6P-Y))0ILGPC/'88PS63T$;DZF7]P_W"2OO\J0 MJ2LQK>C'DWU^+(%BS.)+RC);6UW84LE/0+I0$4154F))%;C 3TW:0023_?8S MR<4B+/N6I8*3(OZ# >X"XJH"!)*';/#M9QL 2E%5",**M4)W--9L#[A!SH)G MPSU1( *CVQHSM@5EU U^PEDW"OHXIUN*I>J*2>UPW?V.%W3N-*77T83Y=339 M34K3W:FIK- ^@/]^;(;PN '149#^\:M3I#\ >)H^__D/_&?[%-4$BH,P8+1Y MU4[$T5,#!&!H^G\O O'/>89);"%L)\;"P:3QO_]S./=]#E=4M4W;^;'%HH-% M;4C)8E@:@FC? 8H150;PO3\4.(DA-E&3V@UP8$HR88>/ 3K+-M/\,(MOO0=K%+Y(<#3,73YP ]_=ES\;9X M]O0'RWP7$$_ 7S?KBC'?X_R%-NK%P<+&]@>O0HTP>(R]5I6K+7%+/RA7:\4LZF.F&UWX+]5L=9IUW.95+N0J]3/NKZC M:;^SX-TDJ<-94OMI4O485E14&,3Z6I-4-N96=AZ#T,+<*RWJ2CL[B MD^;*,B55;SQR-Y3B[,?V*4H]F;Q M55KO^.Y:2LF<3+\O_WQ<3S5&X6T49[G M4\UHXZ&;>!C"D?S+D5(4:.-*SUK0]:;1GXW7%7X&4G+L^.VB.!BR/;FX$*/) M;IV?C=Q4JK&0^>.1TJ@PZ*V&N:E,/SHV6P6W"4<>S?-Q7NLL.3^=I#,- M;UXVG;;%$$TY@4%=>]]:Q%QY)^"JIQ1V]OIOS8T$R,DY*2 M&20$FUZD:7>B$GCT=.U'AYTNVW'PWV05/7*VU6[_)#F:&/AXYKRW)!@_:MU,NP M*6O130\3;3B4.1[*5U5-S$_&7;''%962D7D0M2?(=^P)XD\[4+V5,Q.Z/5FG MEB*]YE.+E,R5>#E73R>[\@?&ZXJKR1.F'F;Z4U%?Y@U,JQ0 M[Z1'"VA"' \MJP\KRV5'0RE#-ZP'+3$?-Z-0]D]LK"4F.XEXU7B0_!J=&:_+ MAEUNP:$G-G9@T$ HVWI*;+=J0BRNSS*&WY39$QL;?YAW+&X(>E+&5EN5I_PZ MVG\#DS!(TO555? M\6T5#CVQL>9JDN=G[5)7C$[%V5SI#&-K*%GLB8UM+$RE.V^L)".3YBK"W%P6 MFRR;/;%+R4V5F@H4=/5;2UW%J:N2>Z/N;,9CT[5_,Z M?.H)=JF*CUSZ83SHT/Y"'I?YA_:$X5+(Z#PF5C?M^6O;JTK**)Y?&%:!ULMP MZ EV<9U8MS]OUE6CU\J6!+\MCW)]./0$N[BL.EQ*0M61E/9J/"@_K2H+R -P MZ-'&#IG%N&$)V978JTNZF>++Y?9L(7,G.(M)>L.!TB\\B9-.;JC/T^9\8,&A M)SB+RTJ]-##&<5%QGQCZT=6YX;PI4-*=K56LVNUIQG3+BL$^SRN%+G]JP[5T5!*'OYG1F M"9Y2,\OL&,Z5GJSE4J+%9G-#.7:"!^K:N.:LYQU9\M?%1$*/$[0RJSSHW5PTZGL+-/1H MGNL.:V1W*)!D6VLUXNGF2ML$"7NA^? M,+U,O<],'EPC6E?+8#9O5Z1B$[6L/1JZ*I:+>CLACJ4Z-\M6/7=AERMXZ-%< M:[)L9 W02TNK]E*9*K%$P3!3:.C17.UZ;IHT5SE6G/39^DZ.A,:4SM9YL3Z'+TU&KQ)>L=&6Q315_/C0A MSE-Q81R+&X*<7HX?[?8PHV]S0Y\/9=>N7_;5;LF8I6.6FK#P5/!$^]83 3**>(Y?]IPP]J]&.9=(S2X)B&#N%KZ:4@<=K MSS?*C]UA>IG-5R;1(1IZ--=BS:#%6;.^EI1X6:Z6Y7R5LO*2 "Q*AYZA-HQIPK)R$UL>O5HRP*T4H=\!@\]FFNR9++L=)!KBT(K M,\\M6ZTG&T4 3P!\-UKHCJ+E&)QK+Y.?1/6JUL\NT-"CN5;J;73ST: )036H,TC5A;I278MJKEWL-8P95YQ.0T4]/:+$75R:&4&9R M[2S]"!;I!1IZ- &!M4>>'75&]&HE=K-KN]ZDX5G [R$#NQ)WSIC 0:S:IJE, M7?!C^\.A58:<%QO'!3+AU<#TWSJ>L*=$\3U[^T'@)L&?//.F'/B8-V..?56> MLYW8YH5,8'[_6D%8//&=X]Z*=ASX)0Z>;\-G#DQ[L77!;7^/(G?ZC\#UM(!T M>M?GL_'!X1=OARI]US9]#WR&K^=7PBP?<(P>./#^,!C!O),T0_;E.OM"?T^\ M64!)]N4Z^P)Q3"#[$KY](3@6SGTA.!;.?4F\TYN?[,L?[J 9PTIE#D]AT8><'^<54["18RM+)RC#.+3;]L*?9?)P/'Z^3O^ MH0*:YZ!(N)QP^6^YY6Z2RV_.,CCK!8*A-I0_JWCONBU?SU&;]UYX[QY*[W:- MB9F@,7'LL#%Q3'[J9#(N.RC'1(%>C]FLZV=:@^9O5^(U''N@>Z]T)4[32H.I M)OFV 6J587ZJ,XOI"F6S<]]^,K&(P%VD@RB1U7N1U?!=+WUA67W11#S5B2=C M!8:;2_6IFM)D+EM/Q'Z_>ZRA.T5]1 M]@E;^$8-A!L!MW#QSMFLIFN8P;?72(+(14CD(O1$N8;!?35YNB$37 /?3*DJ1$;OE$TP MEA]'C_-I>22UF=1BVIF41"N=DG$I*!.)\1PQWXD$$QO^DVWXCTAP5%8&V:=9 M?$:S3J?)^9DUVWEH0@F&5CT7B=-O71QPVT9]H&%DP10:\CK>( IN+*5,4/O" M=?#!N=4.HGQ?W2*Y:TL]A&AW67WE4'SASR; G49D$ZCD#]1:6B22YBS0H)QCP!3$@=.'\N]-X?A,#:"'=ZK9Z+=.H M1S-/J75VVN2+*8@!J,MX(B+P9[P/]?J>E$-BH"Z!V*NBNZZ/+T)5;=<[7SR" MP-F=8!=QKIQ%6='FHQ^'\E4 M8W6I*2>#W(B+7))(Q/>NQ)=X5LZB9_R>^/9GY027*(AS&O13T\1BDGNPN!04 M7^$]\;T'MTK-MJ(X"<($B@N('^7^;*C0$X7X7RZLTD 9ST 1KR )%P,!/P6$ ME40LWUM5&TV)]$ M5D9HSZ9TM-E;.;*B1^=:$^$$#D6QR;>"R3?GC\F" 7 LCQC*NA7%N2[ MLMVNZWHY6MK9[YO[/#5E*VE%G*'=498;#$H#"PQT#SF*]XG=;UT4EUP6C>QH MP!7H#).L]IC'4K8KX9L"D$>&B? GJE7.<5$R[DNSK>F4^7[(OIUB<3;+5 M/%^?JQD^*:W:SG*VC):,>&*!)!LY:X2(P!W'@OZ^+X<-OC OVE?0E7'H?CE( M1Y("<^1ASA\A ME&.1_A*+19+\6\E^1.R)V!./RO45GP^+?:PF%6O+O-F70*<03S37G6B_G$)B MCPIWA4@R\5:1_!Q!CW!;GS/!?4*X6"VXPNJ+==Q42I MM0-]"31*<5UPQIQ:8C]=W7X*/5%NQ=V"%LZPM]H@,_1L0&2#^"2NHS_D%=U" M)V+=RN+S4 _295/X*&3>TB)H==[HS^JEDC%+BHE55>P8\A!?@@ZUB/,K$5?4 M&.K>"#C$DKD%2R;T%+BZ^^+N@BE8.G>-ZU.[7GTH@2UGV@LX?0^@>/()##.? M'AN)Y!JX]&HQ7Z4R];Y20/DA03?3")^X8%'Q5Y8"@@/$$W)N3>9/<& 6'<5X ML]7DC;HGJ*5H ]A)%' ).J72YRDK?HT50N8E"=Z0&2G6$#Y,MPX;H6*M$/=< M,74%RPAIBGI71N%=YYF0IJA$+NZ5**0I:I@]"!U'T0!J/P[TN=(W2?7(;5@1 M7R>IX>Z\ D5+=5#U6A8$_U^TMAT56SLI?,N[.3'M*!^+I45#6.9Y'M24Y)I> MR$S0)U6(<$G2SH,(=;A-_*.EW6CAR =E^J4H/PFMN?0PF8RDLE5:92?Y:*50 M'B)11J4B;(0]<0W*G96*-!PP571MFU<9F/ V[LU7NVH8/'^9]MAZS MD>5M)=TFY2ME:=@!&@1N3Z#@$B2RR74EZM ^#Q[Z;(G5TT.(@KB!*A./L'3B M@NF;!!:^%"R$+F_C_E6AWX0%H9AK=UF)7XF3@MQF)%].E-H+! L"KI!GA#=A MX48],5-E1=PPQ&(+G1OF_K67K<76""00B^-;?IBGJB'SJ8RATM$!/8Y%O7:S MH31E!O=492-T_+@ EA2=$*D.E1_F[E(M?EFL7TISPC KWIS.T4;&\V8JL]37 M#\("23/*LX@P[+W?70/IY/C@I".&9%1LK.EY M54E@H(%*7#R2C%^@\]I5Y()A\2MJP*-P8_PINJ=1@]I;?W68%+O+-"9VY_F@ M\VO@I'#UE8;,;KVL^@4E&54#-#9RG%Y)+FI%>:)HX 3L%58]#SS.V +E,SB7K)"/"+P;Q4]$D0@B/"KFA-!A$_3D_X($3JM]&A0;,H\W5;F MQG#"=Z:E=!,A FI_ST88X3BQZ%[<69LW])^]80$0P\!YF]I_45NW.7!?J$@_ M_OE/'[(,,3M)6L$M9!O]QHYOWY*!J^H[.GQJ 9AS@%:*WJ!8;O0D#4D]$9&: M.TG&":G4W)#G(7A#PW?4$;J+SQX@WP/42;Q5A)J:BN7AN!&8^?H45303,X,$ MO$D:R^7\!@UEA2^DZ-@I%.*DE^W& M'Y.&9>>P1., B! _OA[S;NJ)CC43=V0[7M0#SH32L<6/"4N,E:\360X]T4CJ M2PAUJ#;"C0Z$C>(>-4XUJYXD.+NHKF7#[S6E=,_M"DYV*,,)0O4IP422W'$A M-LEK(>@3'J+=8C[,+_6 OB&'RLM4#A]=FJ=;&XV%I'&0H.W]IG':MNCH:FU.JV.ZP?:@7H%;OR;Y2"QYR7Q9 @U?!!K" MG<]Q;VZ=\T!#7AN6.-%HSNGR*#LS4]R#9;4Q-'P5_\Z;>1TYW5(L]41>![&Z M2(#Z=M(Z2"-8(A?AE@O2T#6$GH1- ,2QX6YH+C5P[ GE@+EMSM&)J#I TSUJ MH*AXY<1>N(4P;N@ICE]8@6F&[.Q/K@5_6(QJAN M+:>@R4EZ.MG,@\=ATAE"/2+QAAYQFSTB3KD#5'LRL9%8V*I!Z:Z+&G[Y4_@) M6 )'U3=ID_BO]A2MW3U?1>171@-B187247#3R0:'5E0;B6P]D%AQ(\K:"?3S MG'FYNTK1 LW&4X46\":/DQ)$OTW/4EX@C2*(_!,ORDUH/[\C_[9BSQ;2S$I* MJY2U6BBA %$L%]4%[I#C E1 2%.$'EJ?/T7T5^.,T! ,M8T]0EV0\ M4527=ZH\I#Q%\(?CRI3U4=ZVD MG1E?BM%5O/_PE(\;;6DU5VBU&&/;"[00=#].A.&.B_=OV(\5I'8"R@18&=OX M_8AQ2HS3>W!.?;YG_K)JU49:*TA8&XYNJ?I4,;HG(?E?V%,1\WF.J\3&?8WBR=6W/S M47>!9!_K,31[@6O^PN64"M1!R@%;9]/6"^6- -7:?4I!97+H*!-B)1(K\4M[ MH>Y-6]J"8\YV]M)>'V2P=QJ[]D_ )L\),7KXX)6- M#W&3=!\AT'%]S2I52 @^% N\#P3(&A!:3V[D):G+*F%[HU&MHEF M29PH=]$Z(/04(MU(KJ16M("I>$#KV!UEV=O+/=0V3CN<3R@;FL7V-9<1TR(H M-"0_%5U/ZWVH;'!!WE",)_X9 BM7U3((K'QV@]HSP,IRW6LH9E*5Z'*:K_H# M*;ILR$,$*_C2Y3C/W:_KYV7?M[\VC=_^?G:9W^!$1Q-BQ'V=%I+7;W9"D/7: M[>-V78U^K4?4Q%NTQ]W%0U94%N->KMPOJLT1!%7] M:77M0Z#R$DN:S7Z.EX$XI=O#BF9H/74UT3"6H'L$(\R;.8PWYT83!P.@!KZR MI3I2K"&@X$X!*OC9I>#68U4-W7"$?T#7',TAR5!5/OK0 :[GZ"K4BO'?B05\ M"QD*Y/*C6]67 GFM#\2-M+:@L-8MA';H?^)>.%L[N41_2%G:\P\.1KZE6*U[ MHVS'5=J SC^JC_%\5J<;]$+F<%_>!/]FW3 ! ( UT\UNCOEYC((\%+PQ1D_ MB:F:NS3\H3S.%2:]Z.IIB 0?92B]53+[ZRK0:SP3,J\5O7-:_06WQ$$Y7G]3 MNA7\A*XM0'I/Y$@[BEQ4/2(V)[$YB1\K/'K9'^%O U+/A@9J "G9#-'!)<(G@$O&% MA4A=_'1@.NJ_$I?J%6 :"]&?SX1UNM\KU&I-A$/6)B)IRY?I 9EA40(,QU,T]L!-[^%0S M)H,>[43E52V=N!*&GH!$Y8EK5I:=M$)G\E/6Y.?I1):%D!A'*AK'T%!'>ZLI M#<$%@@NWGR/V^;C RMGRH%NU)\F>Y,_:*=GOC-Q6(Q4:7"@:_85JUPME>M)N MY[/#J5#JC%((%Y"J),0CR0LT. B7F^UCZI,(/SV_XD1LV-^Q83D(+IKM]TT0 M!AS]]^?YU3Y_X:& U;TK3>LV1^U9:3JE\Y5IP\_JONH7KN1*.X&J;JM3KTUL M0:.%M@5:^=)$M"8051-!U6 \0M,7; %*P(2 R0><85\<3#@YIA7]>++/CR50 MC%E\25EF:ZM%:,!$K5>B-DBS0&K3(!^MC\5F>CI$8()4M"0?X87S7\KRE0&# MV*RD7\W%L\AN]0K2K\P41"PNGEMU8S>0AL^3<3)MFI@6]].0Y*INB*]D&%S$ MRP!U_Q<:?\K+*(ZS@J3L*J8/3EW*J,6ZC_ZT)(OY92Q-+TO1!#=IRC$Z\"8( M$5H0B#>!B/R7:"-T>[Z WQ%YQED4AV["?:"%11FX9F'9YPM#)/(;FS_&G><. MD7<2HJ_(U*T7H9>_=)P#A*OWJ:D#IHJN46")&A^ H"[,]D; H53?<5 O)L5U M@8>KR5!_QXQM:6BDAG[" 4G458%**R;N=]T> 3B85)*0@#=)A F5SG3D.?V% M.I)ASZ]EK=6 +G,B74S6:5ZN:)A4CBS21YY6Z25QBE M6IR6^VI45/K%2CI)E^8/&M2?6)*\0L#D^OZH:R\\5& 2^N05I[@"@IOE'D7! M[K/Q,IUT4]44 I/;3%YYC_7_Z3][PP(@%H&3-#7XQ[8_G0:=PK>ZVL"T%Y1N M!=L#E_[CG__TB3UZ$['Z^VEH1%)1"'M?VYURC^Q]#WX%G%*"0RWHJ@M/69+& MR"2R3)))0M<,IFBI]@1TD'PVH+36P*F^"%RO4:"E5G=LZ$]*E).7!<%?+.18 MT+,X&8DE&6+8$VDG>21A[[#R2]*N9M59I2[W7;J=[B>]@?!06*^:2-JAZ1UC M(FSBKMH*/]=4=+@U*-Y!C(U[,#;.IX9\+12ZM,X1R-CK$#12>FZ+K@L5D9UK M;*Z2%9?+^E".X5Z^W(E>OD1$U>^S&0%(6,H4J:93SZ9.89> MNRDDKN@>@L1;F5-WVH+W37=^S;:BV(NO6W-(5WQ]E*6=O$SJO'Y]8DJ%WI2Z M?*?=>_28$KD@PJ0Q@2/5A-WPC=U!9,0GK 1. !? M*J1/IHKN3'99CQZ Q[&'/G;L>7!-MV*:]@+5?9!+N8F]0=P#%W(/8.FN#R07 MI)!HUS>"7;2V/9QSME/?"G0%R7-E(\ZK$[9)(M\2Y$%U;!FLDF/]4:Y=-8^""O]^&B\;O=HH6[+6@GCO26_\AVJRGF MP1"$I&F-HM/\HYR28[AK)1^)Q<\330A-\@&FS]:)L3FO-:J_HA15A6P)/YPJ M*P75J2"G!/S0\<&^?P4Q58BI0OP0E[HG#\NFB$1-TSW? 3O<2OM>S?8> 8Z) MG@*Q;!;F M#X5%K[FN&[X[E:JCJB"N6D,DQB@3,G'^ L1P:=EMSU:-:%]!W:]4>X(T#KQO MU&%'+34@+WP>7*@]\!:* ^!6S8%I!YX(U79)(U%BG-VG[^$F%1QM/OK1'D$Y M32/1SAQ(=G$CV$4KLQ?K]D:JLWNASB"9/@&8==Y^U%,&+1A*\='UI&X+,%I* MYG''429""V]ECA-D(,A W#97U9DNAPPM)1?72NQT3D^*Z;0]'0F/L<0"(0,N M*GDW3O,?#_E +I"+HP*4WGK(/5#Q 0"[7R90%E&W50IJB< -4I \&VZEXD-- M,N@)>JH[:"[(Y%1,"NZSAW-'W.]X0>>9_E%.Z0NA8]@W8&CS/0OQ@OFK6+2; MMZ:[4U-9H:T"__W8(DS= M%1\/87FS#V74\?K#ZT#DP.^@-PJNGSG__ ?[9/ M44V@. AO1IOW[GK#H*=NCA::_M^+I( ]9SLFL87+W8+C!Y/&__[/X=SW^!=5 M;=-V?FR;V!PL:D-J%@/B$$3[#E",J#* [_VAF MEY6Z-C^1W;MN8\,>N#PZ' M=X!&<$L=_(RH<43*B;*,'A#L68;7YFO;SS!X[CZT@]CE#P>8$&;F #W]V7/Q MOGCV] <+3WETO,!?-PN+,=_C_(5VZ@4CLK$](RK4R$&(_*]./7.2+]'/6_$Z M(7'??G:P.]<>(-#P@FL6-FRJ_#PC2KP#NZ**L#/X-:Y$0J> M M]W&>G7GV6MWA';5*=.9>JUK%AKBUGT4[M>*693'?A+KEA+U3+%5(5J=^ ' M5;'6:5-_2;64E"W"O_]-?>):C@#MK87]E9H$OG\==:&V?1=J"Y#\8*D"^( I M<"AWA.ULQ5,B\#PR@>L&;:P7N@O@@]$Q]/>^=N!-Z'LNNJ4FE=^%7%@T.A*0$/.I=2H$4QT+$"ANIY3;@$ M@-)@_MK,(57\@ ?Q.I5>4 M"D]1G$D\L:$ [B84H3PX!L)XT$->"WX-=%E(A@6@)HH!\!HU?1C$_#1L^KCH M84"UW94+^11NG&-;0^!$*%<90$%'43_\*A>HD',CZ!$.Z*]0*WNX;7/T;?34 M@:([U!Q="[!/?^X#;P& 1?7]%7""K&874@/]#.F]G0J@[O=[S8'4Q_* MEX]70*$D:%T#NTFC9_A67\?.001#\.F*N8*6W&8W@!4$+0_&0UKK%J*?&Q#B MV6Y&J)FO("5NTW+6\QUKTX0?+NP4S8+JJ4"YQK//=JF4#\=;ZH]5OWPTW:J2K(_BA@F#"A;\"?#F J! P">4C'9@I<_%R'VXCF%J$&OFFNJ+D.%NAO$1S;A0N$SX(4C68*\I5!H?28BD.^H^#C'SH(MDP DYH$G M'J-#P*S8V7[ V(IV5IOS0X?! ?VPM,#]L9VI'>PNG';*'\)G4(P0H5B:B4>0 MJ#I@J+O>5J30.K$:@Y:4A;H(YA@L*0$=-TB[,=+QJ,,3J*IKJKT]?C:P#S_+ MV%ODWVZ-'BA9"&U^X;'X>?7] A+;!1R/P@H@7@R2([A50P=LRDC@*B!KXF,; M"B$$^V8?,!!^2D-? A-R'GY&V^^_7/#N#_M'*?!A-@2DJ+U MU3*NWW=UR+C.:GL$;YX?"2:L(=[<@C]NY34"VTEOOK!_"[70O=$)4DQ]Q_51 M,0U\%OH&),PD$#ZH(&IZ(%6;I^U6?S7FK5O/3RJZ6>#[S2*+#(3C)K<)F4G(2"SEC=D@;Y7C@W3I%*2[K,U',?UA^UFLI5C+?2 ,?6(*#> @,Q&JK/5!UT;G MQK;4/AAUF" 790-3I:8XCLP,,M4G?Y$IB]$'WC9*C9C)#Q?06*"/0]+_NQ4L MJ-?B@P0?G?#I4-/2+:AM^D')VRFDBSS'I?W,=^HSG*QO>H$V1@4'ZQ!S,MH5 MQX:GD'<(JXC.9G"\;C D>, >\Y7IU(2:QM:J40[RVS<)<>AE078[?C"")G<+ M('O':VH_>,M&+I6VT2FZ1<=+:1C3Y'2>.I;&5M#UD0PIYT)T<[LOIN@ M^7_T$SX@["97H3Q$*+@M/S??W#("DH8^G&^@*6T>]ED2^^*,AH?@"!I:4 MV M=B

M.C[1B1W4\8C$:*^\H)H@-\E%K(]K=]EQK[CNYJ^M8$VNMH1==1@!E M A)T^) R_%RS)\\^2SE*GQ(G.H))^/T\0'HG/)?:<*P",0YB<@H9BW"-2H3* M0/M#@_^?=I0U4KS2P!SJ_@3A]E)'J@"4" NIR24%+AD^9:KH\/\@Q\"36(,' M)]RLX% M0AF!#\(W@^%*E&!=OXA5+A@B@9)97J\RU:2OBOFZ79_$I H8-\X= M[GT)05%H)"(86MB0<8'U$H-J/H*V^J %(/FPI=(.9KN/V- ',--;/619P>V6 MZ5Y*TF)F#=2;2O/;3VBO'\$,%.3M,ZD-";Y3@:.""GQ0SSQ#YV+R9YYF&H7A M3O']L_+B8-1S)^.A$_=Y+ "=:K\:8;BP[RNMN+I;'QRZN5*6UH8+Q?!D>7OT M:M@0>* \'ONY4H(THSOLTA*%0718M(&T?,QN3E&L4:2\-\;):!AS?:\8^ZI7 M+/@7DPH="(?$PA+=]J%M&"B[!Y0[!/XM[2ZYI2C.NM].K!-N?9@0)O6I">!? MGODW\:Q6)_R6*R_+3-I&E)XUX_6GN53@V#J>U ?G@;,2H0("]]C= M>%$H,=!G_^#UN./#KTX!MXS,89?.]I6_^")X3 Y,:%8BCQ"E:&C/@Z=BGRER M<2"EEPI"A7 PRE-%VP[51'_C_]B-A+(+%2^LKED N>D0KJ'Y*($S>'J(?1LC M(%"W]]/&/F^HX[HCJ,QA'1XRFZ-A7@I,VSTP3O=2,0069 ;DUD0.PNF!_K[1 MW3"],*U2&#J5G>*<3Z4:.\UY2_6-UH^4!\KA"T[-D+,N'WPF43^0%S,%-H!@Z6MZQ MXPHHSD9^CJ#JT[P9+Q7"7\TO>:'@'OU^6_DG"9)_0O)/2/X)R3\)0?X)1-*- M/;.I/WG+EMW:-!^P:-G7W_&FW12 _.'7+NX$D%Q0'XCPR)H@!6MG!KHU;VD" MR\Y(;2G=2O"#1;38:7Y5PPX2"<';CDQ8.2GY6N#KVJJJAU;?+O;URQK59QJ" MI\*KT^>S/ZF3!5H>TG61=825/*QS;O10EX(S@R@CAU]]:#'WD[//_45!\P!%%,\9E/63FF^ ML\UK.:'3'SINGD]WO-OC(*, !=]0#[]-; %EJ""3_T34'&JY$W?OHXY0?=]# M>BQL'&>H(;A-(R M?#B)(7KU]I%;8T[9>\N108TO3@J,X^=!?S0%E.X4**;H!4/;UA8Z,BN#:*1B M#76<@8.W)'@&^MEUMVN>VNCT1SQCHG2+@6-/-JB)TJ5P;\3#_8=41',(&A1O M#)G7]AM]+=#\^]MPAWH0[MC,9MM.$>O_Z#9.;^";N\8'D2,.Q D2\)E;XI[( M?8++APJ$'EGP?F#K<76V3W8'RGNP@*6H?OE)U1_4G*"X'#?CO5!:N8!,CWS$O MM-$"LQ4'[.:V.0^( *45A_*VTX^@MM$^MH(#&W\G;'#PP,?^@ZVY/U&P/1H( M^>P $6P/T@%!H=9B^]C9MZ<"@GBNZ&>1^[4QV;9/(\5&,?3.J M]AT%U4Z:7A<^@XN[Q+/7O+)CKMIHL[<4I1TO?V=_@,K 1 M+(3GYO.TO]V![&)7+=80W+<>C/+V=LB'%H%Z$R,%#'4:0.?M,_?Y)HUW@*/8 MJ@E/':C0@&VVYO/''HC/0^Y.T4M&<+B<()1EUEVWP( MZU0ZTAC,%=9 '+2!\+C;'\#?*Q MJE7=:] 1S/$#W]G,:J<-?/^2V+GOW86]^SA1>"L"AQK2ZZQ_(A*3:F0YY/IK?9@0646PM;!2\+?!0 M2*D<0+ZR@R#,KFOZ-M5+A\? 7->0)KK%\"#O*[#P C,&!+#Z8L4HJ68''M@F MV;J#<)W&1NN'K]@4B^S?K;M;,F\AYJ_G#]KA"&H/KSC(=(#P@-K#HTU^\=47 MLX!D>LO1?V%M$TK&06*'8ULHM3P0Y4#]?$T)]>:QQ+P\!U%Z%F4MUI_'V=CT M1&K Z7%?.S6@!9 #%9YR16@/HERT@_R09UMP9BWVCRJ[GZFUOP]DFYRP3: . M+1GK@A!%BON[$' IR3Z/C-I^:5]C]X74YJ)%U1!=4+ARG\V \DLA,+WDGWUB MJ33%=O$>FZ5=8+QF?\=/BM+Q'> ?[\M?0=8JFZ#__O'!S=F\:5L% 993Y.*' M$(QCM!L7$HXR[V/B6[]A\ J$_L=)?VX$>;HF0!!K.O@G$/Y^H MS['=Z6;^A_G.Z,B%A^(4ER%N9[;)XD":Y8N,W8UE8:ZV_DVX_[A:"S4"WW@+ M-PXR=%*J@08\@M_45_;4L'.FERIY,^(^]&'8W' M3JFCIVE\[)^0MN]X6:C[0D5]32T]<#'B\'&@>T'&5G53W\=/#^.KP>WO![KI M=^I@'GO-#;N$4;&F1T&-#0QM9QO;'J*F$ 5P;O*$/XRW(5]#R-C&S7MUZ<4 M! X/'AJ$Z@X+JRZB(W],L]T&$Y$F&X0$%:2*[E3?:)L&]]U=-%+Q3JEJ+C*M(N6NT@62HT%\@=M.N;L1C:5PI.NL;1/9VI5 M+2=HI4=-1R,3+T<*]-B5*TNE2&>X:B'9["=\34[)[/$SV_&>XPPLW3'*\[KA M];NEAMM!(X^>Z3E2@Y]*=@9JI_E%W6V5$YS>E#F9?CER,FMJ"C^H.;3?GS+R ML*WSO+& (X_>#@9ENET5P52<9!@UVS(67=I-P9'\RY&MA-BP,LUJ003+7((O M.H,T6T$CC^;97!83+-U*L6([QH_72V\^-5GT=H9Y.30AN#%NY>3+4KDZT9WY M,KGP2T,Y=KPDM\H-HX-IQZ,G+INI-I+K^*",1AXM:9UJC-.V+@VE>G5:BL^7 M:J>JHI%'2Z*UUCP6!TM.8N=I+3?/+2V]VX0CCY;$L GF(3UH#$3@#::6Y_)LOI)F(MNL:8Y2=OBAS!\O:02>9-9@%@[--MO)T0-=GA0J M0UDX'IELE(=9BV%>3JY!Q[@HP&5/K8@ZB6 MV313.?; /DS+3DSUW8XQZ6>Z?8;D.6,^I)9ZCJ M/)4R-[!W[6V"D-S!P>KN,K&V39/VG8OV[7(VG3AV8_5M*0P^F0\S8BQ<:HM3 MXE"^31 J"Z+;U!&>F*LHBDM_=$[J MAF$W!S%*GIKX$VKH*XX"Q00%IIR#03B)"?V*RF7L75\MK"V<^&[0$6>$TYW. M6:=Q 4;(/M.F=IN^VA&4\E93@%M\*.Z&9=P?GU'?FWVF/*(J;3PW[*@XQI:9 MV!;J!:XZI]OZI!?MM?1UUQM>""T.'#[T]^>NF;/T9MVXD#=N->P#0^:+J4Q= M\&/[P^&DD!=J,R%D.ZN!#V?K0L3LHOB>O?T@\'?A3YZSU &/.;O&M,]]69ZS MG=CFA4RPZ%^[V($7OL??O)7DP"%P\'PD<@/(>5NJ;7^/HD[8/P(G(BKR?]=Y MM_&FXA=OARI]W,L*7-AI]SIG,!_MVKOY]X\:A[/?Z3M^M.N&7Q//_R<_+2S$4&U3?3A_WWC MO_TN&":_\_'/O,'YPPE['=P=KVKC9G4BKL'<)ZF%FQE^8>FO12F_W#:W]>5; MFTRP[?KL?*/8M@G0;3LD3Y<43IZBMJF&(18*U)4SP ..CFR!X3:PCS!+Z)@E M=!B:.(+0-Q/<\6H^W!WC,!W^[SM#VX]I#^SORD;B>U*X:=% :2UG L[WW#A7 M7^OK/-%_!3._-%]P]W2@$CP@>$#PX)QX\'LZT[[4]L>_5!6 P>!S3=%])N[9 MD.W:2_JM'N=GB!-<>]W_/L-* D?[%59R((LX7_4PT9E#F<\'Q>N_>F.5U,[* MW&-'F MQIQ4*67I,3U[HI7I-"VR"2MU>+-5E/O W7KO%&:(RTUGUA1N: 2TCK+<77C% M?=O6E_B%QHA>%TNRD:\(XJ0 -'I8164XW+>?B7@D%F>.;KTZVW%W;:$@8$# MX(_ @#L$ ^Y#8,#,]+9FEO4#R2C+&7 .B&1 PN&4P.%W^]!$PF*ACQGH8). A[/8UO3-> M5]C,M<&@,9ZUP1/=!%(^SS,319RDY XJ^DU^^\D(0B2>Y(AJ0-" H,%)-/@# MU:#G/#SD>^-'U] ?Y.YLM309?G9M-(@U8C&NDD[&Z-7#7)#BK#G7?%RNST(X MB,4C"2[V!AR$+FATS/H'%*(ODS9X1Y#T8=?%@2AL,"FA M@\'3>%JMBZO4Y'$];K*:4FAIX-VK5H< 6DA\\AWP<2K6>,U).ATI(Q>9QF'E:KG,.EK^V5[+J%4;2< MB0E2>]B=.78RL1K-4<B%<;BAP\L-NBT 8 MVU 6MW_;P&6V+HM:LEE5I?RL"Y)^*C>KUZ[M477J=&ZR7"YC]*IEKGLB.VXO M)@NT4J@)<1&!OJ B1) E-*)&D.4&W":O(DLLNUIQEED:2WZSU\ZH?B^9!M=6 MQ!+]&MLSZ%%' C:_C&72ZS:P4!=D =E8D01SD< MT5E")FH$66[ ;?,JLK2Y M"3-NU.V2A_;611!;?H#'*3 MO"$TXJR0?&3%ISI"%N0\8MD(P]&WG5[2L3W%W+9>OX-@U5'=TV="XC- X" @ M:/C6N.L X!ESYJZ]KE @W6F_#V/9,]J3Y"6]ZI8%/M[@L^K5X]3CT2J7Y,:2 M9$2G($9W]&2J5$5WPR ?#L]'$LFW4(M$LXBH$U$_5FK$F5(#/:,QH\M"=3CW MQUI;GU[;J=)Y3#7:M#$N2-&4PRCVM+R>+]!%3,BIPG&1>.RMZ-;-'O-$U(FH M7] S\MHE05<5]4&T.BG2LYQ+SYQ*T\C%.O&)CD0=>3F20D2(DQP5(NI$U#_F MJDAUXLE8@>'F4GVJIC29R]83L6L'8<56D65\X:$KK51=ZVNT.>P_H(L8L=N! M%R('N'\C+55TST57R-[[_/+'XI5ZX/#HY6K=LEZ93.5Z8- M/ZO[JE]X?K3R'Y W:;."2XIU8"8%8U13'D?F\,]-4P4F(0D]*2,VF M[^O._V?ORYI3U;I%W^^OL-:YIVKOJIA#+ZSOW%6%BGV/V+U0"*@(@M*(^.OO MG*#&1&.:I=$8=M7.LID"!"XJ)^$8J.;D> M-K/&@YH^&W41.RD&M30]_BK %*CR7*UT=)3K$LG%H.EES/&\"0!#/A[Z"IX M$Y(,[,V8P)%H7'4(K.T0ZTW'1O1A,\K<5K<#IXW@@K,I4^\2 ZF38N#CO1A; MZDS2PDG>C3T>KP_!,X2"X )#["^P;_80I0_[DB\QD2[%#!<3$IM#>8>@/?P\ MH>P<)*\\?#6H\=6P VCMBV!?XUA,Q)(#. M)D_"::WJ"C*%NITQ#\?1CTV 8R6<]AJ-L 602CPCR:2CRDEME8S.V-^%\!_1 MD/@4[&'ST:\_EJGNZ#W\!^[N MQ-C6ER0 0T@MR1RK8>0H"BBMX*S;;:YQA%OQ7;CE-A &.P-+ZB,>?.J,(K0! M8K7=+#CB=R$JV71<$WZT/1[/+3[ML?. QP;_DZ0SSU;%9UR?]AW>JF6 MSE?7S0(Y;!8QZ.5ZBW$_"N1IOQ(41\:01.HUC0Z6;FW&/^\<\1X+&]SB-^ 2 MV/92&JN[D=P[^"6Q/0!VE]YDU$PO"WJRFANR>G/62Q( @/3C82K0?\/S^AB5 MN_NQ\9"UX"I'6R5F5CC+00UG.3S3E4*N CSFN(D9!!,P@U^[_-Z0>,"C0"=6 M]AAO!$@H87EV0E)"EX\#58G=G/EH/CV0;"9\\VS8_=(R@$" ]YRIBB8E !&: M3K13)Z0027$>HIGR\/*.-7)]J(3, >=#'("?A64]3C3F'DJ,\%E>.R(>$T43 M/+^KVK-(WX$/\:;V\UREE,"E-:C_@,\B0Q8>2O,00?+FW%$T<+?PD10M>BQ% M4!*QK]=V=2.^_0Q4)PO'G6 9ANA2\$)+"H(D3\@^W? M[;D(WFYQI]0]X1W<,MSP#%KH4-)&O]+@DS@1&+<.!@PG&_5_YQ"$:MTE9D*]VJT6I9] MSGWZ/\_F6>WRK^ P>LO^O75=[NUJ,T<+"PVCL9J,QF5)(W#CWY+A2X&S]8HR MCSNOZ.^=]Q,/+2'D$2?_.['W&H+C )9PT/T>Q)[989N?/9]EO_WPC;%=&\2X MUOPWACY2T%(#;S<;(]#'%'DA5+TP"#'BR1"6$D"?!$?!?[7KF=?MXE.V0#OD M9\ ^\%"$0F-G&4CGM(;_ICER-G2(=^!U@T0!? 90!Z14T90?=SV3K_^4M7J; MXQ/M>B)3KV6Y&L]EX2N^7BEFV39XDRO6V%JFR%82?!M\4.5J;3[QCU!CA6P1 M?/]OX@OWR@U" M)'Q@DR7V'@RL L^0G%N^"G>\?Z_]!P.*&+C4,M2 -UHY>/XGI3R\K&I.H'JI M@'TYD @B%3%4#RUCY]#3GBOV>WKI.=WB'R(("-/(X@'&H0Q4T- /(*N7" J] MD52Y]?YL^9Y]0O63M1FA[XGJ>,G9V)N5N4&;:B-7X68UPR%:@4C-O,]'4AI2 M$%HZ;8N->&+[6*I34]WZ*",YD\TWRE%K'IV7"TA&I%$!*V/>H-D62R,'&*,H M4/$.^Y@_F?.;T)X,KK]CQUT@S]D::O#9( %I%N!5!>(YNZ,(;^*E M%)]=ET8(-NKE\J/\(#_!F[_^ !O@]: !M!!M)3(XMW9TY,E]R]N@CD; 5-T( M:4=]3@615V .M!OH=80B\ 5[0X-;CF2=#^Q."<(;&$[.+N2]6__<0AD L ;%DQ/^%'*SLLM.V?>2:>"Z0U<"]*ML/&;P'J/0?Q6J*YHM M>S.HZT%'4^@=4P&'09!)NT?:5\ @."-A]'3[F11$/C4II&%MI,D2.*HTH-%! M:65N+B)'"B>DPE>PE -0,67 0@D>VGD;MV-[HKX#4) D8%!U!)UZ44S5C(3> MZP"!_+%QT#^$GD8 56B)AC_>^/]"G^AQ*+P:07]=\.ZC4W/VL1GB)7KVG=CU M+5L/W<'2/%22]^3]<5>@M,TK*QAR<$UBT7QM5D$PA;Y%?DC-FM M3(EYNB0K]H++##RVN78D@FXW1>QPI25.W+J;'_L")<]8'9FRXQGC@Y78RY5+ MC)P5N0+KZ9FQFDUR;7'=F(Y%_/":=8/2R+3:SPJS\=(9+Y2\07@^.!8.5OHV M5B\/II.R'HR;$E.7/;]7AG90+ ;PFBKY.1,AH$=-?YD69V01(HE^N=(V%JGQ=-K6 M$:FO";K0#8;(8 Q6'CYHAO%H2AQJ!;U")$H.2W1)%KJO.3<3LMB=Y U+)P?;57AZ98FJ11+J+ M0%S5%^N:4VR"E0?;=WI.AP%@:NGU246OMM5A/5N&USS8_D!HDMV90- "3W#C M3B&',QF>!2L/M]_B*VZ6PE:FP+>U95.4JH)$P=L?;C\SI18$(N \EZDHJ8:V MZC-SU(=+#[:_,+/66F!S>616YX=R>PYT)WI\C/0=OZ^X_7*ZK<\0J[5.&\TL MT8(K#P!5:JIR3A=FDJ!V>GR^0:NU- Y7'@#*0ZH5H6BG;&Y1&Y6,"5&=Y.J0 M\0X A55G_2RZY#@N\"NNFD;&RR )5QX"JCO!RT$1-7Q=HU!B&K0$#=/")NT' M@!J0I5ZA'U16R&PP'@AU/Y=O,N%5#P#%H,7QO*#4,$'*5D9"H^81##\^QOE^ M1LV/NPR102A.<'4'PX>,!!N/'*PLR;Y"BI2W%I+M4J>--@;X),,"87BPLIFA M44O.EE&N7)OZ6GT]IVMU-DK&?[XRC38KZU&3);E9&:UT*ST2)89A+N\!3-5D MOMKS4;/'\?5*SD=UCA &39$^O'VE1E#C03DKZS5IUC M6LWN/,"].!VDV69SQ@A=PP<:0"=@Z[(/5AX\YY2W3:8_ M:)L"E6VM9E: RMGD&*P\@OMUMI^S?9E')-U&\IC1I18ZO.@A[EFR/!R5\J*& MJ'@UZ+6'64J.KKK%_87=J5L5DC65H@ETG[$V-%0VS (^Y59-FX,ZU4,(!^'U M-&?:,W-58/S(LM%,3U58]\2ZC??XZDY8\O%UE9VU@?(%;E)0C:4*0[+PAL!$ M2>[?]:5"_OIHSE SWP([5+>>P)V(X'U-37QDP1 T5+ T: X[WFP&E7+HB9G ML+>SUH M]=$6X(<$7$FYU=+:K*#(;.A,U_,ZG.YAR-RUMW?= M7 V-=O2^W@\T]8B=K*C<"V;M71_ZDT> 6K<@V;Y/PAJ@WU$ '*:LO1EXWJ0" MA#?>+I6&P ;S7/4K LZ %LA3(9;P=^^G@KTT@K^N="7)&"^WAQ/E;-,)?\@#-X(E_^SGP/R[_EJ?-^2Y!<'Q>L:\1GJ MER^\M\_2.OT!6K^HW+D!['Z.=Z_:8/!PFT]VFWM8YA>]@-;.V?CUQK9_$\W& M;A NYVA6$+'P;4[HW-_KN3L4?*84^",]";8L>Z310'YOOQ7W\(G'I D#?[#-R2,G*"3*GYBVF:1W)FOH.2\7TDU,T X3[TCS2XWJ1>_ C5[+J:V+5;0]\6F%[5ZZX- MII\H33="(>H%(P=AJJ$1/D=>TLR*Y3A')&F=\FFVJ.0D#L-F;:4&,\I6K$B$ M:N(#AAXVGOMK67HK-BX,V6WL6^3)OB7N3U7\2HEY[7YT7V3)7GN;-V'7?JBK MSYG,VF5SD+=K2S$C8&N?0"DV($;%9C2"G<#1!X(Y[/;UI>WS3B8EO.3,Y]7: M,%OAB!FW?[R.P'^ O+Y7W[WGJ1>;,'Z8>Q%6S1_KH* ]I8ULFO7!9)*HB8D" M4XN]F;=Y/;, T&FVS9' MZ$%R6.>;(\?@Z#@EXTM3,G#D9\8Q;RR@_%;_X1@17X8(XH=&]F\,$3\WQ>+& M$!&+IIM!!&S?'B/BZHB@'TDF1L0-("(633>#B/BLO@4\T(\H'2/B!A 12Z:; M041LS]T$(F)[[D80$8NFFT%$;,_=!")B>^Y&$!&+IIM!1'Q6WP(>8GONO(CX M8);6Z>#HF8NMX"5/=H\.&S]_N-#P0G6&7S,P]:TVXF]]?,=N3?@? 3A'8JTF PV]!, ?<]*Y*U!CQO_Z#7K49 MO\ R^C(SX4:9XAU$\#$/P=\>?]_80Q -KOLNXO!C?M77B6!XF;/O>]/!KL(L MIH:S'(/?FQJ^LU2(I?_/P//M\'LL_6-JN&OI_XD T57[*X%KMFU)4<$G>E17 M/[1AH/QLE'WMW5VC^0EQG?Z6S_9][YTZOZR=R78E0:C@K=CY(C[BZL?2'U8DB+&9PGASUZP_Y0%*' M0ZW_C:7#WV4<7WO;YQ$.,&7WMH1#K#5\0E+45/=8DTBEV^B5*E,+D=+91;?3 M,&;, $H%YM(@UA_,9%-Z@ M4NG;.2^K8T%GT?8'DQ+="^4"#2T*DCFE-MQZ04[&<\#=53MJ5PR>W9EH\_-% M5^Y>AIWN77.!39YM5N/U)P5])Y_'ED]:^VRR$5"6S/A9RE\2>MU 6'*U8FW> M_U+3IMMOM(5II3KF9G2%%/N*3C1S?M1H'I#+ XD=ZBXQCY^G"T)BY3C%X06%&N5[>*:H8Q3GK9 1CF-%M[C M,,-?=)*C#NH;<%0<##Y0V -#Q@I[K+#'Y_FW8/OC&CO5U8A.'S5]O5[";129 MD40Z#TUR&$=@Z <,I<\;2+AV<"VK+E7#FJM*PE7EB6D9UCB( Z;?/-?JS);* MCPR;GL<[L6.O]HZ[6G _6WF7KE/E\EJ88%Q&4P:Y!ETF7/Y+[1>Z-25GJBAT M]*Z0RRE!%=V8ZZ+2$1:QMGM*Y81[.G#'8///K#T8_I-!8UXAMD=@6N93CY2WQT$2))#II<):09VNE MA;#JEV&+VNNE:WLR:*XW(3R@?ZUQ^<>D!2AVTGOD\Y2,TR MD[(UFZNNFI#&MJK.5-.-RT$^9A5=KV/<+0#AZDT4;T0>GL?M AARPX_LCATW MDM H2V/%RS*T4.Z)B*1UG%)!_-*R$Z8W7676V6$)F:6MU&B9]=HDYXLI&-^A M+EA,?^<11<-F)WZG9"<[ M+) EU%%9$N>^?H/Z%XJK:N,O9)/^GI.6WC@+85RX,@OPJ'7[0;[M6W>GWSXLD] MIW2:$WY1FL^1?&7>\+*:)WN%+_7 %SOI!M%0E(F@+5(5O;.VFDB'%6GH@<2FJ[.%F>7 *\F/%U]JU?VR7\=T[]??V_@!HH$IE'DRO.6 M/N+D?EM3?" &J%]_4)R)>]=^4=+2U7GC F+@E82FJV_U9RH"QY.2:EG2JY:, M/B7PO2+BIZ8STAI#_F< _V/D W')_H\_D?UC0^#J6[T^_^_Y"IU<#YM9XT%- MGXVZB)T4@UJ:_M+RAG7&[Q=]>^+JBYG1+5IL65MGFD $P( 1I$/#'W!J,!/ ME &Q*7#UK5X[1/!U;/^!,NDDS]>(;@5!NFUZ5NZ5R\/>-!0$9*0,H,AAH5-L M#,3&0&P,?#NI<-P:0 ?BC$)'KJ[GV];4=HHS6N^/H02@@00@D >:/E7J&,8Z M_L>5P%W^;)?5O!F NWP-CMTGMQ'X#U#3428^SY-MJ#-IJ"/W-P(I9Y^VII[C M:J,@^D@SP>.YOY/1JCV"@_^CV([>]N5U0EW-5=-1HW$;L#.6=1BB@:21<"<^(D5'!/)5'R3#6!(P\):'R&0]'W/\$3ON0D_N^9J3SKV>$. MX-R3R.AM6WL6,&I:"\05Q!42=,H4F6J063G]/*I-?H#F]V%6'[TD^QW-4Q'- MUR3;%O.\DY&3;BHO8 Z++%5'[@DI]M>?U.-A04X"$(0 M>@ 4Z\Q5\.%2-8+'Q,>)6IH!'MY\>S&0HT>)<]#.9!QL5"8X"EE/L:SC95JC MYE>"?#X.NAU)(%."*HM(.3-?!IF)#Z7Q"9A?ECK1H]3)ME,,44#QI5"?RZPB MXMDZ38R_$E2%[@0;9=N5-)?/=,?*LM>9HE4(*NSQT(#=@6HK,AUME?B(K'Q! MU]$I^.+,^Q]%6_[Y7_!G>\+(ABK94%N:;,3^3O.!$G^C%2+(?U]$OY'!H:/: MV_,&I9]TF\UY@Z+1+L*G#O_^G_V'?SI/D[)E6/;OK8ZVMZN)"I6HWUAX(([5 MY-!6)3TIC<"-?TN&+P7.9IQ![=OYN?K;]+-3L=A]:C@9)X':_\: 90)/:/!VLS$" M?4R1%T+5"T4 (W:(^5\I 0YTP(/_U:YG7N@]T47@:T!Z@+F,Z+)^]+R;CW[] M:4.M+&&-$AG(TF%IYD8#DLZI!;U*;IN-#)_=9?.00\M0P)?94//OP.L&B0+X M#*#.>4@431EPU_!6GK)6;W-\HEU/9.JU+%?CN2Q\Q=*I0G-_8/&YZS#CB!@4"T/ >(/ !^ M=26KX )SU4XX$\E6$XKD2@_@,#%4QTD GE=M7P-'N./"$_S?W>Y.R[[GK'N, M(Z5=7X7!$B?4_ :H%U,8TTXM4YW!'0S%M#NI4#R$6S4(U?^2Y'I D4/N7X7OIF$T SJHCMH #/W^NFFGAQR/+,"S? M^1T*GV=ZV#D4_N?**2]/5,4S5&MTPL62"S>YK\=RT<["H[@-'BAM6++^:XM) MJM'0)2'9J^H+F=/=^JS/>UV@0 -[5)J#F[NVI]X81I\I(L\56GCJ_.?S/IG0 MB;13/",G(5 Z#6GNJ+^W+_8W!?6TC8X&3QT'D488?O(< M%'NPB=8<*N:NO7VPS0W1"!COR_ %BB]*GDI?WSLR]ZYO@6N. (%O ;E]GX1> MUM^1FNT#.+VIWF[P$]YXNU0:.I;AN>J%U=J7%+.W\"BQ''>Y/UDG?^F4QA\I M-$;$#2 ".SUE(\;#%^$!)1^1&!-GQ,0'BS_>/!K^>M?T.S8=NA(T%SR?_)]C M9N*^>?CO^8*A;TGC+['\HY#)X=\S[.\-(7>QWG07VO/8^OSX1 [N%5I+GR+/8\.6/;"-Y ME4*+0^N^%?(FL%?KHYP&HU1]5;*/Y%KPO:6 *%B.TWEVI2JOUYE^-ERJ :>JNVKQE*MAOK!$1$T MU7U_0L_R:=VK=R0A2768U,07\:@&]"&%'#:LO@,=BHH5I>^M*%U-=L5JU?7$ M&=2BVKYU1(HMM75')1NHP]4Y-;=L.3VO+\*8'I1BZ -#G'$XZI44J52L2,6* M5*Q(75'RP'SJ8R4SG:!II<=F3<\D*^.DE9*$H0,S.: 11S\@Q.'L]3O0H.A8 M@XHUJ%B#^H9R+&=YQWQ1;FN]J%6S>(M3N4FNWRZ46XW5.!JWC!(/S,D!9]]# MA6)B%2I6H6(5ZHJB!ZP]9KU-R_J JBS;")8E^R;:,4S*:T:30%#L@:3NSP?5 MGJBV&I9$Q'K4V?6H:W<+/1*!OZCZ=.W]QC)N(^-8R- G!%T)6RQ;TY+21-1L M41;'$R8CRD".]%;X5CI6V#7V#I2L@Y2G+Q1GUVZ&<+%\A&MO[&=* MJ>--'M)CPZQ1?$ )V-2OZ3AJS*G\6&0BC>NMEF]QCX>_KIH ^E\B$C"JDI0 M1TEC=2^ERW/4D6%_=3=&, !6HDGVD\.9S''1MQV';EA2@^=JZ$W;8&=JPJNAL MG'#MW9W/_Q>1]&U'3T_8&^<<3_Q$,JRIA&]JP"S9#DEKU@9:BTU/\LABEDYZ M:23GEOOC9_9TTE'EWXIG!V%B_KNMZ=;60MMW_C7 5BT%W1G7O5%W.2O,U870 M->8"-V14MM[TH\8B"?JP0=3?<>^7$G,&F+<6>.ZH61O8NS/1YN?CU>_,F#^0 M"[?4T-HGA@T/6C+C9RE_2>AU V')U8JU>;_Y93Q8K:U$R\=*/+?HL!W6L&HD MPHU%/.1!ZMP\>.TS)JLN5<.:P_:(JCPQ+<,:!W=S@%XA-2 ^:7>_V9%6>T=9 M+?AH6SY/UZER>2U,,"ZC*8-<@RX3+L]^&9_7Z&%[H*GK,J=B*988+= &F6N* M1,CGV!M\'KNPS]:F.,QG2/CPS\VU',4/J='T9M#'XJCF2X(LSN:29L.1NX<= M1R-B-2"Q[F(JR%[ST7)FW'.J&LA1?,XR$92>*!TW!-$BG MVD@#9R 0-3"&\IF&KD\M7/?[K.TWCVLO\%17+I@Z+SD%Q*61_* [/M:Z;I6C M^0Y-UN8"IIC5?';:(\S9T4:$3&]42@4]SQ<"OAZ(LD*IS6SS6"/"--68V&Z/ MF",J4ERT-4L@]25<2;Y<::7+:Z0E9DF$IZKE"9GB?-KPC[;#B"VF%:['KLCI,B;+%WZP-XIJ=MD M;,H>:X-8*68LNF3D4US>M8O#"9E#U@/8,/$ 2N)Z@>?-LNUSF1Y1S R7KCQ) MPAR/+90N')%KV."TMMV@84BF"ZQC;N%I<\A$64#*=Y/Y=7S;,?2A4=D"_[5/[Z='GNT=7MX_^ MD-!,V?#@/9\^!&>7 LS_D69*IJPF#%6"71J'X!$B"S"\!*""T(>Y!@+7L4:N M'[:,C13)\"*RY;C. Z0N1W-@\T<@WJ&XCB+74*W^BMCUJYQRR!^FDYN7NI7& M4"CS)EM;E37=I)J7"DP_M9I&'M\;@D#>'WBYRR#U:[9<"HG#I;<1+L4>$2I& MQ T@ GU$B!@1MX (Y)&),7$+F(AETXT@ GW$X]/Z)A"!/C)QB^KK93>]J;=^ M;7;3%Z4NG9;"-[UE8#C!#__?+_+79[>?>L2IFT]:.C4^AG4BSX@U>AH!?QMBNL9Z 5_Q ^J MR[X5O615.0RE;V@&?:(9_+-2] UGV+4S.C+6; [4.#OR%L_!#^83U9:,)S?S MV1CEVEN]9/_UT(US[0V>I4(T\H/<>,+-I6M"MQDWKX8ETD$[F*O/,_ VG+1; ML\G*,=719)3V+$]7K7*/*CG#$57Z?'WIJX^4MRWG6%=9ELS5!:6C]P+/Y+E44S$-ZE,Y^3Y"=;QDQPE MS 3*U2)"ZGJ=P]7Y^.Y=PT7[\5_K@7OOY+9>0$8Q<:)&ZU**8NJ%(^ MDZRSV9'3/I69?6;&QCBLE]_GUE]^I!WV=RK-CK.*>XRU$7T+W.SF M>*-K((%;8W*(3=6:TA>*OE5ZGISD+;XL:-[ F_IT,J\W_:@E/4X\I"CJ?MTO MU])SKKWO2.:<8RJNX(O)O*OH(+;=8I_,W4BKOU-@^ V3 M@&7;E]DG=LE ;MF(KBQ&(97 &F<%WB''F4E[.,B/OU!T67T/8=--A]6[F&H% MBU3+QW*;T10$\4!3IT17S.>QC^:;\_E?:B7O9W2DAHV[]60?$_@DRT^U86>8 M&W]AV!A5)A0I)J69H I326ZW=%]OP!I?J*.0#PC._ 2?S?]JKRH&OO]X00AF+W MG^_5KYU]8M_L'O>"UX8*7P!9^:SIS6MR]&@4WK*-3,8T.(\?CDC)(;I>PX]F MZ1! A&*'\:Q_8P%Q?M_/M1GFJWU#U][O503$GF+FY'K8S!H/:OILU$7LI!C4 MTO3G7;X7E!"9%#"G"J[7YS":G/7<%>^Q'&R/ I6LU$.*29V2$-_ $Q1.H4G, M3_>V,-5[R,_YV_S[O]**KCW0Y6)YR-?>V/4MSHMI/J\*JN-S:HA\K^OF9+F/ MJ$%J9*ZS6(F6QM' +(IX(#$T]OS\G>9R;5J_6&;QM3=V?2:^G';R02[6C9Y: M2$I3AY/\5"V?X1VN;,.6:$#C(&E@DWRC85/?JRUGSK+#QEHNG%T?60$?:8?X MD'!#7>J9BTF-9ATF?,E)_-]+M;8DCO;U0DUK@;B"N$*"3IDB4PTR*Z>?!R+( M#Y#QOF:](UMJKWVE)9>GI%-5;,ZK,RVNS'=:.,H"-?GQT!&9 $@WMBZX2\/E M11-4;B'5U*[>6"!EJCI>>E.%U^;^Y> R"ZRLM'01$9GAF93#%RJ#2=:'<#G, M\=_"Y2%AJ\Y.B,"Y;.6*.' M95_,CG_]23T>1L&^AB8_W9CWK'#)U"9]P5N46SK5ZHBO MT.1MR_+MH?O.NRR)LXVB-P+NH>FC?%@X92CT_A5RYPO$CY)6+X!LCP8F:'*=5"O7PW9A0V0X.@&:^>S^AB+Q_Q[DKX^0EGK9K&BC7/1TO1/F_A!;+_PF30Y6!K*8M5OC>75-F[!]/HJ=4+=?LB4 M'N 5P$LURU43J8=$^%3.C9_M5QN?L*OCD32[(QF>F@Y"O!T. GF5[C8T54DV M>E2Q6N8%=5"J=*99+8U[IVCJ V,'*I8Y#F>$1%,'"JJA /,!T-A1.G+-A9Y; MBD9#R /!6%W6DXU.??S58QC.!UF<:F7[F2DR1))4-[]P"\-IE3XE*B\&V8Y: M9PBZ6Y\C78-NJ#11%LBZ_[EQ#B=[CY]]G,.S(3!A4[Z]7H,R.%)MZ%B<;%M8 M;]V&D#LOT6SPU7Y!*/WD&-S(!A1[V5#P_SQKE+B+Q<(FWI;]>^O@W-O5ID$C M%@JOL9J,^C!*(W#CWY+A2X&S#=X-L/W^@'N4&,:\U_8^@C[$B^UR:=0!]3Y(50]4)H8\33 M!"8I,;&A)/BO=CWS>@NYS32!_5#=;L! .VS%#K@A8X4]U9V=5U$ZIV?QK]I3 MA6[S#KQND"B SP#J@%59-.7'77NJZS]EK=[F^$2[GLC4:UFNQG-9^(JO5XI9 MM@W>Y(HUMI8ILI4$WP8?5+E:FT_\(]18(5L$W_^;^,*]O#S\3V[L'Z V>5!D M[K<;?$BH*UD%%P 2-.%,PDH'R94>P)%FP/1 P/.J[6L.[/(/5:]_GQJ)G91] MSUGW@"/W. Y%0XTF.E3W9^6&]\S5!JS!E*>3I$, MF4KV4[UA-_#98^-[6HVFFB\W,EVD.VD$4P$A,,[RCXWOJ?4RS54[I;!&BR:Q^;WV+JU[DHM ]'K2+\U6-<- MK(?YT?RUYRN[.CL6RUI?%Q;BPLXWTGD.T\9@Y<'F>X(D4WJYV07HU!="MMRA M\0I<>;!Y=F(81CN5=+D%P[?,/BV(J0#V;CBR>;0PJM-6!6"*:W #JN^D&_31 M04/!>IR4,E.T)I30=,5@BKWB%2NWQ29PY6K>U6=(NI9T\XOE2AB#E?C+E1F]Q"N36;4G=%M-;U)9.%TI"U*@B"@ M_I+%$0_76D,ZMYZO%< ?R+&I5>5&):?74L("+_DB4Q4*QCQ<>H#ZAHY0F(%9 M>23OYE@5JX3Y-Z7QTC.HIDJ!9*,XKO=$KA50^0CRY7]'H8X!.! MFBW2HQ(]+BR5\*J'V.\MFNZ$)NR"OI"G;G?2Q:=+I G-ZX-]<73 E++]5(JK M]XT4NNQE]3P&EAYADW9G8@R*2@='I'2ITJ@% M/I@8<]PB=RUW5JY2S'(%JF MY.I%JESG(0B.,(JO)EOE1;?MZ\EYMTXJ#,.+7KCT %KRE1AE9'>IYPFL&T\%LRLGATD-HK=)D59HW=0M)#N?+ME94 M&Q4$K#TVE8N7Z\E6OE/7M=;"'?MNDJVLFW#IP;[H]0I;C4D$1[3IS%QVDAF_ M:X1+#_8U+"CU^9H;3)$N%[0PCQF6NH@/EQ[LRZC3R8'I9L:(YS-R,E67:BDI M7'JX+V]6PMQNNU($&$T&RKQ7:"+\6$2/L+;+9F5&7!!MO9Q#LX547A0XAX5+ M#_;E^"0_5GI"!L'D)=Y%1LQH, NO>K"OBCE;KMMDKR,D)X 8@;%,)*4F7'JP MKY2;1-;UI6LBDMCCE('O^HM&>-47^Q))'*5E!N*'+J\^GZ "U-(-#N@.L3_5H&U>HHV/LFFFD(8X(AERS.!\> M'4Z72U:[_;9#Y77/;QAE(UWU/!2N) [$MEXF9D3%D+E@XO179LK)$OFC!U&- M;J.,R9.LH)67T_1$T%1X8AYA,)/G#;Y-6)B07[>]E3]>RFR3/2;?5TESW5T, M@R1'-3@I3;J=C,J/]^3[A<9.*B4!\[(,YY,FEE'& MAX/8CJ^[E4%LJ9,$G-)4Z!_!5;6;'1Q.!A-52*E7$W,P(\ .D//!3#FHFL8FA2FCFA@)_#' M6_\]O"QT?4AA2"Y<&RW8)6J$2][AZS@2EOB*N6DA]F#96&B]'M*PA&CZM-EL MC;GR>+PR>:OA+F"E^X\>EO9UD]#"JY#D(X+&XSN>H_U*$VVH>,;3;2 B'GMV M$XB@PPD/,2*NC@@@FF)$W 8B8M%T$X@ HBD>/W<+B$ >Z7@@XRT@(A9--X(( M^C%FB%O _I(8C$B;@(1"!XCX@8003^2\1%Q1D1\L,7"FZZ^FYX8>1FGVOD' MA+YKJM,99L"BCZGO/8=W!M_^N]#H$[ M1P?@M_*+OW]_W[]OD_J1;K\[7MH5_AP;.5O/"2.N@O-(5RP$=8IJ-_PT+!G' M?_W!'BCF5(O?;^OYCKGP\ZFT]\>%'V_*>W8NS'5;4CGK#/,Z;TRUU$RFF[[% M1C/OL0>2QB[!A1>/.<1<>*FLT3MBPD]W9SX[$Z8F1*>1#=2>GJ'7J[R,\?;8 MA4?(CG"E?$MT[-;SEV,26)P_+>A3DNDH^Y0AE=):9*[C ./4F?-)??PCF-AF'*,\; MHOP\(X^YCF_XC"!Q^897[CND5&V3_8W_&VSR?KQ>2^711*7)2J]<;Y?5)K>W M4Q[Z,"CJ["Z,+Z5O?F+9;A* 8+8_+"XN*XX#(W&:PN4\"R'7M0'3G:KY:/3( MD=PCF2&GF?(JW:T3>!=MBC1T*%RL[BK.2+B/3<89">=U#+R+8^?-MKGJ$J2C MEZT:FM9+#-*G6,"QL&#YD@Z!.R?F'\*QWZ=S$LYNE]I>EU6213S-%^ MA\BZK3)D6&#.4\1%LH7B+(-[V62<97!>J_Q='%MO*'@KW6*+>L9;CMU32_]MYN*(YPQ0;&R^GBN\0_W]OHWIQ]Q?#H.Z(-V,*4)GI$.RVH5&[> M8^QILI5G128TN*E#%]DYCLXX!']C+'!UT7"<'*X-EJN=G'&X^J;HX.KL\4HX M^]IPN=;)^36V]%LG9\,<4"ELU$TC7;YA&&I-+32()C@YH\3\0]?7O]\GK+U+ MP\>(\ 9MRY6,O?!V'-K^T(G_C$]QP*>*!:GK.@+L?"VUK[ZOF_#L?4FX^V1G MP[ZE"2LG[W-E)2V1? EM$.Q81)$PS/U 'M'BXT#WC^??@Y%Y/YQ_+VN'G^+? MZ31(^1(V3PM>G_$DOYRN"'03\F_8I9M!R3CL'?/O$8OYVMNZ"?;]DE#X*?:U M%#3I]V0]I2_ZM*YTIF.:C]B7^?4G]8 A<1#\+ST"UZ;S"[ O>0MBZ9;X][+& M_"G^Y1FTJJ:-55U8N#7!L#-XH;8(^3?J#)XZ693R/4/B5VF>'(?+K[;O(R/8 MSQSEOJZO,6X&'M/S>:/2/XV>XYCLG=#SS54[7PFM<0SU+LCY]BIY_P:OMQ[W M ]>LNQ/53FAF9%L!8^=\,X/NG_?N?Y-7KV.]HK9_YZC]*?1[W:K.*VKW=X[: M'T*_UZUQO*(V?^>8C2O^;IU^OZ>O/R,YD\1JZ<+1.P<]=N,0P#=W,=U01=PW9?\X5A 3?AQ4B(,*,>'' MT8&Y3N)D6W-$M;N MR]"H.9\E<^=$?05WVOE*DWY$ZN275![M>"O,H6Q( 701.$?R*'L4,6ODDAPF M>-6.62EVO35*-D64@&5(V .)76CD6!R9N6%6C#MHGK&(Z-VL*)8$CY]V"Y9. MF3I2[#7$12?E0U:DX/0_$CW5]F10)MK!EF/J X2C&: M?*?9+!4J(2O".A_L@29/*:C?,/;W(2OYV7#-.-KWW7V_9VSR<5->K3LSKH^- MT=F(L+I9V43?@R/"C$M..FUB77,XB5[5>DI!',VA7D%"8YN^T!2M.(KY[1GZ MYN*2=V:B?YJA,X)<*LQ[;1+IUI#2;*+P_(SR(4-#D_TB'7SBZ.SW9^B;B[?> MF:'_:7Y6EG,T66C6\AQ6&S.%ZDIPF@(+^1G.N20OTM(G#CM_?X:^O4#RG?D+ M/LW1$Q6UZH+,Z9PJ9C(C*6VVS'[(T>'@#.0;3[%\Z2F(8/2UGH+[EU'?,VX0 M1],O9? W; TPV5PR3C@M2<&N\7S/3.IE/H\IR^:RX+>!T*&@G9\BXLZ>/X\? MXY#ZA>SU]_"C:J0611\5.82J3O+,/%\M%_PQY$=@II-QI\Z?QX]Q7/U"YO9[ MV+$Y+XV'2FY40!9-;-WNR)95B]B1"1-=J OEG,7A]=MER#B\?BES^3T):\VCM^#U1(68!'2/,NKL/W/+T<+N-[9J ' OU2U;(,A_0SK:>[@G M=TU2M@S+_KWMW[J](J3"@\N%MWZDU*W1CP&C?]L3%D)'W=%40O)<*X$D$'C? M_P$WWOX-X;1[BJB;+'@"0YH[ZN_MB_^<@3]/0"Y\AJ0A!9;G_AYI*U79!]1F M.QO>>^X!V2RCX7?_L__%7SWP"W$1,BIXUA-RCCX0$N& T.=2Z(44V9?&?_6X MT5MX(?!4@"6-Z!,_HIS-1[_^%/>JM6$;6UBB;:M+U?34AP0/6-!Y2 #$Z&J8 MW@$$2D+V'( QU4XXWGQNV>Y#HF%;BB>[0! L5<.:AY7><&5>-55;,L+7D@(X M07-<.Z31A+J:JZ:C.MLB<4F6K1G8>@#ODK%,!7ZKP%?AX"')!6^ /'/#,G(' M/N0FYP0L"*^? 3^WU0GX&;Q\-%KG<7=F'4B F, O1.#8+1-X5@4T(FLAV414 M.0,$K*VC#V)2O"]2Q&^9%+H=9'W1"QJL(" M.I7&:DN=2>!PVR2*PBGI#FLJ64%D"6D[/LC;X+OGF>6.JT(2;:X#'3 MAB7K&WUW*)862K\T:::P)&'!$1=N!!:* _@QLYSZ15,J0@MOV1HI86?/%?C77M[USUE_==[ W4I\HW0U9Z5 ML'=]"UP3!M2V7+1]GX2B\O?05B4]Z0,@'+$:7E@>3T?%;JDT!"+(^."H[C4F+/MOD[+P#VB)$Q7FX/+\ >ITZZSF+$7 DQCWC, M,+>(%^01/9D*$B/FKQ#SPOF9@3.T#.7=<+KHZ?O7 M0*(_#J.34-EVK#_\>PPH0!^%'X9>[T\""'M$F)<#P+YT?C?]W)J056CHGH;I M\-D]GX,/:OH1P("ZOX7<\/,9<#&?W02?W0.0-BKG_? :-*:?,]?%M+YK;/V3 MHONL! -5KKLB&/P]#&CN\R(XHCBB_EZO850I6!$<\*0YHN^B(O8KS\)%'LD#[SD MYQ+P-T:=5\AEVHCT^R%C7"24HI=BAN144(N$29:D5;86^)4W,)4Z8>SI.OBO3_?79L9], M]P&60]K(L#;D.AF!;Z1U5Q-IL[S2 M_;S7)X>ZA./9"5U7LUBE":@3'@C8(W7N\^#&M)F#(^)9K/R(_7&O1L=5&/9; M62=O98#//5L5G7)_V'=ZJ9;.5]?- CEL%C&8X?*98^DIY_OS'=5>2(+]?)F& M:D/?Q"X+/(GMA$+=F+62N.VXG$?P>2IIK-=4=2R2\,@B'@]3P/\[-G9^JK%S M(:YX_3B\'E>09*_*3O!Y#^&#M31?H>5>UH%<04"N."P>_.^[LIU>'HQG;R00 M6TK?FF//?8Z=T&??R:^#EE6:4$5[HB?+VF0EK'H>0?K@@<$I1I[FU]CRNA?+ MZYN<3W]/[?UNK[AVYND6PA>+EB0EUR.]!JF=@-1^6$G[\G3:)JN_M/?N+7D] M2A_:2Y*2P0EF0R*?O*CAP.&C72)+ZM7H(*RPV'7SB0"#XB]3G_[/NZH7]W:U MR2S#0L8"%4O)"U&/,D7 M*3&QH6#XKW8]\WKD^U2M2EB4 %/M,U$"O+.C6RFBW0N3VSNBSUG+ \_8@=<- M$@7P&4"=\P!+7AYW0>GK/V6MWN;X1+N>R-1K6:[&M7W-@249L);IWZ?T@9.R[SGK M'N-(:7O8X-EY7Y"*+4Y0Z7%'2JM2H3ED8Z8Y$XO#MO-)O.K*=4!,GL.CKO)9%L%YJ6!RM]AO+;6*K;U[WL&@GXVIA8 M44UPS!^L5$FK-['6 QW1NG:^U!CAJ&^,Q=21NT_MUD 3*F-!6MFCDSRJ$E[8DNC..6+NFI4D:0?5.LSV)_@ M"#E1EB NJ!F>ILRUJA\K"#+@<4&O9* >5F&\TD3RRAC$2Y%3_K^_ZI.;JLS5@"S MJ^ISS\:N!6)5OO6OB'/])QOTS M+QQ_?ZL&]O6*UF.EK.2G2UD)>%#=3['4D4K6PX*[FV.'\Q=$_[/O+_[W&_'% M%TJ&'?=@G^4>%'O$[ZHX]6G&:&63U7.F0M6;.TZV=\F '0QM#5RUH!I+%>X* MWD$RG>3A;3YR!I^/R)!'*G5/1+;QFAXEL<^)YAM+&@W]T?_ +FM/]4:.MDK, MP"4F9RDJNH'IO#>1>!2ZI6X,#.=H@[[QZ]Q^$O"YNZ-_/*7P0^W03T;,MFW1 MHVH9(&SKHYP&\ZSZ8;7-0:]TAE\-)_V^82/UGBQP1J-:Q#LP8HS_^D,^X-B% MIOOU0@\O[,S2]4:NZE#.)T>"J6/F?26;*>6@//T_;A M,5L-[8PC,JBJ54:X1M9K7" XRX$U+/3R83X:T%A0Y $E\8NI+#?#P]]&/[D+ M"?!68"<6 '^I?KR/\1M*7Y!;19K6NX1%Y#,2.K$=6.0/E \,\/T9IQ_?K$N& MBOTN=^UW.;?6$IM15U)DH '5]JUCXY27=:$K5/T6 K8@S4:%0J&\\D42ZB_, M X$2L_.TI&)/2^QIB3TM7ZN@3&Q5/2)Z1+8B#YUNNR]T]4I'"7K#M=6 Y7E M1:$?:"KVL-R./G(7G']]#\OY)/F]N!KHV-40NQIB5\/W.,ESEGH?N#:<8@4#*A@L ME HGM(RU9$S87KW;0&;57-ZMDJ5AK0#;Y0$M@TH]H"05>Q%N6?.X0<:[+0'U MJCOBVF"Z9?WF.B02MM$&VHSE2L:FI^)\(\EB_\4W]5_$^0/?46LXHBAH2Q]' M%YGE4J^GJ2Z[L-!VG@J[Y<+2#)1Z2-&G; ]V?YMW(4C[ Z MVL %W:<7 9=Q5KB2'( X$<9F&"5%P,T&&QT4_"D2%H6">+'1:. M_/L]74%PBA6X1R-2O!)+R?#",51N[!LZL][UC-MQP.U*.$_K)H3=.1N577N? M]VUEOJ))'9%@LX)B""TAV4"2%5NJ+.PULAR-X20CF-="/>"IP^'=L1OI:MK1 MM=GFBQJ277N;]RT=CFH]Q[K_V&N6ZG'#H:XY;'.>RK<'\T$XY2QT/&'XFRW( M7AL1^UU&QAYEY"O,-V,/YY<])-R)FLA8,_!<06(B.8FPRZZJ0)^8E8!< 3$" MU+/01V9*FW?6:*3):B+DOH":IP!94X&5_,U=Q(2 M)T2Q!RX O]+<4-6##_5_+TS[&Z(5!=-692@7%,$$Z[>[:WBV##:OUH< E.$> MTT%&)K+%)-ZJ33#\F-L_(SWR _PWONW(1F02?F)JKHO[ \JXM":9-MBT&D56=84 M6XB749.VG\NU4E3SUQ_TR+CR!*!4 [QX3+0G0)%/6+OFW1LZ\,'W.]3#":*C ML$$AH C)AD1'1M00Z?N J&8A!3QC*W!&RDEME8P8Z'R@4B9K25TM M]F;*L)'.VPW_Y#'\47Z*WL(+G9R@Z_K6CI?#?X -DS@Q]N\E.3JV*[8DR.M4!?$J^$*DL.6,[K)@[[ $.42F\U("/WZ) M9-M*M'W1%B9+1L,832NA 7&FV3OA4G].H8GP,$Y:HZ3GP-F-C@H'W2HP%C#2 M@*P"0(5KH6!\:I\-Y"+@MA?#'X%0>O8)_K@;_;T_MG,[\E/$%0:GL6%*E(>* M+!(8HHI#!2%$2E6&V A3Y"%" &I^-B24L^0A-I?+A(#AZJR>*HZDK-8\-O(V MI;F8UF3EM5 >!9V@Q:0]J7-TD.UJ7E@96:S5X2B^E%OFN_S()H\.G5TRR5G> M"H8<%_17U:#GS'UISH*5],N5#N*H59_H45PW5>\$-";6F3GL]75PS1([7>OU MYF3(S49M5)%D@D5DN/)@D&TW:%%LM=]H"OD1N1PM ")$##8./+B[/[-F7AMQ MVQPV#\;22*/[+@<'V1[>/>M1"#V6ZGK2[0HY8RKEUB)LTG%P=W/9*XY8EU<$ M:CGU1[T5IO05%JP\N#N](%,EN5MVN#Q2=TNZH*PD#5X310]NO\AE1TBRQW-U M?)!-+B4T0"='Y^@.>D0JD\GA18%JF)PL$\OUN -7'FPI[:-T >-J(I)A;+4T MX[!4NNF#E0=;6M2MAM')L!B'J>768.5UJYD%O.;!EI8#([VBTLB0PV1;LOQD MIR?;8[#R<$N @MW)F$P;G$>/Y@-)=;I4BSTV\#==J6K]KM"K(CR3%5QM5<"R MV?&Q@;^#JKRJ-34EAY319J#T5)OC';CR8/.+,8^R77TL<'ERG,P,Z$I0 5NB M#SKU"8,Q72;+@I4' M8$HVQ6$ZG_%4!.-3A?1B.O1J+KP[\W(EA17SE,WC35VK>SFVTT;$F<5UALG$K[8.4AC5@C M2J^/2@M=M7,LAM&D%*Q@2N@!F,K4(,\3N1+#=H(H M:\P!,?6]>$0RK MKW.JVW\!)I%D%"I%,)B(4#0M$D,,%262HL51"I$9AI$4E3@ M+-4HV[VDAZ<%SY%3Y<:\W;?@<.@C$M*4F\5VMX4(4F;=\7U:GƽE:11KY MF4FV?8%?Z($O9/4^LAP?DZ5<-J>XG2S#Z90^QXTL0::*B_%166J0IE0CD(60 ML;OE9L%>9KH\>TR6#KCQU*P64FU=4C@Y4PM:^%@>'Y.EI>ZPK)R*$]IUB2LG/VF"RM!VA=U^E)B=.(<;8_9@B_ M)!V5I=6DU)^9I:6@YY,:[Z*^R>)N\Y@LI92N0#'VLLPM.BF?&[8X-;UFC\K2 M>JNTKM=+/,E)F)1+2RV#9M&CLK20+1=22M4UD7R69-;6/'"$YE%9:GAZ41TI MS8ZN:JZ:KLDML2@=E:5+AUQ6VK20UC,T-<3G56*8$MACLG0PFV3:J#2H MHBJSQV2I5]8$=\BELKJ'K8:I8&&T>FCSF"Q5QGZG5-'-,9<$=L6TM,YEK.%1 M6:K4U+&QEJSL3$D/&^PQ65HOJLG5.,DMD#I)L1D&1= "\TR67GH"-U O M.S!\D06FC6$YGJTZAS.W\7QVMK $#!620\8KZQEU6C;\R% %NB&P)=T3ZS;C MW"\SH7O?J@GGX[SN-: ?7QL*%_V%L$B$P$A4@7H-0 $5[S-: L^G=$._V3'C M(/P(=L0WW=_):-7K>P+FPF9B>ZCI0_>2D]@D!.U[1*#?!DW]QP$F+'1V::$? MQ &8B&R+T.,A 9MC%FU<28#W(PB/36S+3$@)8*E[=FA1#"5'^YH)\;P\417/ M4.NC':6RH9W#FDKE::+]!E]*W6QM'S(-G_&5&?*,@]4(M3O5$)X=2.U\?T7F MDO$,^2^=(4]0CU@\L_35\,OU9LEBCP@5X^7V\((^8EB,E]O#"_-(QW+L!O$2 MR[';Q OZ2)S,9HKQ'EF6#(Q7FX0+\@C$5O\ET/,!RM.WG187@T(]%=E7;\EP;\3!&3+@!_^ MOU\H^NN3X"#1QQ3V,CW[2TO2Z.3T-P.&S>^Y'SF!>;10)LT;1OS E M+'J%(P_1"QB[^=__&;[,;([9Z*>S$?99+D*!'779\K8S,L+=_:DY/>P0RPPKTT6;_B:[A\";WEU8K[XB53QEN_B M!T#@+2_!-V:,V+3XR1+A!YH6#5N3U8T1KIG1OZP,?7.QB1&;&+&)$0O.KQ&< MS&/JLA1R9KG)@XMH([!!,_;%Q*IUK%K_,-7Z0"+$1T:L:[]U9D2N^XVR/;+L M^."X!%7@X,F^$U7L:1(19=3=B1K31JQD_G_VOJPY=9U9^_[\"E?.V55K505> M#XQKO]^J,F"&, \.@1O*V (,QC8> //K/TDVA"DS@T.\+]9.B+"E'AYUMUK= M=W]Y5>O#=\S1?;M ( (K,[ R?Y:5&1B5@5'YUAY1P-6WX *]V*U;DRO8+0+3 M\NYO=6,]N,)14'4;U0DHK75OT++^Y0;M#/?V1($5D\#//=_955PAIIMBFHDOD[L,+.:H7=3I[[ MKQ*8 T_'J-\![)[/.KM-F:$#F3F?U7:;(L,$(G-&Z^YV9&:K\J#I9H0^ 7BO^_6Z(N$.=\JFG6%9GTGYNJ-BZRODBAO-&TRD-G3 MRJROKE#=YJ6I0&1/;!GXZ7#\1H_#/RNSGS/(?=86.RV8(P+,;'DN*"=J5^NJ MI,_6>8T.MLBL]QD93M.4,G$=.?99&\IU[[Q-9?J4L_DQ+P-#,,21@T- .ZWV M-F/<0S\\@/+:I1UYY%9 (&M 106JZ!Q_WG;H8%,&WWMPL?)4$;F(7N2 6"VJ ME#C+C,W/M\Q$J,&J$OH?]XP=1YI)'&NQ&XJ.6C-N6"-M:E58-'6QK)&HYP5S M]S=.OM9#,T"D4WAM/B/#2;IHNZ[9-X DW(>#/IWAZS-F7D.FD5?G,S*<0J9= MURT0Z6OS\BJ&8])W9#@)3+NNW3>0ZF M-3VI+_WC\._*YV&G\Y(#8/LI+G'A6>_?!Y!\,381[A*)JH MD2WT@Q/T?3P:.9\K_-, Y=JGE2=TSRAR^DWT0S\R\_93&-NL QE!@FUIZP_3 ML8,&3P%?@L[!/N=+T#G8GWP)<,R?? DZ!_N4+T'G8'\R)@ R?_(EZ!SL3[X$ MG8/]R9< Q_S)%RH<#?3%CWPAP]%72Z,%C+EHY^"W I;?J6;#39R@?8D"I^@< M#.F1O*6R%?N=@S- Q"=&7O$3ZKE[,/.UJA:!*MVD*OV<"K%!]^ ;SO.Z.@6" MUEZ!8O@QR^S:% BZ!P=Z\?'XQ0^@P%N1@BN83U^MLQ&X"+>DV3_010BZ >N M0N J!,!Y;>#\;ETT@B[ @8G\'4WD[].?S=>FM?L;^LN+#4."322POM_:1=MKMD70%S@P.X.^P('=&=B=@=UY.Y&)M[KW'2EJ_@.-PZ/]?;\+Z%^' MQ=_-T@O:] :6WDO:'XC"V1Q"-R/V^\@":M-+G:%-[]E-G3?;]!Y*Q:LQM;N_ MOX(NO$$7WH]K4-"%-^C"^Q69^3Y=>*]B> ?==/W ^N\%%[=V+>ETW72O'X$* MNNE^D^KA)UO*]4N(O\JX0!+]GF-XNJ5T'Y>\S]FV/FLX]5,:TY[8\/79ZH)^LU^MZD[1/89"9=V9;]5=1X^F M'DO14JXP22]%LLH-.>I1OT[#64ZJ35,S0/;(8F;UZ%13*8?,+=R&LS'J/A)C M@IZS0<_9H.=L(-,?\J9\1H:@Y^SMB/2)O2V?K>Y$?7V0[_4-1/4*1N&)+#B^ M:3IB3[4U;3RB(UNDXO6;$XE1-5M?C R=S8KF>&J51177B]9-\TX=[O M#K\D;3XX_3D\)ER_)0W7T#=D^-0\4.8 K0N]05#-T.%K/E+U\B:"6#=QHG1Y M$^,Q?ZWY9\KVM<_1 MKK#FZQ^X?7K1.[U'/5^E8D_A!,23S5M60UXU?SCGG86\G&=(OM\A.+G_O&Z/ MND?PK5ZHK$EH ^+!5@'!D/<$:FY[3^R?#"+_V)1-"TAH\%13@4-,<1$'8F"K M$G[$_UVHX^YQ+Q<[W])\U"NCR97QW+)H:G HHE8&X#8)YLN',E\]YXF7J$8I M];BT^9S3FNBE4":1I':/8Z)G=>9CKC-?$0RC5YO2 G@*C;E)L7#,E MB\K:D9"/7X6M-="BO6[](4)6)>ZAF:@5II$4>R5ARY:KM80U%)/=T'BK'8*0VP-&&, 7_Q&4 MA>"8WBKCR3"S3AS_L\D09S"B96+6WJ]&19R-"(""B0,W^WU8U_?*%.Q4I MB+)SX<[[Z.YO"W?WAF"3UG";;G.S40MGVJP/4O'?RKW/:#:0 M=>8]45#%\"85__JSK%1;7)-H58ETM9+A*DTN@WYJ5DN%#-N"OV0+%;:2+K E MHMF"'Y2Y2JM)_.(K+)\IP+__)BZXEGWKZ/7K,NP4ZC;<#;9SC2>IOA0/VD7)VDP+BJ+'AI*G0,TWS8YFR/-L$*0\%-(N3DP MK>F;-L4%[25LAH%FI/ M)!VMMB+-V%,Q]OAY$[#P3)SW;L6#_#PY6C4>VV0QF5X43'4FMYGZW=\$'4Z\ MN!43PJ$/L#8&]QP#05%<3_8[#QB Z,U"U.X1O@F=!/,M%ZBQ)[L"KIN:$O(8"3: M \A(8HXX&29:S]\E)%DB5,TB#"#"'9Y ']DJ?(Z"WS849-6\W_X$RH )X$?0 M5A8-(,F6]PF2+CPIUZ)&:S'EY=JR!JH$O[O+Z(T=M@T>?_^[8YCM*$[&-O"8 M'M6C7-5I:5MZU&VETR8]*$:X&+D:TQG33C<&]7W9SH"^]2S++?CLE**)D[LU M:B6U\7B83G(6[X2RMK'L%VA/&MH"CON%A :),$W^ MF_(^Q+]2__Z^QW)4EJ6TAK\TM 5#4"W-@)L=VD"A3,GP5S@*:@B4,:3Y^"L& MP)N<^_L0"B3^"3N(Z'5]09VX;A[>%8G!&GKAX^ 2+1N)F4GH@F$YZ L&L-P) M*$B0#=.=5UK04>$$HJJ">Z*"11/^QIJF!A^%?L-?$21HE,+MQ<#[)9P-G,D] M?) %YX\4V=,BV31M^ '6FP4TI[Q7W3_/$KX5+O67_-M=Z_8ZCZ*!;LC/2KHA M@CNGJ:N06X^ +SG@W0YOTNZ#V/6#UCS"#_DEPVD90%<$\1V3&0@B"DDAUQRS M1"!4*(XF4-$8$VUN ,UKKBES1(G=;SD[L\)RO!GIS3'KC=Q,$2(^$I$AG/L0 MD0O.!K);A]P2L"5U1M>>=+&*W&SC2#U?V.$W"W'7L5Z&M\FGIA;'V\MDE9PF MBPDIQS5CP^SPTYO\[CS@NX!K51[=WG/M#+WW]Y[#V0]@TOX4>VCN3Z4N3?)>T.^4MXEM6!.\2C.N5D^T7K82*0,C7+ M/[2?*-VQ/D_UDJR"]1LV_!7@)FU/7?!#W!=T^!?+.]3PS3.X?\ I0EL0X3PT"MWW M#? ,T7YB0GS<[!+/*-$7%+@_ &Q!PL<,;&B-"M8ZQ.@<0F<4FK'/5!D @*8! M+:WM"8B*+0'W;VO;R59M7P5];SWZ(& M]!)E34(G-(K[]*G@$'!S'<(I&=KTO;EM.L3JGEGL]#OF4[PQ:997]7RT7R_0 MR/(Z;KQM5!):;\^_F(;5:Z#78Y5$OY7AM@G5PM/#&/V@3,MZ5N-RJ6H^MD/!+ U8" ?'>[6&RT,T5MJ:)A#)[U\'#8FSHKOVQTR5\O$ M6!3GI@]#C_\@;?$!05V<\0BZ'"\?TD.VWN9 +;F4G_*=52%9OQI!.VWI0):UO1.]' ['W: _W/M[3**XA-T;KE1(51L>Y==PB:@*UE959;LYIM;(RS(P]<1SR/GVLB"L&U([[@86_O GWHZIO/KX#0C69 Z(IM MGD\OF1Z== ]UH%X^__)E.W ]ZE$P9 3EB+([7_?8L.'"A@EH9%,;&)N_%.!& MNVPN!!W]97W"\Q@MI>HA*T/:=3,ZJW+)Z2+V:5S8765*,&6SJ4-30*JJV_.G MCH.";O7B@R%9:)&AAX$T#U5:BVQS>/>7#I/'0,';15D%\EE%\I9"IWQ8\FZ4 MU6B!6[PK.4+<[M>?0N0LT2RDB^D616O#Z_"N$'42P^;JL<+EM&:$+X^>A*<* MY!UUG'>_O$/:?<=1T]& W] L&\D0YY"5,A<,QS52+(BU&,K0_UTD-X6VD M0^*)8G;(I[9Q(!':B>9S@P-(@:$;B!"U.8"X8)E'O0'W+&'C YA;X['=+QM@ MUS= WX6L@\8DIMOZ.=Y8+R3KA1L,670#+.BP 'W>7^\W]\@AA\MRPS(H5#LT M_R!;V486N@0%$D@J,,U_D>V+]%J1@0I_ ^H0<12^< J,(3"PTX'B^JBX%=91 M.&@J3,!VB/@>>RKNM 1ICI@.1T$#F9#DN2P!?.9O>'.14 A'[GN1(7,R_F3#1/FX3:6UBK&T1S< >R4A3),R? M 68]$@_HR?E7H4;8=1[(!K0;X/3@ M;VY(]!CV08F'N@,5$[U'EF2(>^_Q>3V=,P\4%.HA$A(DBDA5Y6>8$Z 88>?@ M99S$6D),7:<,$F2)#B-&D+(N-#R/O"> )$:TDT" ^@62&N?WS\X>O2("4WQ M751X!PV(A7!ZK003ZP\R13)PEIN+UJ4-_ MA3JN#&21"*2Q!*2UMVB43A1;R4(CV^32="3_R XMG5VB(.JQF,'R'J&K#G!O M6,73^XTR(_$ZIL80@9[WZ7>&T8Z>POI(,U\Y%X5;T <4[:L'])\VX].Q46TR MIN<2)W>7_0@5*>7S,OO*=L.ZHZ9 M[$\&7+H]5R)3(1;)1A9W?R^5O?AI2E5R188<@_F<+)*-Q))?&9]2W7G7 /-SQ*6T%S6 MD#PA)\_<=K-M$^D$E$KH/7C9*8*JVM#@ H.!N^%M/\;8CAQRK?W (7S\"+H= MT# 7\?F]"P[XT ON&_"W!82TD*)I$_36]2O-G2R8S3H.9@3?AV,. \5&:426 M>P:$G%W7O<+'01HTT@5SZUNZ 4)HZNXJW#/\]1?@=[>^H$-P$E04D>W#&6*? M"7Y/DB$A#( <4N(7" ^A?P#U*R0!"8OV\CG3D:I#,'ZC"::7DK$. M$6YM5>@/*&O4VU$515M@=Q.] X5') W*G3FA[8M-^KE1E)D."\1/PW%QU : MA>6-@F,LQ8L(8Z]U " 4"\J]RTF<6HIV2$@$]ZDV% HWW?E^?<3S_'0T0A$6 MS^'.[>16&;?T&Z D%-D"4[1.P<*12Y08@79JM#.CK=585\A!0JBBO XW\HI2 M:BW3"YJBD!:T0 T B0;F ,?.T>O0'%S3Y3G NC<0F4!HAX M[81^=<\XX(<.H8EP0I=T%*"ECI;_D13>W<-F-X,8&T''K< S)-EMW(O(4?>" M4K49:?&])>D\%F/1>"V:$;]P6VWCAW"N]94"*AC(QS/F&I4E4Y\PJRK?SCP4 MLJ'Z1&U"3_9O-!QY)4T+DOQL)/J8!W8!$BWMS.IAP,\T/C1I=^?<**$L\M#W MCH?I%TFT&Q6[]T#+TUOD4FP\B(WK ,7N; >_GQ6[CU37XM9+VM 6G;JFW2T* MKKP*0=T]XCI^$!O5Y/@J&H]37*P\J3Y-'RH&1;)W?R/TD8S!?\X2F_VR#%Z2 M7JE%)\'04?#$33O=;H&.)_M5&FHN0X>3A_2Z=_<4+YW/W4E=(<21S+D -US; MW//SH(V/_4-!0E#L'49N[WE8<+>\P'N"#S?#^$^:NAFI;5;BNIAX#-Y$_Z-H MR!N&X]&6^'%H9_P'[S<"] +3OD8AMQ9.1/,7,^:HNLE*/R503D<^G+G^$ M1(PCUIICQXCQH?Q$>4RTK$[3K*-;+"]?S/8GM']8["X)58O\8"3'*\,Y+R\3 M3B3&1I56'T([S82I*T'[AV7PDO2::]3#-!LI"#P=URGV@2N&*!MJ+GW,Y/CG M:F'Z=P7F]_-!2=(_I5V.NHPHDZ(/ [["GU%-D=H0\$W#"UT.V&*3B^?[^.L M-[EU;HUWS1"'4KULE\V>B/X&!QJ&X\5[4=H+RL; J3LO^*EP0A!+\(PD@"XN MX%P%Z//V44$0 ^4639";!O=WU;LBB>Y HG#6KI=I@"%RLQ7TTUP&"Q-GMAQ[ M(_*:T5Z*3HK[SXG]"\U6I&>R0&(;JB-I0A9/?Y!(94"!=J9'75T:0#>:% ML$S$::"Z8H%$ 8H!9)&B ,@EB>C#->U$4YPP44 93< 4#;D/W!PQ_$HW>0O: MB2;*U7(S7IYK"1."Y:9XN3&@YYN3SQ=IP9M9: TS--361?3VT93<]4T-JNS7E>T1.T\1YCN[OS_G>*CIH407%C2%M M)WW(EK'TL .#1]_[TQ^V89V%!H2&L'4)I,.ZY"L[)XT HAQZYQ,Q(F" MBC/)%724#U0;$$U@S&7Q^3BRT&AN7S)=>WONI5S\3O<)WD6P,73$3,E+NSQ^ M EDP#0%"_%;*'PH=NHD%@HVR"/J..S=O($07@ETK]>8F&32^*#=U5$"Q1;0Z M5.]@/SYJNMIUY/'H\HZF+N"6AXIJ#8@RU"U!'-DH>FMNO89*XM?@Z\*[;S'1 M!@#YK'J;" (E!0A8+Z W"3\W4+ZR;:#(ZK,CC, !:CN$#&0>;'V^FT_ZG-CM M^K@LVMF\K'"DK\A\0-^#K\;;X.ZJ$S:C PM2LEIK*I)G#WJ)5+168%+ M%NMP9&)_I-7.\H,%%7(XP7YJST6Y/!OH;(\^?&;?-#OF:#R><3.(V1[627U!)MOIIP%NK:P/S)FS.W)+-&*<$)/?9"2:I9K MU.IP9'1_9#;3R"8M4JWQ=H-_G*6=IX+81\\\>'LM,^Q.*XUDG)LZ[4@HEA_) M=6X(1U+4_E#[*9X:EPL/45+@[.)DH.<:HUP=.F;D_DBJ,YOK[#)4Y=IJ7,E/ M^7B,CBYZT<.1Y:?4HQY=C8I\NS33];00-XTL"T<>+%ZL<5EQ^M *D<["6<7J MPI!)E8=PY,'B9Z6G2#%?I6<304_/&Q&N2G7:Z)D'BX=[;AXN?%$TAT^^S1I4ZEE8Z;ULV9W"#VK@R5EN^E&J\HMBF1H/$FK M5;H6!9#S\<.1$!9UM=B<)GA[D9.D^I0GFRFVES@:]8GAD3]'*Y4%V@>X@'0XOC3I&D$@\LGYZ/ELMT M%#)A-41##XBO*[4H/YHY61+T+*UZ_C.Y ']:W;(J>2;BR@/NJ5(02R. M%S4&KHLZ7%>AP:X*A!^N2.F2*U^O@:=+,/(!5IUBM M)\MXZ,&Z:@-MF1$DNT/2J4XOFAPH31$,T="#=2W8]C!4)W6%:Y+5*B5KF>ST M 0_=K.O,&5JO$$7#V!EW]-BV>@(8\1>U0X\P*9R-!"5[S8M(I$0(".GVM\0GM- MPULT^L!V+V+BM&)[R_=S2Z:84'!3A M-[.S/)\'OW@]5.B;&I*;,V=EO9[&^]Z?DNC/79 \8<2%&4(%&^(,1B8 1 M_F!$ $T^840 33YA!(2F5YN)!(P(H.EG,2* )I\P(H FGS"""D<2 2-\P8@ MFGS!B ":3LN(]_=I?E^L[W*K3GQ@U=^JT^%)ERQJ"OKP_]U%[SZ[?#)\WD[, M"?UKUR];^(BC[!YM2H9CYU7VK[*^*2]?8WP ;H&(OP?< MO+.V=?*4)B7%QJ\H%NH8@ MBX?I(@&"OEM/Z,_J21(O_QNK" MTDL5'D^"!7[@V0X\7,1(3EQKW5N*C[-?7^9T(+Z!^+Y^ZA2(KV_$]W3QG:OR M]*@M\EGI]GLX9U-:-N8:#L BO'OXOP[NL/R^ 1?L(LCT5F+"&1;Y?R>S!ZZ( MG@03CNY4.CYUKX*O%T#\2/T=J$RN+I4T\[G$#G.WOHC(SWDF$3*5]L3I\'$G MPO?ZG(+NMS)W?^/WD?AAZ<- 6]= 5_-H[D]!?QXF;I3*F _GDM&0$)C)SE5 M658SLT))RJ%+Z[&[OQ1]GV .*Q@&&AAHX&UHX*<+W)Y2 Z55B"VUNJE'/L:6 M9#@E39*>D 8FH09&[F/,88W(&PC^!AH8:.!7ZI">4@-7K<4#/^K1,AER,J;> M3_*#401I($7?_:6C]R3UFAGZ/+M/DT''YYO@;R M?"OR[,?X>"#/@3P'\OQU]^7:? WD.9#G[WS4U<8)0D *"5XK0U9XU)*]4HRU=4!+B1H5I_5"Q<5/!*9&"VB=$1/]51>MMJ#K-)X8F1RV(NCXS$J M3MW'Z$00GO^9JOI-(X1?4-7S'I1]5549VAR+FDRI)&",^*"RD"JSY@*J*CI( MB\7NHY&SQ/$#50U4U4>J>I$3M:^JJIBGK">9F3$DJ#QE9N-XJ/]^CMJZK:*O<'A;33:'*AHCEJYZ5$0E>0JJ*C.;2MDHG7 M+.#W^^,OR80?CNOVO'9<>1PU]WGN((WY'^H+N ,*;F<6Q(Q/'V.[XEVQ:YSY M77NY?@'*BT0*"JKHMA\2%+>1D@N1K-<[#7<9T-8-"(!4$QPTF#4,U%,/MSLZ M@IZV9(F"L1PT)VF5GTXZR993S:'V+!;!Q MNQ&4L\ &JPBQE2K,2UQ[/,@P*R>S7*:&$#:2"#:8Q%FLC2 1P&=Z%,#&[49S MS@(;YJJ8;RSFHRY99!@R$TLD^ ?<8Q*%>&+W9(0Z>?*U?Q(NI'4LYR93+@Z* MUEP2&G> @8' (&DVZF-W%2!\M9#/2M7/4ASHUY(4]&4H@4($B!(@""W M$._Y.H(4GIX>@#IQS G=K"RMCD=S G&'1(![MBC8_-=C* M4U?,)0MCMD>1*%I#PFTM.#P/<.!\)V !#GPB&G,.',@O9+9B\_P$C(:)>J$GBHG%$.$ MBG^082KZC=-2@'3..,?/ *]KJ^^Y(AC77I=_8.D:X0I//8\ 4S^42%6J MV=1T$F)[7'T:LJ.S. 0FZOP!BT"AOZM"?[?#F=N+.[RLT)00LJFX#!XY((!L M*AEG8R&HVE"AW.!+RLT.DZH)52(EGFIVJ"*39GDTXILD *_=Y8 MP'_P99N_ZV&XV:TL^D__TO_&?]'%$!@H'$>.2];".EZ*6>1Q=WNAE1BZYJ.NV0JYJX"SQK_^S_;DW\.NH5$3=&,/VM]VEJ5UWN9QJHU M!*&^ 81)2!C %_\1E(7@F-XJX\GP!H+^;%02D8&@R# 3_8?8^AF1XX"64V$9 MVJ*8I\DA!0RL/][7UI]A+=Q\J)DRDJT_!E $= D)/7WGN9@QEJ;_H:DPNL T MA;]Z"XM0X7CT3*S:NSY%1YYSK 1B9"#%_M]6-7TL30__#$4/JJSR[W8>EO?1 MW=\64AQ4,R>-<$*US(W<"J[L7J:9YFO)8AF,TH_HN0Z1AY\A5+E'32G#FWRH MZ\^R4FUQ3:)5)=+52H:K-+D,^JE9+14R; O^DBU4V$JZP):(9@M^4.8JK2;Q MBZ^P?*8 __Z;N.!:L!Q1]/MR]7ZQ4ZC;EDG(*F&---L45 F2'RQ% !^P"6L2 MDF )]W";4H!I$E#G@;&030 ?++B-0M>9:Z]BWZ[J'M-("*5H2Y-5&V]E[A[2 M[]7%:%9V]&Z=S*WXQ*@23_3J8-%#0ZF3:>(.EI#A^"Z9Q[9I01%U/Y)5N!M8 M?T+NJ)=)S^JZH2WA_FD!Q?'EY:[H!_9\%C)F?8>S"43;@/P#)K<4%5L"4M;0 MIFEMJML6GE)UL&\BN)*VL1!BKH50$0RC%Z,>FXF(OIB30CQIZ-4\7^*>%G=_ M$^'#$T,"Z(/1,$VT?>!X[Y: M%[NVYGT\Q]L?)#4CEJY7JA(WL5O];G^E=9N2!DD:#Q\&(_VO>MDIV?/(T MF667@T8E64[T&FR/[L7W1\:JV?Y3UI9FO!-;#=3:;-F58L,>@$D().-"DX4C(_LC\[JYY$-R MW2+M=BQIKBS&[CCHF0=O7\C:,&*VY]5)2&3X9DI1F>[3$.$(N3_TJ3^,#IQJ M:<39?(5/QO.#?+W,]J*'$QUDEK:AL=$D5\W5NZULN^XH4=35[V"BMIC/3G.- M3F.22V48ZJEC15HMU(3Z8*+&U+#*F57>X:;I?I+-9$HQ=!,[>F2B?14T. @[?KW./C8SG5 M5R=",EDLR/0\%$^BNN4'!"4?:X45DTG42'HV>)2'A6IKU4;/C.Z/C.=C@EZW MZ@8WFS89LLX.XV5HFR8.W]Y+-V617PQ8GD[3D5%M/'&Z(W0Q]6!DFYW.&U1A M,2*;!6I4I;7RB.K44?[$P= .FU B,DEU)]-N5N?'-KF<-G'JY0%%0S8SIPME9NT,U*5,9J]/"9&(W6XQ*95/Y&H^/50XFT$UK;%F, M9B@><'J[%FHVYA2%XSL'$^#5LF:6;5N<-.MS><)3=D=,KV.[>\LJBL:R'17+ M?%./SMOUB# HH0P2^G "CQ-&TB8%5N#:C)E]R"W,R&R*AQYJZ5@16?V!!?R, M[=><222:3SD+-'0]@9U8SBD,P]U=)R.;HJ*9M@&J [2_ -7$#VT@'PA(:(O#ZR>V271"[WDK>B);T+T3 M/S)I;JHKF@.W3FYFRY:#(A601ZBL34T13CG+,_BC595H0K\>H/ML<'-'&SP5 MO\?F "*UH#I0)E"T539'R)"P3#R"J$Y5N6^;1Y9L:$-#F!*_T"-0;)0F_\7? M0+3 OU/__B86(UD<$= @1V%M$]EH^)7PFTA:ARA !?"3=RT;2R-$8%@"-%B M1W3S'IHU!C1&- /^B):M [QV+/G(JL)_@+^8M@)M4+@ 9.% @PK^&"9X;$2A M=V\FN;OZJ>"XTX(6E1J:V9#6 QE(KMU%:#H21/A\]UBP2I9:C M W8IFYM/U]L:)J8[Q3+>)WIQ$!^,Q^FG$ FR]J"8#X6J-K?8<;5#)A#_2+:Q MT*"0 G7?ZGFV:+8W]*U2>2GGL) >FB7^Y]&E!/2\94VBMAQM4F&=W\'FFT0#A ,<_]LCAA O]YUCJ&YA8#C&46P)_Q,__7.8\E3 MQ(:U7F/.V3H.@FQV)01;5/Q?$^JM+K@\P* $C+DL @]A"&3A(=B"7SPU$Z7Y MJ.<"Y09HO9W9XV&.=Z93UAI3G$SEV,>\9;+=-OMA'O;?YF%_GX?<4I?=);D< MW X^C0O:="A*<:ZZ3( ,.W<>:9V%=B'Y OOPD>(6SQ 7?8Z)+!2J*?RSL[]- M$2@$-$=[FV"BOR$I6>]KK\=""=E$WQEHBJ(M3+>C_9G]EJ:'0EXWDP-=WD(- MD_76A0\?#UV75"FI6+-X8<;3O58^VTJ.C7BH?B9G9.L0EPR_?MK__$WTQW>> M_5LN;'M'Y6X*"MS9%$$WP9_U#]N30B?+WH30>9CHGLNN\P*PW FVI:T_<,^P M\2>[LKDEK.Z8PU0"RUA/S'LAY2[Z?=B@1^\7JHT(=;OFV!2QS$0W&)/ALVQP6%>K^@;*57 MG#GY-.#+=?A"T>%7KR$%?+D27\+)@"^^Y N5#/CB0[[083K88/S(F #(_,D7 M!LXL8(P/&1,HC$_Y0@4;C!_Y G?^P"0['V,^6-CBS0C,U8B0.';,?Y$[;)>^ M>7M1DHB:@C[\?W?)NT^2)YH(D_']NW 7[1.5>,_EA%V"OG8] <>5W;P0-[K\ MI1JY@4;],(TZ3R3O0E=XWDND"UT>?MV6_HEB\D8 ZR>2Y*W8D<]4YUJ"$^C2 M1V,H?C-,UBT"7-O$:Q1PLAX@@7Q\,&3P$TGREK=^2U@;&/J!H?_C#?W 6CE? MR(7^;,@%6BZ1\UHN@1#Y7(A^B,G; %-!5G&S[L#,# MS#WQ1N/V6W0C*]H@V&UNPXP- G#^D)4?8JVBBH?H/K@M**Z(E.1!(!^!Y7I+ MENN)588=#@TP%"P0)%D$1NEEC-+;R53:E!^X_1WF6L;I[0@+Y]9\ *YE4C-D M\4>8)I>T5&]'6'YU4"V$WX& G-14O:)\^"C@^%7C]G:TK #=15DU9='%Y$=! ML4]B!U^U+^TA#:JV9:+:O*BFC5MW) -$MQX<0[D%7V^C-?<'V7]8A]#]]U2H MZUJ[ER?(.[K2;-/H#&6=6;-7': 2FXQ7U=G,/M%3;=BM3*:#-FF$>DXEE=@M MY,Q\H)#SIXM+>1;[ED:X@>=-46=FT\-&40VR)M/1!NG(<686)0LS/HZJUM)W M?Y/WR21]GJ94R>O(S+LWH@NF6?N,#*?H6^4E2W][4/A&VY%^5X^9'M,J90UJXM0ZB7%ZQL8G*X05T;N_5#Q,4@%6G-WW M\[U*?:!>&VZ#L*4GDTZY$]?BM2HIK.KY7L..%9)Z_6@I/U1$[V1U_-Y4C$U^ MT-;12PL84WJC&D)N%93DN8S9K))-<4TQ/>L+*K;&SX;>WJC6^-O>HC]O5@ MDDZV9QU;Y*O9IV%$ OWBN(9Z/:!6$U0R?A]-OM;W]?N=4*UK .,RID"ZB2.F MMY>BUC3BA[>BSA9[8G/29@WBP7.*7'WO9?LAA1+6:"J9I PF^ M>-.Q SN)YG:#@'4$53KB"4JMAY;3LA)=+F9F.ZF%RB_SJWHO@4Y:F!ASX 3^ M#D)$-WW0V!Q-0?L9M7D^X;NX2XW M '(0O/?;O8X?Z7I]\:PNZ\JR;3Q;4D=\LY+I 'XVASII/]\-T[.H7I[Z/>_;#),,7-Z9\1I.K7X#RO9?F,^?] M\.H3ZJKL.CX,>>_^@/;06SU1>\<%J'-?=]I5%P:JBZ39J(6R'_3EDO>AG@TV MZ;$^:LX>=)W,E?2:G9%MTQ3I MWH>*)@[/Z8+ Z-F/Z:ZN6]>[,'7UI?O!,?PXL'R/"U7]9;S?3=J9")>KA&BN M.UE&IBJ+T,:]4<4$MR^O<4SWW73N U>NWAE2^08WKJPVSQ62H%'@BMU%J?V0 M'/'DXP+ICGOE*D('5ZXN?H)Y=VOH/Q_^:=K7C)+A6>IM!, M$2RQLV(CO5RWB+=E=&DK1MU'J-?R9[[OP2]8ZD"$($Q8&C$'IG6A8,+-G@[? M#@K<3A3@$J2C&,E&-3'FZFY9KY7YJ4$DL M$!) QYV.AI.'.2,!$GS72XFWY'%_6!->S M? [OBL@1CX>?=\63.^(_3!6.G%7?L(M][74&_O0GME1OXQ0@HS8U]]_TMY=+ M1\\.NX4N7^RW^D\3G5LY)HL0!!=)N:?CKV5"W<8)_N[=5T2_GWF2?_Z[L;<* M++?CHF^!R(N^>+8Z'U+I_J3 -\?&DFZGRT,J-41%HZ O'K^GD_'@Z.QGW:<- M"I?>MA._A0H?]-:5AI;KMF)JF;39UB(T<*2ZHM<15J!C]D@X%A0N_6FW86_) MIW]9,=YVWA?I47)(E4<9KEB/#$JU\8QN/V#50,Y[])S.>Z 9P2FZ_Y;^ [S^ MTT#-KE=/'3'1'WKQR"E' ^A-R1VU)X1YRN'_9W)J@ M]6.M?[8%?P#_@W)]%%_.LLKXNU89/X0!M!A/[''-(T+S@A:R*BJV!-R2KR9* M'@!+(-J6/(?SM$:"A44<[D0$),N(@(^= "N$98R ^D'HP, 2K(K ^Q0E'Z#+ M#/![DHQ?$B9:(V 8H'^N?BE9D]_>E@76HX.V*5L]J3YJ%=[GCNK2F6\-&S! MNL6ARK@!3:^9>&SQ3YJQXF*1H3H4I71EGF1?46-L+T!57D \-(%Z:ELZASFU MOK:8,S33W%?@BF 8O:PZ-;A'E:CP"Y4,@7IO!.I90:LN[OY&R;?$!*OSIN ?%H?SA[N^RH1)I 5:3CT7 M(>E:SQZUHU:TL_P"$\Y]KP7SJ-[IY9[(7LHAFXS8-'MD>\5H0Q1>9^C#2RWO MT=)=3AK8UR"THU?1MK3S?!O;9[;O_8T-;C)P_[($!6YJGGU#S)&!@U:B[1>H M?#\J81)N?\(0"TB>_SNQ^?CUVAS1RT=TGN_/MQ#E7S@NBFW)LA.1,\)DG"ER M,9,IT;6)P.@M-84GIR/,:EQLU397RUD69'1(;R82/@R=K0E^#R'!1&>#T Q4G/ ) M]?Z(DK^NT8A<@NK@\N#Q?TUHAT"B((V69 -.4#-,XA?2832 )O]-H3_CGZE_ M?\,Q$J%J%F*: HE+: :A"P[\&(5850EB')(M9_T2#Q:_@ P>1A[$7> ;__X7 M_K.FH:@ P4"^]NC?7:^#02OW/&V2_._+/+E!(U!3-^+-V\+=6-7*O\=(8ZH=PVS& , D) _CB/X*R$!S36V4\^9Q[ M^V<3(V"P))!A)OH/L?4S(LOO-P"!6.1\_$JCV%H"//@2Z!&!D(O/ZW54T? M[;^*?H:B!U%)V>G!ZGT$=0J?3T/]07%%5"IEX[0*IW1<7^N!^M:E[PP.&SVB MYSI$'GX&66?>$P55#&]N@E]_EI5JBVL2K2J1KE8R7*7)9=!/S6JID&%;\)=L MH<)6T@6V1#1;\(,R5VDUB5]\A>4S!?CWW\0%U[(/K*]W=F:G4+MQM"O8M^N MZA[32&%SOSN4KJKI3LB7$2>2K3(AQ9P9&1_9(-1^R&GW:Q-BKSU M6*.TEC1YJO>8PV?2$;)3[IC5$1>"WD8I,[*CB0H:>?#,=$>*5%/,,DT",)6D M\;"X'/;87J1'[H^LR!DQ,C5J-4ZFV_-9)QN1HQ8:>?#,+BTW0TI7+/%MJR?J MK,2K+%Q[]/"95KP5+:83#RN>5CMJSZ836E= ?<\.1IJ+DAI9]:P.'^)'L?%@ MJ#MYL.C%#T=.J6$BTY@G^MRLD8]1K?9@;I"H4/;!2'+!Q[4'7:CR=*[?SI3S M%2:412-W5]2C*#$"F#[5(Q-,LA=AJ$0O09-"+Y9,B!&:DJ@D+>X_^R%K<0LP MFU8X.I-G[20YC=GZ44F1!\"LEG.Q1[*]#%%Y*M&HSA[98_PW,GIO3B8$G2]6 M(]#C3 ^X!V=QC*LRDQ:<3KXSG32'G)W+9-H4F4:\.GA[+R$;7#M#]TA03(M" M/_)0CC6'Q[C:JTZFCB8+["2G#1X2T4*9K1805P^>6:['U56E1#,D"#G]0FN4 MCI3Z=3CRX)ETO)\9JC.RPK7K>8J20*VLI-AC_.^U6@UR4%S&^9B16+3:0JA9 M)%$CK(-G3K2,U8Z7C0XIVX_<77=T?V1UDUI[2--@?FI=231O/R],$KG+R' M$(.5QD?EA,CG\Z>/NB KE4R0.; SJ;4'M,K=&G%VYYP;UG MVD^-.4O.0I,8Z$RLI=XQ?=?#UYO M U SK-33G+.-I9J(9JF:&L=##VB_,B*-F""FYWQ:+V?-IM9Z>!S6CTE]3QZ/ M15ET(A,PH40C-.V6AA4D]0>OKR?5T$-=?FR2[7AGT7CJF%3.JA]#TDI&YI;Q MF=#A0@Y(-6?YZ7#,(M0[U/Q6]FE05^==KLGH2&L,I M/TV''FDP?9RTRO4M?(1F-G+I9-7&[I3[O7XOFF7'\8>ZU)\4%2.?6Z93G6*[ MWD-#*=<)A-\ $FN]-9H^A_G]MM_S7_F(42=#?T\6W0=!?T9SO=<]"WS_KXJL M@C_04 <&^NG@S^Z3<6TH^-H&,*$[B2\1NH<$R+&&[I7G6C6:O+GVK*"'X_-C M#C1; IDIIMT?0T=Q?2\2>7:F. *2#>T6PM;1YY]/'S@>CEQ_^DQ03$],3C@O M+Q2I%MNU!3\+D5RQI5+1!R'BT-/AT=2#4Q\EX'\>76JXX01J.R1,L2LK52EU MR%P!-(JL/!!RD\7=WX%F&P3*@C#W'5QB8&A3[#!#HQ![%^AG?(Z ?>0M'HC MP.<)AD<;')6S=:B\8*HKF@,@QX NN%2_6N2!A5.>PC\[:"VN**%@B&PY7F04 MK0HRZCU! ME$WQEHBJ(MS#]X12=/5]F3"T^^JX/C$G),+EVY\!:)G<06G%-* M@7^_6^-JE@[%Q]-%-S]I.ZS2;U;9='H%WPY,4=#A^RW#!J?S@I^=;3*\ZQ;O M']P^?Y,\>F9[]( 6GTYO0AIN[@($4T703?!G_PZXM M,'.##8?Q',M8O]5[&N6NZ'TY\+'$&U?.MSRMK>=K\)D#*(!KDJQ_#Z'4CC]N M= :AS)M1$2].A5^\'BKTX19B6^ 2T9"7$W^VOO=^*=B*<7TY)2@6"?CB0[Y0 MX60\8(P/&1..OGH/,.#+M?@2>?76;L"7*_$E$H[2 6/.QI@/7D9\TQ"[&A$2 M\(\'X^>S\S&8XDKEJ' M._&>(Z'WTP[YP+MTNBEUN0WM\#\%WK+%_2;V;E*>"Q/:X%1UR-\P?+^3'&R@ MDOXL5%+1;R83ZXM:KE1XU[4"; RP\238>#LF@YMW'6#F^3#S=F0%7VIQ 34C M6%[1E*P@>ULO3F\]!<3Z[.+J8?.7#!#QZ2#!4&Y&Z[54'2/\9+?OW*2+4O G+9 H3<1A%Y"EL58F:46E[]4P\UL*#$%%<[5 MQFT JR@KL3425"^+OJ*I3=R^^V!YBNE:2X&-1>I:_-^I-DKZX$- M'63B(.-F]];.<]&;.BU&'RAGJ$\$D9S2Z41D,,!YH:A";2),OM;(ZONYGCGW MNO%-.)&G*X%W]DB93PR1*R38^:B0?>;D[E05N=)$:S MNIO^34.KY$P%\_SG.FCV(_:='''Y;*+OA\QES) M#8SHV&F.RYR=C*7JD28]MA]52Q4Z3)9=%O6C=Z\VE_H M^T5OLIHQ '(0O_'=:7Y@^/C%\-FHR"NV#YF9VK7'$Q@P-VW >&AC0Y)]ZNRI628K>J-.DD*\SSKS/NCW MG2$$(F2]),/D:P?@-Q',.]YQA^)427TO!H1NM9;\R2O?O@^[ M++O.3].*N.) K1AJE)S\?4O:/.BS3^L)*^E)^S$@>9\GA:F9&YI_R<+#NI;-*J MNW7&&,BO-UM>GKX6)<)EB@:0Q<\5PG&5']SRP!6, M#Y0!OD(Y\#,'3BY2VOJ#L5A<\?I0+;>+7<>FW8@\,\PX'WK@G.)$K'5,OHZ5 M,O%BL>N3UK7_#G7>MCHE'"WT5OM6A=YJKQ1ZVVM^@'Z&@H2=.K?RFZ#KAK:$ M4FT!Q3E;';@M@N\TH^!;3W%QY;"C23K?7!7(RC@M"PL?5("S5OT,VYCJ*S(] MG1O)'!V/ZQFH1];( .##)>!.6<7M# *T4^NM]NUJO1V5@ .)UD4.GMHI7>XA'<:S&H]^*W0CPT;A\0\,5O?$D& M?/$E7P)]\2=?@@)\_N1+,BC =TZ^?/"4\DTS[ ?6>7L+T2_4T>921#I!/3@Z M?%/U.FI?+0<7:-6/UZKS&/D!D7Z>))V@H!(93B:_;Q&Z (H#!0J@V)=$^F&2 M] .AV,L<<9%XJY!= ,J!*MT@*)^UPO))TXM_F+S\0.@]5BLT@-WO!KLG%HIW MMWGX"L#>3BC/S0]QNY&;MGXH>;%CDH?2S-9)&_@TP-)T-R=CEYKP8_B.7]1O M*(^V'HCC>[J.?!6_;TXHG:7Y^F^WA7R M]8PY3M7=PD 1*LR\>6WL6_FQIROK?)DXCK_0\N)G*]^Q_/-'[]7XSEYYL_"S MTT[&TH5RLLG)?9 6%LU4(]&L>V6!$J]5$@NT+:B$]*4L4S\BS!6* GT>8_QA ML7R]O',](2@1/5%J\8X1DA\;EL3_L33>.K'W?Z KE_%L\#=\BW3G-SMY0XJVG259?:@]AE2^:90*=1_& M$M\^^RPV8@4>E)8T+S03"LCG>- 9U7L4B6MGQLX83?29^@6.3W#X>?G"F9]' M&']$$K]T]AEZU%H9L=9]XF+E\F-)BU9 ),LB[/$./]^L*[ZNF>F;.F(OY^I2 MFW%^J:N9.+Z^5TH3OI@*^LG,3P(ZXH2 !,W$Q=0@HH@C7%+ML$ ?*J,F0NE5 M@ 7N\1@5[VG(4M2V;$=FQ!(5PU=@MZ+F1%P34!"5N' MH[Q'(Q3PRM1!>LWES>O#'YVKJEF$ ZS/SUD7$.ED'87J"2 8*AJ)B.M-4#8( M"[(*O@)]W:VG=Y[:L6>JO8I+K<(A$[B$3<553(J%;(V\OX1QY#O$_6 MY1PA]DJX'HGI%A8$SW7Y<$U"0HU5B%7W*WB>6DO% ?LM2NA C-,:*23K39DJ=YWY-HP* YX MR>* B5@X\FJOK*!(T+6*G<4#OOB0+Q093E !8\[&F \&)M_$KQ]YT>YUZ#B) M%^#7:W6>?M[.W24W?OV%JTN>BO@L:-20S0F6_.2_ U0,7$940JZ5@2SJ7] I M0H03AN 4'0I=C? 9!4[7(]03^:L&S]XCYN\+S>NV 7IFL=/OF$_QQJ197M7S MT7Z]0 _\D8]WD3#])@:VY48AEAF3C>1LA"]57Y?Z&E4 M=%";6WR(?I)B(2?"4L M G]:(AOIG&O(XT+&>6!_!/9'L+_M[V]K17G/7[6MWAC.[DY[2H54C.9-5-Y*^CH]L18%$!0@& M4LS1W@$A$M:'#7C>RK55YH3,:LVL(0FZ$ M3!C %_\1E(7@F.O,M&286;O[?S9^/8//CDB4-$)L_8S(<4!+%'W?HMB.='A? MVXW!KS]\(U+G,08=:])4.+9[!A&APO'HF5BUAX%TY!D!!6)D(.CZWU8U?31R MA7Z&*@?A1=F)7GD?W?W%9SGHU"WM'EB8&\D53G3&_":ROQ4QR> ,M4?T7(?( MP\\@Z\Q[HJ"*X4T@Y?JSK%1;7)-H58ETM9+A*DTN@WYJ5DN%#-N"OV0+%;:2 M+K EHMF"'Y2Y2JM)_.(K+)\IP+__)BZXEH-3_=<6]HN=0MVV3$)&!Z6:;<)] M%9(?+$4 'P -*_=,'1V="O=P$U: :1(:2A)9R"8Z0D.GK+^?0UZO8M^NZA[3 M2&&]*>D/=F[)C3/6Q!;U)U/5RHM>G45;]YTKO9N1S45\I@$044E08G*,-F/R M3J$.1R;V1\Z>5JW88^]1F\16O50VA>P'I=ZC#Y^96;2EW-*B8GQ1%_F"F54R MT>P0CCQX9B^NJSROYA]YN<4^UA>59G'D#'M,C]P?&7="Q9HU:38FH5PG4F59 M:AA)U.'(@[RY#:&2>UD; D*E;O)14KJY&S=BL1 M34ALK:>BD8=+ D)_2CKI)YH+.?54U0"A4*L\[$4/ES1N=H7/&V7NH-. ML1V:#[S[W'NRK +9[JVJ8TCZI]'(;.9:==F[=;G'STE)7D0-XX$#G-6M1)Z8 MO TE-'Y()CW97VJQPH+DT[S\U&VDAX5.'KU]0Z8]"V9]XA_-LN/X0UWJ3XJ* MD<\MTRDX\WH/#:7/8:F\)S_I^!;H=4\] F\XV<%+*-DVJ@ED'JLF.'L?X^B[ M[-7HZ[DTN(>QN;44<7LIP%T*8:#6KZ@[I>SFO, ]7T)_0"M7\8$*SHAI(LC& MN7[(,*A"B!?<[!J4@H-H9( 1_!H$9+0):U. .QU?NL'E)HF%F^J*Y@#0=).# M7O"1X,Q$_%-UT(!D&*J0'Y)[^SFMF99YF,\RC2T!FV>5$)>>IUL&!&P[,@_R M62Z:SQ*%[D#L9Q[/^RU1(AP/&.$/1I")@!$^8$0\S/S0S"&?,2* )M\P(H F M7S B@":?,"* )M\P(H F7S B@":?,"* )M\P(H F7S B@*:KWOUX,]9WN54G M/K#JLX*PKY>\Z4P3_71GFD0X>MVN/6^=?K=&Z#8#N@<\,@E.18 MWZQORLO7&!^@6R#B[Q)Q']]=>TL%CM1?"] O$(UWB8;O\#'Q#H%X(UGDUW8. MW.]O!)0':S]R6^#KC0838<;??0;?$NK#R[G?B*7ON*9]AN:2M\!SYMOR/%#C M0(T#GA]7X\\9(%>]U0>?63,TR18M0@)SH&@Z2L,\F1A?>VW7*+"*8NO77O\3-^="YH-8 +!$$>L*F6>5G [F8JDZ$6%J:"X5\SLJ@NQ#,W=_D?9R)G*,D M

CQ8 GYKS&O&(7D=9P#B32UG\#9OCG*T MKDBE118U5VFE,4_9HIX'2@IHIR2>:+6H/LMCAAN59SC,G622T@!VC$3QAU$4 MC_1!6CT^/6J9('>$V0=&T /N,MR!7O9\#S<U*; MF#8,R69S^)W5'JF]\Z3]XT+/&5#<&OJPI^ #B>>9+39!((@?F]#3_1]0H0-X M%-!MBH4[Z)AZ!_85IY]L4AY>BR/9L :^?#:G\)Z"UP$JHA7E@NW=9@8.;(_C M^!@+I12K(_BHQ*BHE":9NT!XHJ(^.3K!$!&[DE,1HM]P^]7RV-AQ^ MC,EP*?@XR([I3 ;K$B[SB#MD..,MY*56X(-!&#)DQ*=9#8\V)UAXX3I&H/O2 M(2S')>WA1C-%X&SZY%@:0XJ)(,FIIY2M1ZTYC2 M MV,JNH)'%,JXRY:$EFMEI(@S!,T5VW*-OARS945NQ0UC=&L^)5R]I[.K\U1 M6U>P%0"M3XE[1^- PT'H0C+'$->:5T46SKX[,OO( 8XY-4M0M+$CB+*:UFT3 M@K*0;BN7GW52L@)A8;3QD&#X===DB/>X"#5&)6CD42GBXD8//@X=>1X)@_+P M64:AZ#IAZ!3W]5#$'%;B++F?/;24UE-3Q#99H^\2D#%V#7/0?3 [1U5@2BY' MP< 7//9D)6%\47H1AM3*6%2[G#(3:T_4FAQ!]:68B M*8!2IZP;I.L_43"]"2?#O@&NH^GY+G<9\ZK@TU,FHU.>(9'C2CU] /YTNS/T MYK7G>O.KL8!&HK/3#Q3!%P_XL2$\J!U257=<0#SQ\>E> &Z7'ME%7#^GM.33 M&5%)M%]R]!3NKHW)37(!S5BN/-'O7K'74%X*$QK+T#0+Z(O90CG1GG=_O#UO M'E3'W";"XZ;@N-(HQUAM/#UG1N9),ZGM:8E*P[1]8K=-C&,3#Y#F22S^G)S* M$/T^,'EH&A$5GE,7I:?09T*IUA.E6G^BN1*21YT2/WB(=^+B8:.3?%5H4GYF!$N@/AY=\5V^*#U.Z\9L6E>>$[=)W5]^8O;RYM(Y M+T(?5FBZ)@\YW$K&BT=-^!ZQV'-V$D10XCHD=RTL]00Q7'[F",]TFH&2&%!K M.LX=6%\%7&\H$L1 LH5G[E/(,2J9ZA1RI%*'QQ?SN& 2/,14GW7_8H(YDJF- M[TGAXI .,0'PD&E1"N5%I/;9G( @1Q^.KP_WUR9/3(0D= 5XZHC#\F9!*P46 MN',&!0W594DHF :KZ^"2L @*RU7YM+]_@9%]F_!\ LQ3,FF?LCP?7])Y(%BR M';N ETHMTX:;4PFY(^&?,8J$8=31[T[9O&4)3Q@#C[8""^=%^\0*>)X.3KX9 M>#!C#Z3A!Y5T8ND!^J0SQL):#L61.WX--YDN@, M_F0)^&6\3L=I&#G1_#U%<* MTO/H7O0A/1&$;^AOHANF<_M15#X,G[,'1I:3)TM_IDEUT'C8IEBKS3E/8??#CHJ\* M)X&7%[]*K4WGD"_U8FENPV7!E[7IL;F5H 1?UJ;'Q+Z?0[Z 'A/RLCR^/+5& M[V-1L;41H?X$(H2 U!T+O_SW5>75<^NSJ<52>:WM9\;*D8WF04VG7W/DF:-) MT-?L].N4'_DRXFGPM!];D05$I%=;T=_#*&()YR;XJRJS^& MJWD+3=?T'*WOV5P"2-#2WBJ0: (DV8*D452W:B_+5I$LMY3T!F%DJVSO23T2 MVC-C_FUIQM8^0E4E(>O(LO_>,I=O@2RNI5GB:1TE[8#<'F>FEEKG[5)TF3:$XIG+N5LA7]ETM&GOI[V MD0LT;Y@)])GMVN5R+<,>;USYY8SIJ^^#P[)=DC"1,Z)D(PJEZ7UA-U(4RG)5R["3SSJZR#[FR&?8W4I9CQ)< :37T_MW M&9!6*W))F;1L-B\*P.GL[-P18 M%9SG9G"M! Y.ZLY-Q18$:#GI_!NM'Y>:3O47.)Y! ==?HJ"W M(F8]MW3=MH:Q,_-EMRJ6K2ARJ;3MP>P,PQCYBU&ORXS>$@%HR-5:=?FA<2O9A1? MWXK(>,:V_28"52W+-:6R32EYV5KMN=EO=C?2O9C"K9N0F>9X"(F/A2#/4M$89R-=NXB@B(BX#XQ@I#I31I%VU> M-'RRC8J(@V]''+PBETN9G^=O!4]%&'R#8%R62UKF:5FY8;Z(@N]F%+PF*_7, M;>D=1[4(@J\;U0VY4E:V,P9^^O](M_>.]VK#6+@;Z'[ 6EF^P5YHL""3>F\E MW?%\3WI#WHH8^2;&R.>KM5FP?Z,HF9> RAG;1144$4M_N=%3RK9*1,[%1,32 MUR2$WT= M>A+-[#R)+4'RIL;CEU'297'P5^LB MLB\B^UL5V==*6;WZF3,7Z]SO4%=*0OC2&UW$[C=30SKZ M<'Q]N+_,HX519&B #,,)FA;-A10LM7?JVE>^G&(+[=6\Y:*(_YW:\ MR)#E(5[^WD\0,-V6=PZVNTZ0VA#M8<7[ ?E_/T";Z/KZMT_ [%["=-""-%O# M"6+#_ROU2;#QR^*C$#5F4\&B+9\1;1*!:<>B!?\#OV$J*-D:HR>%KH?N6!;I M>70O^O N TQ%\T]]XSL]]B>;0\$B0R?P]UKF S6F42L4@U(I.AR*X#+J/X27 M,0Z_>_5W^J<7K6(,XVR"L( Y EN?0#8KF#0J.F/0GU RSYTN_Q,'@EFY76+Q M;P8412'ZZHGUGEJ.*_D="O_O4LI?Z#8?I"Z,V_$D:AO@%9T$-I6TDBRI);7, M+DE_H\% MF=ZON2T)-\EMD=TUI.8C^]2BZ!KY3OL,42_#P#7[ *X_DH'B!M> M,4;OA* 2R33^?77[V;I3JF6UHI:U,I#T;R)0OEJ4-_.%\G%5V&J]6[0N0<:( M[YBN4>@1UQ^&XYNV'K@NC((/@@E2=^":OD_MU)1Z0=,R]7AFGM2$NX%-Q$0: M.OI=Q['@1H\_@4H'3A?(.XS$9-4:98Y\"BE8 ]&_#[+__!_Z)R*+#_2[:LYTQ9&FX[A1*EF&U MZA0;$D56(K)82IF*Z%K5N,7*9LW^_;_TY!.*HY0Y[EX40$ZMJL-YI#+XM&FA MZ5)R5R M>/ >L09DZ(6KK#62K-:]. :M,9NU5-0JKZ749R3'!"V[Y*&0HE@( M1F[#AK=%WS%[/?[2X3; 'C,/S#[%T4?&C05._%0"7O4XR>!<]1ZDXCVO;J MWUH.]:^Q,?HWI2^S,W;,J)M:.#H@U49-;,>_%)KP'=I:\ CJHZE#/(_ZGLP& MQIF88,GH;#2]0^PV18,)IPD+ Y\!+2=;'TKT@?\JN> ]S/,/IBL-YE#'"FMI MSC[[R@0JVOZ>5IT,M> T0KW^@TH!;&/C1TU(E?'O3MD@0#BI"SM= &1%:CD] MZK)FS\22*&Y])B,4^%7,QO1\' K_G_:)%0#5)"=P@7DNE9J!9]K4\Y(QO*($ M$VI2RZ1]! ?QD3

Q68_,1><:FPAL]E'EGNX /S3!S08#"'AU.$[F$I@ M@9T-J",1.($!4I/ )S2D 3M6P$8#R>YZ?'D#*AD.+,^/5XW+ =Z!3D!=.C+) MY&'PH86R9C,;HY^HN#@"V&$S5#_S0I@--Q\9$LH?4BWA#T/'O.2ZBFC%8 MPID6I2O4&J%/DYX>_PH6E0;;WI8'LW*XP?V__S6JM<:[7&URK]X#-(:1]((] M9E'8/Y+-0T9XZL3KP&_W@>G2+MI9B%!9&CCN'?/\20^P9DDVI8;W;A>]60&V M!<$VOAL;#CQE!'DAEEC/*0/T(=N@7:D5X,<)$,Z\'I2M[X(I%,!OL%N",F3W M"'0*=#Y-%9H3?="DT.J?U(IHH)%AZA8J "< ]V3 C3;5G@TWF^I@ZZ,;","# M>?0Q8A??CGX#.(NZV0,5:-"FC]CD2A"-4X%+@3.+#B@;1-1%<4KHN,8_C=X M1VA'Q@^C1OI9\-? M"SN=L%P330#>A90ESE2*!O<.I"G.OP3)@:QA],M6O#! M]$XT-OMV"T(CQT!DP!+R"VQY%KUBT0/;Y,$A="QA)!@8]$B7(&DL/4 6+A"T M,$P\8X-96$,9+P<2HX?/G$\68>A0TPW#&CPNX;&P D8O>& @'*HH_><$D;^, MOX/FPRF$$39OU*%M#A%E0Q9"<$U8.] 5(Q:X%C;5V%,&/&!(A,UD[DH&;/H'H8%[23U8'BC\W 1*SH': M2-*'6+P>Y$8 M[ -*;9]83&KAEK]43'*7@ )6I*1LZH\[IW(4S,+O,#S*8J%^I(#>)&&MF0][ M*UD(X>A.RR0L@0CD2.;S4,O%4C2/3,'SXN!H%)6C#R$%1A0GG+]1I9_L9AF MCAAU[>!B0D\W6MO(>J(P/S'@6Z)C]H5$^L2TF,G6"C"VN M!9ZPXP([P1X,80X;/&A5P_3TP,,#7])T,&P+]U.XGWCL.:[IW85:U ZW;,0[ M&)L^JF9 !&7<#ER&)_%OE+>15O,OFT'3(MAW!+G]1%L#4DI%;[$ MIRA#2MSPU.00+-MN$P;6%'Y.DF5X.&4#(85-_2G*^1 -Z?,FL#A4>[E!SU0% MRO9D:4#0 @(^^/%1 ',(%I35W! ?T -;8 M4TK-@E)'M?0W/"[ZJE)0)+#<;:;EF T).S3N2&SG(F#9@:_&/%L*6SC;MR6+ M#+AZXX:Q1=MC&K @8TJNO89&=AKF3;QT>G MGC9/-Z\K.G& N_M'RQFL+Q#!DS2 6!9,@PD(W]>#+L8<_B!;@\@,P8G&'@;/ MGO&BQ!1J/#D)@D\9IQ/J3%0E.E=!HUJZE(1Z0Q4]N0OZ;O34<#0E#%\O]&Y_ MK5Q4Y[X GU)^J?$Q<1C)$KWW%/W-*@_L\3T-G&WCT;TD%;V/+R5-S[$"GRYY M#UGX94-<\*(O&R:6P0O?UE.+JF!+_M@"ZG_N^_6"+^OA2X-9KH(O>>.+4&.Y M9(M08_GD"ZBQN85!!%]>Q)_OH7C^CO%Q.@/B\"-Y4BO![&Y+\C MBP6'"RGP[ZO*JQD+[P+)K C4JE:LK+?0]]/I\$]SY)EIQ_O5^ROS03KE<9ZC M.,[#Z:25Y(A@S>?7A!.BL731F!^=7C))8@%29PG0HR9&J5A=;TN)C&4*PW&C M,B.@\S+HQ#C9*MV+J093=>N8Y5::0=H1&M9B&HZL^F^AL+="ZC(R9AY=.;=O M\B5#,P[L9F5TO'K_YMCFU+GN.(%';,-[<5N/4"IR5A[Z(#EUZ+E.WT0#KCE, MO?.*]9OZ+/L@*['(&076TE!Z/1VEG]3R)HL2V#Q4FK.5/K?"=;4F5RN5C/<( M(0R[) SKZ;6Q#&'05%FIEC/:$W.R 09>6.J %;-8SN:WB\*=*TG.K,;M8\> MN>U2UZC(Y48EP^:- MAY8'Z6P%Y!Q?@E !OLLYJR_7[:FW"?>COBL87O" J/ M;7>-U(RWMKPO=\'^W66Y4E6SWNV$1.R<1&R1[R8KRC:X;D>M%N7%(T<*1,;5 MP+#L_,PWL>-Z^*:.+Q+C[\(4?H$FV*1NWEEOE)NT]L5VS7IE2A]S(15"*IZP M6>9X[<_=.97)\/]6>)=O#JGN8B']MUAQP0UK[+--49[8.N5E[ITY(TR.#.M< M=XV=(-Q23P\WBQ2+[;@5358KPD\5XK1,<9KNP^::%,_=JM6:7%75Z=OUTOO^ MS7\9^+'>?\_O]9>#FC?G<>;0_F@<.@_OW9^/O6>=JAXV$CAGQ>&2FG"FW;(" M7E>D.92 $0._$Q6*2E>4L]GOJ4X6>,%8(;"B=&Q+V"',Q*J%KHQ=\@Q\9U^G M8& !++U1$\RQ?P/-Z3(3R6(C^&K_O,;L81&^&,9>JQPUE_56K$6U7 6]T',[T9 M\)H!0 "L-1@6?,:J$$JY6$U='-4BQ0H$$Y52\?IJJ=@8J5WX5RWU1V2HH1%Z6S\@8D$1IT]#%[*0DD]$X9^I.HKSK*$54L# M+'A&I+]*Q7KJ48D"F% /,I"%]@@H@+#@-6)91*/5$["PJE6GN.4%83C;5LH52U%&47 ME,K4D(O*9+)_3Y/.2DK9+4LZERR/+[(HC^-TO!Q:E$_:O^BBP/A# MF=4K]'E;KOO [.%HO -?:"N;G+3E?_J],(:[REC4$T-/)\HK%\&]7W>+X$EC71[EC.DW.K! MV JV68?EK:U2(1;YQ8:,^[J.51N1TA>.A77E^99]!"CM8@?4W$C!*;%A)T"" MCM3M#3PO-OK'>D(F!@EX#[S-1W2YXA(7\XZZKZ7:KZ,@X-N\$ ,0!^N$D M?@=&.[12FT[@AZVD7)=U3\%>L'0.Q=AC>)528L(3XV!M?%<=^9$4CP MMG]<"")W#TMO8U>?Z Z89%Q9&P9T@KP) M#I:P)8F22ZC%VR-Y#!^$(R_I^ _GCG )A6E#7%(P#?R%]$%^.2P$W5&[1VD M*Q,Q'XEAI-VZX!^PJ L>_8CHC8'B6JRG9B[<9PB7*0>[0HI@O72NT),O8WT M2[22\$N$7[*X7T(DT_CWU:W14FI$;95O#5IIW99;AG';U)7Z;5E5&E7-J%=* MU=HK_E1^QS&H NT;MF5@7;GZ%$0'_K3"OPZC[36\*1OJCA989NW\'E&X!7[5 M*%OF58#!=87%MO;X?].+9 HBM4SI,&U&L/WUE+>OP%8X<2697*W^R8?E2SP9 M?_)1?TC=L"^1/^H=\@T 395(^5O1Z;$161.C38_"]H$OW+U2#F(';2384<(> M*\_'3C%LQK*M^ GU#BE1C6@E4/?LHN5BA'^E:CQH^C])_!.Y6FM"KE/ M__CSNP66G\^#\&QD(@1MKT-GY=L7#S6 M@.>K4LNT6*MH+VAV37_&6C !.X46NR&S*>)^Z"<],XPHB!'%%7A*QIT:#(; M.>Q#")-EOG5ZQB;S1(-N8,5M?#$D&=B\X4;DA753V$E.Y9Z-%1B58#,0U@$+ MXZ14-ST6$\ 6+JX1.![!O4'?:F0^7(?;$E%E/F)R$O?!&HI]#R3+O*,\*F;A! M?MH4UQ<:W"Q4S)? KZG6W0[?N([&M_.U65];PX/$'&-;?-MFG;!X!#\&NC?T MP"N1PP I2EP'=DW6\C>V4I #9C=LA(X2AKF_D=W"^J0GQHO,W.VHSX \;LNP MPX:11R<]2IN_.0*\N.MSE_I%Z6/@8C27=W'CS(;MLEO@/6BK1"%R\*L2].- MDF\^4)V$R8 XGFEW:-@9/,$[ANDM:VSR'F, '?%$XAFDJ1T1=IRNZ2'9(2]? M%>8D$7;$ 0.V7!(8J!VIZSI 3[.%IR%R2G<;U&3T6.XXS-FYSE= M$U9TAP=+^P8_V$%E+H]2BV7/(\],%RS//D,MGF9SIA@FD#)@ 7_.:P]/67K4 M]=@I$;Y@X%A6X$4'E .'/=C!-Q:HTT.,P]_-8?H(!O<+EXE#*XWQ,%LRA5H\ M?N)X3;.8I_M'9[$F?W^!'].'7;9'SK62@SNVLYD=QV$IHF&G<#R/C XG.?1# MZ@/&QG%C#Z/9,:$#\QUS!_@)+ABS_>AM1V@&[189[MF.'O2077I]EVK20JCR_A 4F)$Q.L9ZSW$T[+57$:6DN M3DL93]1R\DKJ"HY.,UU#E,613N>8>SIPL7]Y+1T?LY,B17TGG5]_/KJ4CL\^ MGE^>[E\?GY\E?2@R.>+%YQT?LZ>D'G*K5LNJ.G+"V6:)7J;;E& M6[>-5KEYJQ'::JC5:D,WJA-G,LI7VB;6!<]%! 1ZMUJU5M9*JSV.>7)?@N2, M1BE*; E2:@W22MRZ1Y:0GO"Z/="1J?Z@<6H8V"1H]6"8A=FR+/B"MI_%2-I+ MD91GKCF!!8XE-5GR6&*CPP".&P6WXP;<,MHYF!FGAQ%DYL*0),6'&/AB4A0\ MC=+JFF#3HY$I3TV2=-(OV;*\-3"OY/"8V.QR;P_^RQYNVGW'ZG-#>7))! S4 M,!<*Y\TU$#PJ<+EA&$V$>P=@RT=OIDT.96*&6P^\3E/WXP;A:/?Q)=OQ4OG+ MPN-+9;;BY&*SM US95V%&JM6K1A*N5:Y;9:;H+$T3;]MP#1OP6JOE1I-G31; MRJ3&VL=S]H\\H?*V5E<;C6RUUTDH4TWZ1901(X52SS*;.AIE38L+3LN]B M5RY*8@5/5'?-9G*O%A5D1&B1N99J;G43!*E)2UJE&Y MI?4JN2V7C.9M4VTV;XURJUPFI%9J-HP)P5!O;-"[^"(JZ*$K?)72:1W=!_#( M*PJ*GH6 \B@H:E%*SUQB4TF]3[<6(IZEOT/QFVR[.H0"N(FP4>RWS@1K3<)0R^B*7@N-GM'3: MBZ8Z5@^'S0)F.:IMETY^81JR%PU-/.F M&B:V!*$",E8!0@,(#9#2 'K>-, Q'J:ZTD6ZT,&$^2CTPC.GS"$8]TL>JF&2:Z7K#L6 M?OGO*_75O%FNK;0L_F@W_*$6>FWRZ7$]ZM:AX*0TR@0Q"V[; M=0=LU]6EKK^Z "CFO=UP[?C$DLX"EF[IM*0K5D X>:5A [B_/IG( "#58FVY M:O2E #DE#V8WZ$K[O9[K/+""F](A'L>ZHR 1AI0PI(0A)0PI84@)0VH7#:F+ MN.$"\:0++!/AM#;*C-H@#9%[H^E[5*Z?F]/L74IA+@ES*5_F4JY]1V$6K=@L M>BD:]F%!I(W]EDP=_B6FL97;GS!]II@^3L$K%OXA458%:>MA$ . ME$'N+:!3,I3^H[[T@<;O:!C/M8!F42$TBL*7!:*7KWL/$FN*(T4U@'),I0M6 M2RT[($&U";#(_8I&42\H/?_V[O2Y[9M)?[]_148M?,F>6/1/$1* MLAO/V);2N'5LQT>;UR\=PN0I$E*_+YP;3IXV#^@'[HG?2>CD$\X!.W34WA#/*[Z5O.(L0Q8*!E6'!$G,CZ&66/A^7Y=?]R^MR%=;*R@4 M3*0 MPTQHNS2M+.NMU\OZ]W(!\"K>/!=2L(CM"WA!\1.(GB(6D0R!5*$,0(E)15(& M 4G.,M%GJPE7 MDT5GPO?!'Z1GJO=8TIG+&\^,(VP72<(:::\2O%N.8;8Y8BF4__H"CWW1M3U( M1&\YI*BJU&[6QE1#:-E)C6XY/*BFT"Y#MN)2N[]2NQC!B66I789YQ*;42JIX M((KB?BP\)(#M;V?=85>KSB\L1.QP ]7&Y_WLD;M^2W"@:.UJ)^(KH#U\?8(Y MN6\)_@J1D4$7U;7&#AMH];?\&"J*;<'\,YCMR6*K'3*E"CZ1K267789-K/!@6]JQ M71S":>%G@0=O,06NS, !O'E'D853W%%P;=GR@A&#)&]\H6E[CH&I:L>%AL9C MOJCV<3&(M>E_U !MIAQR:QE9"27SCGC#D:7O/,^-KCV4['?3TCCP((D6S_T^ MI6N$\!A#"T CD1.%Z,S'@04 >QTG(&;D!R'J80OA..KY4(392AHHE&"FC](^ M1S[Z65)%1+GB.KX'5PL?2A;5F\3QK/S[\D-Z?B]@"9GY&>?*M/6IU07N@F!LHG#'K(#OX\B.DC0Y^1GF.)F MTBX# TK=HF&U'S_VD#\@'FTQ>"(1&HS+@-/?PAA[$;1T&U,/)HE&76I1MEJ' M]'/Y);4NH0&IQ,7'DXN<0VD$^I2E M+GFDP7Y OL5T5/K$BT(!W<]E G6F]'7/CY!O4($ !/4B5VA/B^6SZ95P0$S' M=DSDC;$54X8$ M^MB.%P,^;91\)&F"_CY/)N#Y@$!U'V%+BC8I.[YFK8$HZ18WVHZ:K8$&7;5'6#V(K>D&2L&]B6 M]5:[T2"2)&MRLTG[?(CS-RXBTE;_\H4*>77/GDFC;LM MT=!TT]8:]/]6&YOBC#0V/E.]N<,VB48=JMVN'\;4H.@MK26W&RS*84- T&64 M]AD5.LW<\$[)'W/]6Z_XJ:2M:!8V=");A(I?T](-4R2ZJ$A-I2DV6HJIS(B? M>@U6]\*C/K^/P;'HJJJHFLBBY*D"2GJ+"MUE;TR=(8U>O*NX3S]B(G#O](U; M8G^H=>(@97%#EW288>KWOJ[IBIC^(7G^-S%ZT(?BZ(_?-;5YHW;,L],:2FG] M4'.&P"O?)=BSL1N2&O)PGQ)-3.L(YD\P?9).@^#4\@<1L3ZZ^+&6C/,5#@*] M_YOV57LJ([\OZU]QVKMJYF1^=+V@,&:ATJ=)1RZ E$GON.PQ%&AU M$Z4^7T0 @93"U"@H\G0YSW^5RI2.$PAUTW?]X"C/8Q:HRG@I)Q;YD=33*JC8 MIA\^PNXS'H49E5%Y<9$/3#J!6 ^?KJ_/G\9 MML4#*^&6W'-VJ79RGP3>-.8]!VM$X^JQG.)59+7,ZAD.%C@DR8*FYKT&P]/] M^NGB[.+^XJK3_:K++:DE:Z6)C&Y(IBT:+4UO:J*L-YJ:I!NJ1?\A#;/9Q,1L MV(V9J8^F=X<]JH-1N-;)S@:FABO,G])Y$M($E!.UUH3<\D3CR];N%>!(49K; MR8Q%NOAA0E&[04B.\E^*W8*V,ZD!"3-3R2RE,G$<^?F%5(N3*^5A*HQ;,#;E M90V-@KQCA0+.M1]+:ZL+-\*P4S-Z]4+9D-W)]OD(ZL+5W U3-TM2GH_:L(]\ MC6KLI%9Y2Q3:"T^;,2QWV5ZSJ>[)LB"IF];&M>1:RTG2501G$0IN9NH3P-M% MS_UB!(%@22D%6=\K4[8C-ZTB>!,OC M &=.!GC! OPFQ6SO6+*G2J-(@I0L\C=6.;?#%:+Z"H'S;M1#8M;IRP$VHR.2 M3OY*Z24+EJ:4 MSF%H;#HX4;81YKSG$!MUA\2,(7) US:]2X(YVT<47)<:[_#[9)M%>DFULDO9 MCIKNT.QA[Y&@4Q.V8X0(IZL*I=;NB)E\7!'E_+T['!C8(V']>NB2$;P-=V11 ME&X+?]QEFS=ELL[MN4?'0][IH-=;LNY+7^M M+9_*\RG"LBQ?-6?T\GA&_Q_VW0"?TE=O2B\S/J676NA!N!/.A;$)EQ157&KG MVZ+&[?P^V/D]M.@RM^CC$AZ5;,T WIU_X@;PK1G >SST/;\_0MUA1#PX1HWN MS![IX[%%Y#:(VZ"MV:#STTMN@[@-0N?8-6,W32M<.MZ3 3@;W")QB[1UB]3I M?N06B5LD %AQ/(<;)&Z0=FR0+D_/N$'B!@E=8H.XW!9Q6[1#6W1SV^6VB-LB M=!.0D-J>1?$:&P3PA;!E2MW@"OV&%/H.MZLCTGL5Y$[Q^6RP+:QG=W1!(F7:D7 M,#NR*SF:2A&W29#:I#\'_Z,,ZK$*'M@8=V0XI[GDTX)&\HI2LBJ(8R"P!,(M M9R!@8YGK9W,W<++ M4/]NBALIN^?HEK@$IN97OH 4I0Y%V@'OW0F16=K*^>RX+J"31P'!X/MQF,/* M8]-,D< M=Y"^ O#R@SB@>ITBR8\WB+;F'_:BCR?0X,\.I2F,C?_1YQ- ^AY K>/4'*[2 M$/3U)38 #905%B%]P.WWX0_',WW:S2!AC@$0^395#-@JY'CT"0!KI_0"/G\\ MAMJ?H'&GWR1#DPS&W2403$5I!8&T-L"C$T8!C%V.+8]=RMS"ET-$9UO%CPL; M=3U, 1LSXDVKAL&I< Q.CL$Y5U:78'#6QH":+4G!8J,IZ6(;-_6&T=3TEJ5: MNB8;;;MMR808=NVD *AY=_'KU>G]PVWW3I=;8DMN9W>W894RC5AJE!9!8$WZ M/T; 6J/F9KU*)C:YXLHSBEOTXZEWF-0P&9^*F/B7HG.#VU);R6K6%-P*U"6Q M8NI2DEVJF?_+'''JY4+*0GJ#.D+8PFJ0'G9M<#C04.+7T@>2E@,2@^=+&IR4 MN=D$P/,<]G2H-SQ"O\&W2Z5:&?$2Z\(NW3PP:9]2X>9164,16LS!=*I0/H;* M;PB)J:/D-_HV>2<>U.FM]QNVVW.CLMU?Q=B@UX_G%UV_^C>7GS\ M+_IT?=FYN/KU[@!=7)T+<[%"I[5!7JIT\[%[=U-X'BF,\#N MK,S-[N#ALW<^>V>')"Z4+!C%?9G57SFF[V)TZKK8";F0L25D/S+;SR0-,J,[ M%C,N8@R+6-5"A!F /2Y0; G4?D<+L_B.$*%.[I^:IA][$6Q_X^$$#R))9(84>DWMVNYLQ2:1-Q89.PDHKS]&;GOWW' MFK_7>7*BR/"M$?W1B_KNR?\!4$L#!!0 ( /&!_E@?54I:J@@ /,Q 6 M 9'8M,C R-# V,S!X97@S,60Q+FAT;>U;:V_C-A;]*UP7W4D R_(CF09R M)D G2=$4GQ:ER4OV#MAC%2* MO34R&PG&.NW6ZU:G>]QJ1]'9*?HZKQOI(F'?Q=W7<;?=/4*UI-M+>EWVX1T[ M^'1]?NAK7[P_O_[WA\LP[(=/;W^^.F>-*([_U3N/XXOKBW#CJ-7NL&O#"RN= MU 57<7SY2X,U/LE$KP7_#L M['0L'&=ISHT5[DWCT_4/T0EJ..F4.#N-Y^^A[D!GL[/33$Z8=3,EWC3&W(QD M$3E=)KUVZ?IH&>/V6IW;:"HSER>==OO;?LFS3!:C2(FA2XY;)R?+(B-'^:), MAZDE1BCNY$10WRN]IDIPDPRTR_OK VQJ6<[;#77AHB$?2S5+7EW+L;#L%S%E M'_68%Z^:H03O5A@Y?-7WM:W\KT#7F)X3MR[B2H[0.=G:#_-/ZJD/[@PR%7XZ M ZTRW+R\S>5 .M;KM#JG\0#K5'X!JU)@5)@ULZCZ5LLFTL(N)=TLR666B0(M M_OG-2;?=ZY_&5/LI+7UH <^%<7(H4TY[R_20?3"R2&7)%;N\%6E%.\W>#U%# MF"=>X(?,+BMC*XX-<'J/K+J\!>,+.*OO4\<^5@H#=WH\ZAP=\$/&BXQUCK-P MU=PCJ[EE/-,EN=+]7-;?1.K1V6MW":$N%^PW;@:\$#9Z?ZO$S*\W[G3;[>YG MMGL[YY^4XDLS&+TZ]0<,>=5D[[BY8?_A(VWLC6RRU%-ZAG7B+O$V.#Y0@@VT MR81YTV@W4$6I.CPLKFW)T_H:+0Q>V=ST.@R<8,"ZU7Q!8I>M5IS0T"E7]4[[ M34<4ZT]SZ41$(XBDT%/#4;2US\^Y8A%"F=/C.T445L-0G99?GK5)?#5SKEC. MX6V-F$@Q!1M=+BW[M>(&=%$S]E&4V@#G!?M!FS$P$/U*H+_0%7;W=QIUQGX$ M8V"[;;*K(FWUE].+:4=C#X07/&S;@.Y^X>$MMU[>LO&,W6"9E( 0;@98F "& M3&/40D-!HWLN"T29&:L*9RH!,R&/O;P&2C@;X\I(Q/4A)V]IF!Y+<2@--CVI0^1:6 &$,NYWFS%;T M;]E^*HRH.Z$)C*6%]J2%#EF $;:$WZ?1J=\2IND,TP2DL"B#V>HRO.#\<<#J M_4UP+MA0%D 2@7*)G*:74DA1 *WE?5D,X16#C(6"556&/H'.%9@T@6Q)GK0$ MN(@7Q!=DF O@UYBS:T.#6YG/?9I4HU*H +1K0-(/9[T]*;:+@< MB/G+0S_1==*@"@FBY(L2H??ZN1&!'^X5$2Z$Q:H!$EX _#E>FZ1-4E[9W9N0 M2!@(8*\>*<@.71ET #=+F1HY;]02A>^'4J.EVU\-'>%T"V"N=<<2C\TZK-!- MB1 6ZQ6,O-GD+8:6)E);B1-0 9UY(-903U5EA2+Y[[U\L:[>FT%#'((+=2H MY(2R2G&*4)B6-V*I?- BZ*A5^8=/ T$5$4307F1?-F@\/ZX,]IDK.WO>>Y39 MW6?OS!RP;2(S(@2WNO!PXA9D(J%/+.$FFR,6')(\'(V0%MHT+/'7@]OC=G'X MN$GNA1AX6T^HK$P)WEBOW=(4@/8&^)1A) I(,@7ZX([P!UI4!>E0H(@_V$08 M>B')XU"9[A=)+B=<5=[K$H+$<$C'@Q/LO=T@O1?":XN+@)C[ MR*,CG5I)^SL;X?T(CT_:1Z=I90A?*T)C0Z]C;1W*Z<0>?5GL+?LCG$>R@RU- MAB *?/%:[=IP),G"GT;10551+>PZ#%;EW"Y4&7EQ3RR1^?#FUZ,./3.FY(U0 M]='46OWF7UZB+T^FYY=]'S^'[-L?OV=S'C:7WI:<_RH7EHZ7T/P(G78OJUB8 MQI%9.&WL0AKY G0Y'DOGA'@@M TTQ!?=SR3L\YT<@#&())8B%=XIOYG37/Q1 M29CO*5T5_ILU>_B28_^M<^SO%10SULU_DX^-I5.85 K KY8UBUQW*O@-Z92@ MH+U2\=K??R$P/]%\%*CKM#2<7&UPT#Q#0RL6_GDK >J, 4V 8B"N&<22A5*R MU1ASQI+XR=1Q<>/9[XL0>@@]^Y4#;X8RU,[0P/DU 2SA_36@Z;\AJC'<#&)! M%A.M)H(40\%']1==IG;Q8EPJ/1.X.\UU\.O\#D. Z,\BIUI;L+8G3Q_0HUT> MA&\:]&188TZ"NI? A2C52O'2BF3^8=4.@GL>GL>@1\)H0;#4=Q\X:R_A6S]N M1B4K3X_=X](:10(BZA;'WZY._ L"<:Z\ :QD$P<>,O+HJ:W\J8(+[;6;C!YS MW,%:[W#">F(#ZIV>1Y'REOG#2_9-V_\][51B&]]]:&6-1'L*%39_];KW"5D[ ML@4==B3HWB+N*T]V!;,4&[XR8'< *UPG CO\;+>QZ_S^KS;S2??K/)=BN.D! MUN>UW\I#^W1NU3".D*%F(J+YNWX%%^"% 7;+ZVX#U7QV4 M4-71 #G=3<2'D,,)GVB9U3 X.6EUCQ8N.I2U?2H4?LW@?QYQ]C]02P,$% M @ \8'^6!\UQ('!" &C( !8 !D=BTR,#(T,#8S,'AE>#,Q9#(N:'1M M[5MK;]LX%OTK7 ]FFP"VY5?:P$X#M$F*9C!]3,?=Q7Y:T!(=$:%$#4G9\?[Z M/9>4'W'LC(-M4T\V 1Q;%!^7Y#GWGDO+)W]K-"[RE.>Q2-C[X8=?6:+C,A.Y M8[$1W*%T*EW*AKHH>,X^"&.D4NRMD;O2:K38;&IY;Z:3.N8JBBX\U5DN=*_I1-)U.F]-N4YNK:/@E M2EVF>I'2VHIFXI+:Z0F5X+_@R>E))AQG<YU[>OP7>,8-9QT2IR>1//W M4'>DD]GI22(GS+J9$J]K&3=7,F\X7?2[K<(-T#+"[;4Z-XVI3%S:;[=:/P\* MGB0ROVHH,7;]H^;Q\;+(R*MT4:;#U/I&*.[D1%#?*[W&2G#3'VF7#M8'V-2R MF+<;Z]PUQCR3:M9_,929L.RCF+(O.N/YBWHHP;L51HY?#'QM*_\CT#6FY\2- M:W EK] YV3H(\^]74Q_=&F0J_'1&6B6X>7&3RI%TK-MN=DZB$=:I^ Y6Q<"H M,&MF4?6MEDVDA5U*NED_E4DBT]+X%/!/&R;&,.>TM MTV/VV<@\E@57[)W,P56)3Y_&J"',(R_P?687I;$EQP8XO4=67=R \3FP?\D/$\8>VC)%S5]\AJ;AE/=$&N=#^7]7<1>W1V6QU"J$L% M^YV;$<^%;7RZ46+FUQMW.JW6M_8"VSG_J!1?FL'HU:X^8,C+.OLH8ZTX>Z,4 ME[;.8D_I&=:)N[ZWP?&1$FRD32+,ZUJKABI*5>%A<6T+'E?7:&'P2N:F5V'@ M& -6K>8+$KEDM>*$AHZYJG;:;SJBV&":2B<:-(+HYWIJ.(JV]ODM5ZR!4.9T M=JN(PFH8JMWTR[,VB1]FSB5+^40P(R923,%&ETK+?BNY 5W4C'T1A3; ><[> M:9,! XW?"/3GNL3N_H-&G;'W8 QL!PHN\[@Y6$XOHAV-/!">\;!M SK[A8>W MW'IYR[(9N\8R*0$A7 ^P, $,B<:HN8:"1O=>WD-E'"6 MXLK*\@VLZ-N6/M,Z@?AJ+>?H%Z> L! M) S;KP:V@FTET6Q<,FZ$1R%0)6F;@18F+&VYM"E5IVH9'#TY>[I. MI(V5MB7:40@P6@4X%D;'(D&Q90= 7R( YP"Q;4G*T8%825+H*EQ*4NMYH 'U MS\@%K[ CH)5LV7F@\7(@YB\/_43728,J)(CZWY4(W9=/C0C\<*^(<"XL5@V0 M\ +@S_%:)VT2\]+NWH1$PD@ >]5(07;HTJ #N%G*U,AYHY;(?3^4&BW=_FKH M"*=; '.E.Y9XK%=AA6Y*A #88K62B3^#M.7(RD1R(VD",J@C'\QRZJFTI%@\ M]ZV7-][5:RM@D$-HH48%)Y25BE.$PK2\$4OE@Q9!1ZW*/WP:":J(((+V(OF^ M0>/I<66TSUS9V?/>HW!ZWB\/'37(OQ,";:D)%:0KPQGKM%L< M#? IPQ7(HVPW2>R&\ M=H@BX7*S&O><0$-$ !LT_TB7;KL%N\0YOJ@M**$9_WFBRT;S5,G37(25@#T# MZOP9U@_"4;)?L#X/B+F+/#K2J92TO[,1W@_P^*1]=!R7AO"U(C0V])IIZU!. M)_;HRV)OV1_A/)(=;&DR!E'@B]=J5X8C21;^-(H.JO)R8==AL"KE=J'*R(M[ M8HG$AS>_'E7HF3$EKX6JCJ;6ZM?_YR7Z_F1Z>MGWT5/(OOWQ>S+G87WI;RBH5I')F%T\8NI)$O0)=9)IT3XI[0-M(07W0_D;#/=W( MQB"26(I4>*?\9DYS\4Y4\&O2*4%!>Z7BM;__0F!^HOD@4%=I:3BYVN"@>8*&5BS\\U8" M5!D#F@#%0%P]B"4+I63+#'/&DOC)5'%QX]GOLQ"Z#SW[E0-OAC+4SMC ^=4! M+.']-:#IOR&J,%P/8D'F$ZTF@A1#SJ^J+[I,Y>)%5B@]$[@[377PZ_P60X#H M;R*GFENPMB=/']"C71Z$KVOT9%AM3H*JE\"%1JR5XH45_?F'53L([FEX'H,> M":,%P5+??N"LM81O];@9E:P\/7:'2VL4"8BH6O2:1\<_K\[].V)QWB=G.<_0 MY;_?J^M7G5[GZ%6O3<3FI^> 77\30^Z=PE&SUW[D.?Q2PL=V6W5&ST'N8+#W M2-[:(^Q0!85YF"ENF#_=9#^U_-_C3B6RT>VG6M98MK]88O/7R^Y=TE;.;D&9 M'4F\S[C[P?-=02Z%D!\,VQT@BPJ(_W#'G=JN\_N_VLQ'W:^S5(KQIN=REL^8PH\>_*\H3O\+4$L#!!0 ( M /&!_EC,UP&U004 ,@8 6 9'8M,C R-# V,S!X97@S,F0Q+FAT;>U8 M;6_;-A#^*S<76Q/ >K6=NK)C8'52M$73I*VS8?M&BY1%A")5BH[C_OH=)=E6 MW#C(@#8QNAF0;9''X\.[YXY'#G]QG%.9$ADS"F\F9^^!JGB>,6D@UHP8;%UP MD\)$Y3F1<,:TYD+ *\WIC $$OGOD!F'/]1UG-$1=XWJ0DA&\\,(C+_3#+HI% M82?J!'!Q!@>7D_%A*7UR/I[\=7%:37MQ^>K]VS&T',_[LS/VO)/)2=71=?T M)IK(@ANN)!&>=_JA!:W4F#SRO,5BX2XZKM(S;_+)2TTFNIY0JF N-;0U&MH6 M_&:$CH89,P3BE.B"F>/6Y>2UTT<)PXU@HZ&W^JUDIXHN1T/*KZ$P2\&.6QG1 M,RX=H_*HX^=F@",][-Z2N7$6G)HT"GS_UT%.*.5RY@B6F*CG]ON;)LUGZ;I- M54N+-!/$\&MF=3>TQH(1'4V520?;$]PU,E^-2Y0T3D(R+I;1\PG/6 $?V (^ MJ8S(Y^VJ!7\+IGGR?%!*%_PK0]6X/,-NC$,$GZ%RBW50K3^JESZ]-,&J/4 5]N'0_NV,7/K/86A2"3L]O[Q%"4@"A*K=YW;\+8-9T1?P=]DIG1QQ=LP3CE+ MOLT;<'!/4CFT"D_4?"K8']8<2WB#3,"-J\ 99.S"@<5AC1WZ@['*L#98EF_! MX+ -D#+-IDN(RSRV1,S$M.U:[* I*TJXV1*NI%H(AH5$U/27(3@K3)6F3!^W M_!:J$:+>-]?OUL+U.X[0^-"U"ZK]L8_.J4>MR.,9VA2\MO!B(NJH* ,$M_=! MTX>(T'IPM\[OR2X']WBCLEM-MMZHI@H.2_-L+>+)X$S0EPW/!R\&!7R<$XV9 M12SA$\N51C]+>*UTAN'B?(1$Z9(!7RHI8)(BU]_-)8,.\K^L%)N\JG1L:(4$ M0M?$*2KA14VN>I,$;"#&D#A%C1A(S1*D##PA&@(:@=T /UU&',:*QW&)6/5:1$@O@.O2"EYWN (BD&P]YEI1> MR>7_*9U%=U(H?"I&[R0TETC2K*)4C!H(ET@H+DL"U)Q."+<,Q^Q>6.*T;3?! M,Q$.PZDQFV)'CDS"'CLJX1)/5[8=%=*R7+=,L5)S4?%.Y4QO:CVS"2QW!Y_V M9&>U9Y22:,\1IK8A>:ZGX[L1*")(7+%K]:>(XPLG3JM:P9QMKNQMI_(-]JG2?(C.@NJM^+L^=V@T<& M^FZ.Q%[EX@< +E-+B;:';JC]O=HU\ALHE. 4GOGEYW&7XA7>[4)H*Y3VES"P M>CKAMY%99ZUU7#PP4O>9=T^\W@9S[5[PQ+1] &4QC>)&CCDW;#UT??\I9SZJ MOW8EX<>'^VHU:I+XCVIV"HPU7>J MUX4:B:]F6LTEM<6:TM$J]35NGF]WU"6;98K $MFIW_U;M*ANM^N6YH7W]E5Z M3F;,F6I&KAR28!$=D6O%:4V#?M\-N^L47;7YY=&GNJ(O[_Q'_P!02P,$% M @ \8'^6*B,T-PS!0 A1D !8 !D=BTR,#(T,#8S,'AE>#,R9#(N:'1M M[9E[;]I($,"_RAQ5KXF$'QA(J2%(+4G55GVD";G3_;G88[S*>M==+R'?X.!R/#HL6Y]\&8W_.3NMACV[?//Q_0@:CN?]W1YYWLGXI*KH MN'X+QIK)@ANN)!.>=_JY 8W4F#STO/E\[L[;KM)3;WSNI283'4\H5: ;F[@Q M'-@2^D86#P<9&@91RG2!YKAQ.7[K]*B%X4;@<. M?ZNV$Q4OAH.87T-A%@*/ M&QG34RX=H_*P[>>F3ST]JMYJ<^/,>6S2L.7[S_LYBV,NIX[ Q(1=M]=;%VD^ M35=EJII:J%$PPZ_1RMZ0&@ED.IPHD_:W![BK9[[LERAIG(1E7"S"%V.>80&? M<0[G*F/R1;,JH=\"-4]>],O6!?\7231-S^"-<9C@4Q)N=>U7\P_KJ4]N#3+' M+;U0VIZWP*.4!N>\(A9VQ:@$CC37$8\9P+>&GUK4)[YOPF4=*,'@M!.-%$T8IQ^3[/0$.[MDP#JW $S6; M"/S+3G4![\C*%)1(WGL9N7!@]; +&?C]D]UH"X9EXL^&UU2MBHB:]A)Y"=G^>#1UQF3$#8NW7O8+^#ICFG8+L8!SS)4F M TMXJW1&+N!\A43ITO3?JE: ,B;&/\PD0INX+[._39XJ&6NY!?+CR-HQFFE(HM.(I,Y24U-8NUWK5[O2!R7AM(<]"Z94L/R&=A7$YQH+"T[35C,ZYU W&IKV3JK( MB22JL;V2U9Y* N,R!;>DV%8S47&G1$M[[BA!.V[88TMC M"7HMI>+=H2 D6%Y@N+S9U..(!D^K_,&>5^R:TZ+>/@WY:T3KLY MV3C:?.>;<_^-O-4R3XB,\"[4[]6SZQYU'UC1#S,">[D7_ZS"7;)$ M;?)EX,AOH%""Q_#,+S\/.QNO\&[G0%O>M+_,P/)J!]\[9[UQK5SC!YUUG]%[ MY/END&O#P2-C^X3L$[(_A.R#4KGC]'@WGP0PY9J4%@2-_9O,O9:K>MG[D!M2 M->K_#VTYX+NGVQC>^SY@X/'ACJ2T>L.])ZEII4SUG>I51LJBJZE6,QG;K%3I M<+G!;[PVOUU1YZ:6%$%G :=^]F]A4;V:KTLVW]9O_P^0LRDZ$XWLRF$)G19" M=JUX7&/0Z[E!9Q6(JC*_/.-5_R^4?U@,_P-02P$"% ,4 " #Q@?Y8.2_C MSW / "RH #P @ $ 9'8M,C R-# V,S N>'-D4$L! M A0#% @ \8'^6#D,2-[P$0 E &UL4$L! A0#% @ \8'^6&H3P^WV2 (6(% !, M ( !+[4 &1V+3(P,C0P-C,P7W!R92YX;6Q02P$"% ,4 " #Q M@?Y8CF3B"X04 @ HI!L $P @ %6_@ 9'8M,C R-# V,S!X M,3!Q+FAT;5!+ 0(4 Q0 ( /&!_E@?54I:J@@ /,Q 6 M " 0L3 P!D=BTR,#(T,#8S,'AE>#,Q9#$N:'1M4$L! A0#% @ \8'^ M6!\UQ('!" &C( !8 ( !Z1L# &1V+3(P,C0P-C,P>&5X M,S%D,BYH=&U02P$"% ,4 " #Q@?Y8S-) , 9'8M,C R-# V,S!X97@S,F0Q+FAT;5!+ 0(4 Q0 ( /&! M_EBHC-#<,P4 (49 6 " 5,J P!D=BTR,#(T,#8S,'AE ?>#,R9#(N:'1M4$L%!@ * H D@( +HO P $! end XML 84 dv-20240630x10q_htm.xml IDEA: XBRL DOCUMENT 0001819928 us-gaap:OperatingLeaseLeaseNotYetCommencedMember 2024-06-30 0001819928 2024-07-30 2024-07-30 0001819928 dvh:ShareRepurchaseProgramMember us-gaap:SubsequentEventMember 2024-07-30 2024-07-30 0001819928 dvh:ShareRepurchaseProgramMember us-gaap:CommonStockMember 2024-04-01 2024-06-30 0001819928 2024-07-30 0001819928 dvh:ShareRepurchaseProgramMember us-gaap:CommonStockMember 2024-06-30 0001819928 us-gaap:CommonStockMember 2024-01-01 2024-03-31 0001819928 us-gaap:CommonStockMember 2023-01-01 2023-03-31 0001819928 us-gaap:CommonStockMember 2024-04-01 2024-06-30 0001819928 us-gaap:CommonStockMember 2023-04-01 2023-06-30 0001819928 us-gaap:RetainedEarningsMember 2024-06-30 0001819928 us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember 2024-06-30 0001819928 us-gaap:AdditionalPaidInCapitalMember 2024-06-30 0001819928 us-gaap:RetainedEarningsMember 2024-03-31 0001819928 us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember 2024-03-31 0001819928 us-gaap:AdditionalPaidInCapitalMember 2024-03-31 0001819928 2024-03-31 0001819928 us-gaap:RetainedEarningsMember 2023-12-31 0001819928 us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember 2023-12-31 0001819928 us-gaap:AdditionalPaidInCapitalMember 2023-12-31 0001819928 us-gaap:RetainedEarningsMember 2023-06-30 0001819928 us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember 2023-06-30 0001819928 us-gaap:AdditionalPaidInCapitalMember 2023-06-30 0001819928 us-gaap:RetainedEarningsMember 2023-03-31 0001819928 us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember 2023-03-31 0001819928 us-gaap:AdditionalPaidInCapitalMember 2023-03-31 0001819928 2023-03-31 0001819928 us-gaap:RetainedEarningsMember 2022-12-31 0001819928 us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember 2022-12-31 0001819928 us-gaap:AdditionalPaidInCapitalMember 2022-12-31 0001819928 us-gaap:TreasuryStockCommonMember 2024-06-30 0001819928 us-gaap:CommonStockMember 2024-06-30 0001819928 us-gaap:TreasuryStockCommonMember 2024-03-31 0001819928 us-gaap:CommonStockMember 2024-03-31 0001819928 us-gaap:TreasuryStockCommonMember 2023-12-31 0001819928 us-gaap:CommonStockMember 2023-12-31 0001819928 us-gaap:TreasuryStockCommonMember 2023-06-30 0001819928 us-gaap:CommonStockMember 2023-06-30 0001819928 us-gaap:TreasuryStockCommonMember 2023-03-31 0001819928 us-gaap:CommonStockMember 2023-03-31 0001819928 us-gaap:TreasuryStockCommonMember 2022-12-31 0001819928 us-gaap:CommonStockMember 2022-12-31 0001819928 2023-01-01 2023-12-31 0001819928 dvh:PerformanceAndMarketBasedSharesMember 2024-06-30 0001819928 dvh:PerformanceAndMarketBasedSharesMember 2024-01-01 2024-06-30 0001819928 dvh:EquityIncentiveProgramMember 2024-01-01 2024-06-30 0001819928 us-gaap:RestrictedStockUnitsRSUMember 2024-06-30 0001819928 us-gaap:PerformanceSharesMember 2024-06-30 0001819928 us-gaap:RestrictedStockUnitsRSUMember 2023-12-31 0001819928 us-gaap:PerformanceSharesMember 2023-12-31 0001819928 us-gaap:RestrictedStockUnitsRSUMember 2024-01-01 2024-06-30 0001819928 us-gaap:EmployeeStockOptionMember 2024-01-01 2024-06-30 0001819928 us-gaap:PerformanceSharesMember 2024-01-01 2024-06-30 0001819928 srt:MinimumMember 2024-07-01 2024-06-30 0001819928 srt:MaximumMember 2024-07-01 2024-06-30 0001819928 dvh:SupplySideCustomerMember 2024-04-01 2024-06-30 0001819928 dvh:MeasurementMember 2024-04-01 2024-06-30 0001819928 dvh:ActivationMember 2024-04-01 2024-06-30 0001819928 dvh:SupplySideCustomerMember 2024-01-01 2024-06-30 0001819928 dvh:MeasurementMember 2024-01-01 2024-06-30 0001819928 dvh:ActivationMember 2024-01-01 2024-06-30 0001819928 dvh:SupplySideCustomerMember 2023-04-01 2023-06-30 0001819928 dvh:MeasurementMember 2023-04-01 2023-06-30 0001819928 dvh:ActivationMember 2023-04-01 2023-06-30 0001819928 dvh:SupplySideCustomerMember 2023-01-01 2023-06-30 0001819928 dvh:MeasurementMember 2023-01-01 2023-06-30 0001819928 dvh:ActivationMember 2023-01-01 2023-06-30 0001819928 us-gaap:SoftwareAndSoftwareDevelopmentCostsMember 2024-06-30 0001819928 us-gaap:LeaseholdImprovementsMember 2024-06-30 0001819928 us-gaap:FurnitureAndFixturesMember 2024-06-30 0001819928 us-gaap:SoftwareAndSoftwareDevelopmentCostsMember 2023-12-31 0001819928 us-gaap:LeaseholdImprovementsMember 2023-12-31 0001819928 us-gaap:FurnitureAndFixturesMember 2023-12-31 0001819928 us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember 2024-04-01 2024-06-30 0001819928 us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember 2024-01-01 2024-03-31 0001819928 us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember 2023-04-01 2023-06-30 0001819928 us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember 2023-01-01 2023-03-31 0001819928 us-gaap:RetainedEarningsMember 2024-04-01 2024-06-30 0001819928 us-gaap:RetainedEarningsMember 2024-01-01 2024-03-31 0001819928 us-gaap:RetainedEarningsMember 2023-04-01 2023-06-30 0001819928 us-gaap:RetainedEarningsMember 2023-01-01 2023-03-31 0001819928 us-gaap:RevolvingCreditFacilityMember 2024-06-30 0001819928 us-gaap:RevolvingCreditFacilityMember 2023-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 srt:MinimumMember 2024-06-30 0001819928 srt:MaximumMember 2024-06-30 0001819928 us-gaap:USTreasurySecuritiesMember 2024-06-30 0001819928 us-gaap:PropertyPlantAndEquipmentMember 2024-01-01 2024-06-30 0001819928 us-gaap:PropertyPlantAndEquipmentMember 2023-01-01 2023-06-30 0001819928 us-gaap:TrademarksAndTradeNamesMember 2024-06-30 0001819928 us-gaap:NoncompeteAgreementsMember 2024-06-30 0001819928 us-gaap:DevelopedTechnologyRightsMember 2024-06-30 0001819928 us-gaap:CustomerRelationshipsMember 2024-06-30 0001819928 us-gaap:TrademarksAndTradeNamesMember 2023-12-31 0001819928 us-gaap:NoncompeteAgreementsMember 2023-12-31 0001819928 us-gaap:DevelopedTechnologyRightsMember 2023-12-31 0001819928 us-gaap:CustomerRelationshipsMember 2023-12-31 0001819928 us-gaap:ComputerEquipmentMember 2024-06-30 0001819928 us-gaap:ComputerEquipmentMember 2023-12-31 0001819928 us-gaap:RevolvingCreditFacilityMember 2020-10-01 0001819928 us-gaap:RevolvingCreditFacilityMember us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember 2023-03-29 2023-03-29 0001819928 us-gaap:RevolvingCreditFacilityMember us-gaap:BaseRateMember 2023-03-29 2023-03-29 0001819928 2022-12-31 0001819928 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2024-06-30 0001819928 dvh:MoneyMarketFundsAndTimeDepositsMember us-gaap:FairValueInputsLevel1Member 2024-06-30 0001819928 us-gaap:FairValueMeasurementsRecurringMember 2024-06-30 0001819928 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2023-12-31 0001819928 dvh:MoneyMarketFundsAndTimeDepositsMember us-gaap:FairValueInputsLevel1Member 2023-12-31 0001819928 us-gaap:FairValueMeasurementsRecurringMember 2023-12-31 0001819928 2023-06-30 0001819928 dvh:ScibidsTechnologySasMember 2024-04-01 2024-06-30 0001819928 dvh:DoubleverifyInc.Member 2017-08-18 0001819928 us-gaap:SellingAndMarketingExpenseMember 2024-04-01 2024-06-30 0001819928 us-gaap:ResearchAndDevelopmentExpenseMember 2024-04-01 2024-06-30 0001819928 us-gaap:GeneralAndAdministrativeExpenseMember 2024-04-01 2024-06-30 0001819928 dvh:EmployeeStockPurchasePlan2021Member 2024-04-01 2024-06-30 0001819928 us-gaap:SellingAndMarketingExpenseMember 2024-01-01 2024-06-30 0001819928 us-gaap:ResearchAndDevelopmentExpenseMember 2024-01-01 2024-06-30 0001819928 us-gaap:GeneralAndAdministrativeExpenseMember 2024-01-01 2024-06-30 0001819928 dvh:EmployeeStockPurchasePlan2021Member 2024-01-01 2024-06-30 0001819928 us-gaap:SellingAndMarketingExpenseMember 2023-04-01 2023-06-30 0001819928 us-gaap:ResearchAndDevelopmentExpenseMember 2023-04-01 2023-06-30 0001819928 us-gaap:GeneralAndAdministrativeExpenseMember 2023-04-01 2023-06-30 0001819928 dvh:EmployeeStockPurchasePlan2021Member 2023-04-01 2023-06-30 0001819928 us-gaap:SellingAndMarketingExpenseMember 2023-01-01 2023-06-30 0001819928 us-gaap:ResearchAndDevelopmentExpenseMember 2023-01-01 2023-06-30 0001819928 us-gaap:GeneralAndAdministrativeExpenseMember 2023-01-01 2023-06-30 0001819928 dvh:EmployeeStockPurchasePlan2021Member 2023-01-01 2023-06-30 0001819928 us-gaap:AdditionalPaidInCapitalMember 2024-04-01 2024-06-30 0001819928 us-gaap:AdditionalPaidInCapitalMember 2024-01-01 2024-03-31 0001819928 us-gaap:AdditionalPaidInCapitalMember 2023-04-01 2023-06-30 0001819928 us-gaap:AdditionalPaidInCapitalMember 2023-01-01 2023-03-31 0001819928 dvh:ShareRepurchaseProgramMember 2024-05-16 0001819928 us-gaap:TreasuryStockCommonMember 2024-04-01 2024-06-30 0001819928 us-gaap:TreasuryStockCommonMember 2024-01-01 2024-03-31 0001819928 2024-01-01 2024-03-31 0001819928 us-gaap:TreasuryStockCommonMember 2023-04-01 2023-06-30 0001819928 us-gaap:TreasuryStockCommonMember 2023-01-01 2023-03-31 0001819928 2023-01-01 2023-03-31 0001819928 dvh:SupplySideCustomerMember 2024-06-30 0001819928 2024-04-01 2024-06-30 0001819928 2023-04-01 2023-06-30 0001819928 2023-01-01 2023-06-30 0001819928 2024-06-30 0001819928 2023-12-31 0001819928 2024-07-22 0001819928 2024-01-01 2024-06-30 shares iso4217:USD pure iso4217:USD shares dvh:segment 0001819928 --12-31 2024 Q2 false 0 0 P1Y -300000 P2Y 1 10-Q true 2024-06-30 false 001-40349 DoubleVerify Holdings, Inc. DE 82-2714562 462 Broadway New York NY 10013 212 631-2111 Common Stock, par value $0.001 per share DV NYSE Yes Yes Large Accelerated Filer false false false 170044811 256066000 310131000 82754000 9564000 9442000 187761000 206941000 32977000 15930000 559558000 533002000 64521000 58020000 66155000 60470000 431496000 436008000 125420000 140883000 23766000 13077000 1727000 1571000 1272643000 1243031000 10604000 12932000 44136000 44264000 10113000 9029000 832000 5833000 2393000 2934000 11447000 8863000 79525000 83855000 76265000 71563000 1844000 2865000 7031000 8119000 2815000 2690000 167480000 169092000 0.001 0.001 1000000000 172634000 171244000 1000000000 171168000 171146000 173000 171000 926062000 878331000 1390000 22000 25443000 743000 213613000 198983000 -9242000 -2803000 1105163000 1073939000 1272643000 1243031000 155890000 133744000 296672000 256338000 26102000 26191000 52720000 50143000 39806000 31941000 76200000 60496000 44863000 31537000 82735000 57249000 23066000 19755000 45141000 39943000 11004000 9676000 21932000 18659000 11049000 14644000 17944000 29848000 233000 247000 465000 503000 2064000 2476000 4336000 5210000 12880000 16873000 21815000 34555000 5406000 4034000 7185000 9541000 7474000 12839000 14630000 25014000 0.04 0.08 0.09 0.15 0.04 0.07 0.08 0.15 171628000 166540000 171467000 166088000 175961000 172488000 176850000 172129000 7474000 12839000 14630000 25014000 -1814000 -377000 -6439000 816000 5660000 12462000 8191000 25830000 171168000 171000 22000 -743000 878331000 198983000 -2803000 1073939000 -4625000 -4625000 48000 1792000 1792000 20718000 20718000 153000 1695000 1695000 435000 1000 -1000 -38000 1389000 -1389000 7156000 7156000 171756000 172000 32000 -1146000 899354000 206139000 -7428000 1097091000 -1814000 -1814000 30000 660000 660000 25315000 25315000 124000 1914000 1914000 126000 870000 870000 628000 1000 -1000 1369000 25027000 25027000 -41000 1390000 -1390000 7474000 7474000 172634000 173000 1390000 -25443000 926062000 213613000 -9242000 1105163000 165448000 165000 31000 -796000 756299000 127517000 -6326000 876859000 1193000 1193000 30000 787000 787000 11992000 11992000 527000 1000 1765000 1766000 182000 -35000 914000 -914000 12175000 12175000 166157000 166000 26000 -669000 769142000 139692000 -5133000 903198000 -377000 -377000 57000 1966000 1966000 15399000 15399000 49000 1138000 1138000 711000 1000 3990000 3991000 333000 -67000 2107000 -2107000 12839000 12839000 167250000 167000 16000 -528000 787562000 152531000 -5510000 934222000 14630000 25014000 1453000 3706000 21932000 18659000 147000 147000 3191000 3293000 -11530000 -16639000 44956000 26980000 784000 -25000 -5000 1582000 209000 -16397000 12214000 17208000 11168000 -2076000 2126000 -5035000 -7979000 67655000 32164000 13558000 7671000 81937000 -95495000 -7671000 50000000 50000000 2565000 5757000 1914000 1138000 1562000 1028000 25027000 2452000 2753000 -24562000 3114000 -850000 15000 -53252000 27622000 310257000 267938000 257005000 295560000 256066000 295437000 939000 123000 257005000 295560000 29491000 41284000 350000 389000 9211000 1261000 5479000 18000 480000 1064000 411000 <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 0pt 12pt 0pt;">DoubleVerify Holdings, Inc. (the “Company”) is one of the industry’s leading media effectiveness platforms that leverages artificial intelligence (“AI”) to drive superior outcomes for global brands. By creating more effective, transparent ad transactions, we make the digital advertising ecosystem stronger, safer and more secure, thereby preserving the fair value exchange between buyers and sellers of digital media. The Company’s solutions provide advertisers unbiased data analytics that enable advertisers to increase the effectiveness, quality and return on their digital advertising investments. The DV Authentic Ad is our proprietary metric of digital media quality, which measures whether a digital ad was delivered in a brand suitable environment, fully viewable, by a real person and in the intended geography. The Company’s software interface, DV Pinnacle, delivers these metrics to our customers in real time, allowing them to access critical performance data on their digital transactions. The Company’s software solutions are integrated across the entire digital advertising ecosystem, including programmatic platforms, 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 0pt 12pt 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 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 0pt 12pt 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 0pt 12pt 0pt;">Through the merger, the Company acquired 100% of the outstanding equity instruments of DoubleVerify Inc., (the “Acquisition”) 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;">, </i>“Business Combinations.”</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company is headquartered in New York, New York and has wholly-owned subsidiaries in numerous jurisdictions, including Israel, the United Kingdom, the United Arab Emirates, Germany, Singapore, Australia, Canada, Brazil, Belgium, Mexico, France, Japan, Spain, Finland, Italy and India, and operates in one reportable segment.   </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-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">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, 2024 and December 31, 2023, the Condensed Consolidated Statements of Operations and Comprehensive Income for the three and six months ended June 30, 2024 and 2023, the Condensed Consolidated Statements of Stockholders’ Equity for the three and six months ended June 30, 2024 and 2023, and the Condensed Consolidated Statements of Cash Flows for the six months ended June 30, 2024 and 2023 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 Company’s audited consolidated financial statements and related notes included in its Annual Report on Form 10-K for the year ended December 31, 2023.</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;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">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;text-align:justify;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 including, 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, assumptions in valuing acquired assets and liabilities assumed in business combinations, 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-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Short-term Investments</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Debt Securities</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="font-weight:normal;text-decoration-color:#000000;text-decoration-line:none;">The Company’s accounting for debt securities varies depending on the legal form of the security, our intended holding period for the security, and the nature of the transaction. Investments in marketable debt securities include U.S. treasury bills. The Company considers all of its marketable debt securities as available for use in current operations and, therefore, classifies these securities as Short-term investments on the Condensed Consolidated Balance Sheets. Marketable debt securities are classified as available-for-sale and are initially recorded at fair value. Unrealized gains and losses related to available-for-sale debt securities are recorded as a separate component of Other comprehensive (loss) income, net of tax on the Condensed Consolidated Statements of Operations and Comprehensive Income until realized. Interest on marketable debt securities classified as available-for-sale is included as a component of Other income, net on the Condensed Consolidated Statements of Operations and Comprehensive Income. Refer to Footnote 8, Fair Value Measurement, for further information.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="font-weight:normal;text-decoration-color:#000000;text-decoration-line:none;">The Company accounts for credit losses on available-for-sale debt securities in accordance with ASC 326, “Financial Instruments - Credit Losses” (“ASC 326”). The Company uses ASC 326 to assess the investment portfolio for impairment at the individual security level and evaluates all securities in an unrealized loss position to determine if the impairment is credit related (realized loss recorded in earnings) or non-credit related (unrealized loss). </span></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-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Recently Issued Accounting Pronouncements</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;text-decoration-color:#000000;text-decoration-line:none;">Segment Reporting – Improvements to Reportable Segment Disclosures</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="font-weight:normal;text-decoration-color:#000000;text-decoration-line:none;">In November 2023, the FASB issued Accounting Standards Update (“ASU”) No. 2023-07, “Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures”, which expands annual and interim disclosure requirements for reportable segments, primarily through enhanced disclosures about significant segment expenses. The updated standard is effective for fiscal years beginning after December 15, 2023 and interim periods within fiscal years beginning after December 15, 2024. Early adoption is permitted and the update requires retrospective application to all prior periods presented. The Company is currently in the process of evaluating the impact of this standard on the Company’s Condensed Consolidated Financial Statements.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;text-decoration-color:#000000;text-decoration-line:none;">Income Taxes – Improvements to Income Tax Disclosures</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="font-weight:normal;text-decoration-color:#000000;text-decoration-line:none;">In December 2023, the FASB issued ASU No. 2023-09, “Income Taxes (Topic 740): Improvements to Income Tax Disclosures” (“ASU 2023-09”), which expands annual disclosure requirements related to the rate reconciliation and income taxes paid disclosures. ASU 2023-09 requires consistent categories and greater disaggregation of information in the rate reconciliation and income taxes paid to be disaggregated by jurisdiction. The updated standard is effective for fiscal years beginning after December 15, 2024. Early adoption is permitted and the update may be applied on a prospective basis with retrospective application permitted. The Company is currently in the process of evaluating the impact of this standard on the Company’s Condensed Consolidated Financial Statements.</span></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-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">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, 2024 and December 31, 2023, the Condensed Consolidated Statements of Operations and Comprehensive Income for the three and six months ended June 30, 2024 and 2023, the Condensed Consolidated Statements of Stockholders’ Equity for the three and six months ended June 30, 2024 and 2023, and the Condensed Consolidated Statements of Cash Flows for the six months ended June 30, 2024 and 2023 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 Company’s audited consolidated financial statements and related notes included in its Annual Report on Form 10-K for the year ended December 31, 2023.</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;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">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;text-align:justify;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 including, 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, assumptions in valuing acquired assets and liabilities assumed in business combinations, 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-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Short-term Investments</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Debt Securities</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="font-weight:normal;text-decoration-color:#000000;text-decoration-line:none;">The Company’s accounting for debt securities varies depending on the legal form of the security, our intended holding period for the security, and the nature of the transaction. Investments in marketable debt securities include U.S. treasury bills. The Company considers all of its marketable debt securities as available for use in current operations and, therefore, classifies these securities as Short-term investments on the Condensed Consolidated Balance Sheets. Marketable debt securities are classified as available-for-sale and are initially recorded at fair value. Unrealized gains and losses related to available-for-sale debt securities are recorded as a separate component of Other comprehensive (loss) income, net of tax on the Condensed Consolidated Statements of Operations and Comprehensive Income until realized. Interest on marketable debt securities classified as available-for-sale is included as a component of Other income, net on the Condensed Consolidated Statements of Operations and Comprehensive Income. Refer to Footnote 8, Fair Value Measurement, for further information.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="font-weight:normal;text-decoration-color:#000000;text-decoration-line:none;">The Company accounts for credit losses on available-for-sale debt securities in accordance with ASC 326, “Financial Instruments - Credit Losses” (“ASC 326”). The Company uses ASC 326 to assess the investment portfolio for impairment at the individual security level and evaluates all securities in an unrealized loss position to determine if the impairment is credit related (realized loss recorded in earnings) or non-credit related (unrealized loss). </span></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-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Recently Issued Accounting Pronouncements</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;text-decoration-color:#000000;text-decoration-line:none;">Segment Reporting – Improvements to Reportable Segment Disclosures</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="font-weight:normal;text-decoration-color:#000000;text-decoration-line:none;">In November 2023, the FASB issued Accounting Standards Update (“ASU”) No. 2023-07, “Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures”, which expands annual and interim disclosure requirements for reportable segments, primarily through enhanced disclosures about significant segment expenses. The updated standard is effective for fiscal years beginning after December 15, 2023 and interim periods within fiscal years beginning after December 15, 2024. Early adoption is permitted and the update requires retrospective application to all prior periods presented. The Company is currently in the process of evaluating the impact of this standard on the Company’s Condensed Consolidated Financial Statements.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;text-decoration-color:#000000;text-decoration-line:none;">Income Taxes – Improvements to Income Tax Disclosures</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="font-weight:normal;text-decoration-color:#000000;text-decoration-line:none;">In December 2023, the FASB issued ASU No. 2023-09, “Income Taxes (Topic 740): Improvements to Income Tax Disclosures” (“ASU 2023-09”), which expands annual disclosure requirements related to the rate reconciliation and income taxes paid disclosures. ASU 2023-09 requires consistent categories and greater disaggregation of information in the rate reconciliation and income taxes paid to be disaggregated by jurisdiction. The updated standard is effective for fiscal years beginning after December 15, 2024. Early adoption is permitted and the update may be applied on a prospective basis with retrospective application permitted. The Company is currently in the process of evaluating the impact of this standard on the Company’s Condensed Consolidated Financial Statements.</span></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 the number of ads measured for Measurement or measured and purchased for Activation, 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 was 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:56.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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:7.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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.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:7.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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:7.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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.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:7.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:56.72%;margin:0pt;padding:0pt;"><p 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:19.57%;margin:0pt;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.57%;margin:0pt;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.72%;margin:0pt;padding:0pt;"><p 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:19.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">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.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:56.72%;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:8.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</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:8.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</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.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</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:8.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:56.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Activation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 87,471</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 77,942</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 166,793</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 147,834</p></td></tr><tr><td style="vertical-align:bottom;width:56.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Measurement</p></td><td style="vertical-align:bottom;white-space: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:7.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 54,817</p></td><td style="vertical-align:bottom;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.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:7.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 44,989</p></td><td style="vertical-align:bottom;white-space: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:7.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 104,092</p></td><td style="vertical-align:bottom;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.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:7.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 86,374</p></td></tr><tr><td style="vertical-align:bottom;width:56.72%;background:#cceeff;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="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.93%;background:#cceeff;border-bottom: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,602</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.93%;background:#cceeff;border-bottom: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,813</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.93%;background:#cceeff;border-bottom: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;"> 25,787</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.93%;background:#cceeff;border-bottom: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;"> 22,130</p></td></tr><tr><td style="vertical-align:bottom;width:56.72%;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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.93%;border-bottom: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;"> 155,890</p></td><td style="vertical-align:bottom;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.03%;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.93%;border-bottom: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;"> 133,744</p></td><td style="vertical-align:bottom;white-space: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%;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.93%;border-bottom: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;"> 296,672</p></td><td style="vertical-align:bottom;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.03%;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.93%;border-bottom: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;"> 256,338</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 $54.6 million and $55.0 million as of June 30, 2024 and December 31, 2023, respectively.</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;"><span style="font-style:italic;font-weight:bold;">Remaining Performance Obligations</span></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;">As of June 30, 2024, the Company had $16.9 million of remaining performance obligations which are expected to be recognized over the next <span style="-sec-ix-hidden:Hidden_laS78scEeU2OeAIZGf9mww;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">one</span></span> to three years. These non-cancelable supply-side arrangements have original expected durations longer than one year and for which the consideration is not variable. These obligations relate primarily to the Company’s supply-side revenue which represented $25.8 million, or 8.7% of the Company’s total revenue for the six months ended June 30, 2024. The vast majority of the Company’s revenue is derived primarily from our advertising customers and partners based on the volume of media transactions, or ads, that our software platform measures, and not from supply-side arrangements. In determining the remaining performance obligations, the Company applied the allowable practical expedient and did not disclose information about (1) contracts remaining performance obligations that have original expected durations of one year or less and (2) contracts for which the Company recognizes revenue at the amount to which it has the right to invoice for services performed.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:56.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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:7.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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.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:7.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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:7.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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.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:7.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:56.72%;margin:0pt;padding:0pt;"><p 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:19.57%;margin:0pt;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.57%;margin:0pt;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.72%;margin:0pt;padding:0pt;"><p 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:19.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">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.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:56.72%;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:8.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</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:8.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</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.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</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:8.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:56.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Activation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 87,471</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 77,942</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 166,793</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 147,834</p></td></tr><tr><td style="vertical-align:bottom;width:56.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Measurement</p></td><td style="vertical-align:bottom;white-space: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:7.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 54,817</p></td><td style="vertical-align:bottom;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.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:7.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 44,989</p></td><td style="vertical-align:bottom;white-space: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:7.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 104,092</p></td><td style="vertical-align:bottom;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.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:7.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 86,374</p></td></tr><tr><td style="vertical-align:bottom;width:56.72%;background:#cceeff;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="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.93%;background:#cceeff;border-bottom: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,602</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.93%;background:#cceeff;border-bottom: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,813</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.93%;background:#cceeff;border-bottom: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;"> 25,787</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.93%;background:#cceeff;border-bottom: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;"> 22,130</p></td></tr><tr><td style="vertical-align:bottom;width:56.72%;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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.93%;border-bottom: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;"> 155,890</p></td><td style="vertical-align:bottom;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.03%;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.93%;border-bottom: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;"> 133,744</p></td><td style="vertical-align:bottom;white-space: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%;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.93%;border-bottom: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;"> 296,672</p></td><td style="vertical-align:bottom;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.03%;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.93%;border-bottom: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;"> 256,338</p></td></tr></table> 87471000 77942000 166793000 147834000 54817000 44989000 104092000 86374000 13602000 10813000 25787000 22130000 155890000 133744000 296672000 256338000 54600000 55000000.0 16900000 P3Y P1Y 25800000 0.087 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">4.      Business Combinations</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;">Scibids Technology SAS</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On August 14, 2023, the Company acquired all of the outstanding stock of Scibids Technology SAS (“Scibids”), a global leader in AI technology for digital campaign optimization. The acquisition combines DoubleVerify’s proprietary data with Scibids’ AI-powered optimization technology to provide advertiser customers with enhanced insights and control over their advertising performance.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The total purchase price of $121.1 million, net of cash acquired, includes measurement period adjustments of $0.3 million recorded during the three months ended June 30, 2024. The effect of these adjustments on the preliminary purchase price allocation was a decrease to the purchase consideration of $0.3 million and a corresponding decrease recorded to <span style="-sec-ix-hidden:Hidden_rU72jX_220yDMyHX9DrVLg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Goodwill</span></span> on the Condensed Consolidated Balance Sheets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The preliminary allocations of the purchase price for Scibids are subject to revisions as additional information is obtained about the facts and circumstances that existed as of the acquisition date. The revisions may have a significant impact on the accompanying Condensed Consolidated Financial Statements. The allocations of the purchase price will be finalized once all information is obtained and assessed, not to exceed one year from the acquisition date. As of June 30, 2024, the purchase price allocation for Scibids is subject to the finalization of working capital adjustments.</p> 121100000 300000 -300000 <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;text-align:justify;margin:0pt 0pt 12pt 0pt;">The following is a summary of changes to the goodwill carrying value from December 31, 2023 to June 30, 2024:</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.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','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.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:1.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: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 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.26%;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:2.55%;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 style="vertical-align:bottom;white-space:nowrap;width:1.55%;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:9.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td></tr><tr><td style="vertical-align:bottom;width:86.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Goodwill at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;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:9.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 436,008</p></td></tr><tr><td style="vertical-align:bottom;width:86.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Measurement period adjustments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;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:9.62%;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;"> (300)</p></td></tr><tr><td style="vertical-align:bottom;width:86.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Foreign exchange impact</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.62%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (4,212)</p></td></tr><tr><td style="vertical-align:bottom;width:86.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Goodwill at June 30, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;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: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 0.05pt 0pt;"> 431,496</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;background:#ffff00;">​</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 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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:8.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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.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:8.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:30%;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.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, 2024</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.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:30%;margin:0pt;padding:0pt;"><p 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.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">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.38%;margin:0pt;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.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">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.38%;margin:0pt;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%;margin:0pt;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.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">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.38%;border-bottom:1px solid #000000;margin:0pt;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.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">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.38%;border-bottom:1px solid #000000;margin:0pt;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="vertical-align:bottom;width:30%;background:#cceeff;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="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 11,733</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (5,561)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;background:#cceeff;margin: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,172</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 11,734</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (5,140)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;background:#cceeff;margin: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,594</p></td></tr><tr><td style="vertical-align:bottom;width:30%;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.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;"> 160,520</p></td><td style="vertical-align:bottom;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.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (69,985)</p></td><td style="vertical-align:bottom;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.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:8.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 90,535</p></td><td style="vertical-align:bottom;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;"> 161,173</p></td><td style="vertical-align:bottom;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.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:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (62,955)</p></td><td style="vertical-align:bottom;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.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:8.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 98,218</p></td></tr><tr><td style="vertical-align:bottom;width:30%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Developed technology</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 92,243</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (63,530)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 28,713</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 93,013</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (56,942)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 36,071</p></td></tr><tr><td style="vertical-align:bottom;width:30%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Non-compete agreements</p></td><td style="vertical-align:bottom;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: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.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;"> 64</p></td><td style="vertical-align:bottom;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.03%;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.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (64)</p></td><td style="vertical-align:bottom;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.2%;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.18%;border-bottom: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.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: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.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;"> 66</p></td><td style="vertical-align:bottom;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.03%;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.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (66)</p></td><td style="vertical-align:bottom;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.2%;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.18%;border-bottom: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="vertical-align:bottom;width:30%;background:#cceeff;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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 264,560</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (139,140)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;background:#cceeff;border-bottom: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;"> 125,420</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 265,986</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (125,103)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;background:#cceeff;border-bottom: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;"> 140,883</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;background:#ffff00;">​</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 related to intangible assets for the three months ended June 30, 2024 and June 30, 2023 was $7.1 million and $6.4 million, respectively. Amortization expense related to intangible assets amounted to $14.4 million and $12.6 million for the six months ended June 30, 2024 and June 30, 2023, 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, 2024 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;background:#ffff00;">​</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;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></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="vertical-align:bottom;width:79.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024 (for remaining six months)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;background:#cceeff;margin: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,247</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;">2025</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;"> 26,702</p></td></tr><tr><td style="vertical-align:bottom;width:79.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 21,948</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;">2027</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;"> 18,045</p></td></tr><tr><td style="vertical-align:bottom;width:79.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin: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,913</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;">2029</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;"> 12,562</p></td></tr><tr><td style="vertical-align:bottom;width:79.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;background:#cceeff;border-bottom: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;"> 17,003</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;"> 125,420</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;background:#ffff00;">​</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, 2024 is as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;background:#ffff00;">​</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="vertical-align:bottom;width:86.71%;background:#cceeff;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="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.7%;background:#cceeff;margin: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="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;"> 6</p></td></tr><tr><td style="vertical-align:bottom;width:86.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Developed technology</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.7%;background:#cceeff;margin: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</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;background:#ffff00;">​</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 of Goodwill or Intangible assets identified during the six months ended June 30, 2024 and June 30, 2023.</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.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','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.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:1.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: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 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.26%;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:2.55%;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 style="vertical-align:bottom;white-space:nowrap;width:1.55%;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:9.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td></tr><tr><td style="vertical-align:bottom;width:86.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Goodwill at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;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:9.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 436,008</p></td></tr><tr><td style="vertical-align:bottom;width:86.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Measurement period adjustments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;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:9.62%;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;"> (300)</p></td></tr><tr><td style="vertical-align:bottom;width:86.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Foreign exchange impact</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.62%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (4,212)</p></td></tr><tr><td style="vertical-align:bottom;width:86.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Goodwill at June 30, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;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: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 0.05pt 0pt;"> 431,496</p></td></tr></table> 436008000 -300000 4212000 431496000 <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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:8.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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.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:8.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:30%;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.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, 2024</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.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:30%;margin:0pt;padding:0pt;"><p 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.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">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.38%;margin:0pt;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.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">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.38%;margin:0pt;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%;margin:0pt;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.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">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.38%;border-bottom:1px solid #000000;margin:0pt;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.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">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.38%;border-bottom:1px solid #000000;margin:0pt;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="vertical-align:bottom;width:30%;background:#cceeff;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="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 11,733</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (5,561)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;background:#cceeff;margin: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,172</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 11,734</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (5,140)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;background:#cceeff;margin: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,594</p></td></tr><tr><td style="vertical-align:bottom;width:30%;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.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;"> 160,520</p></td><td style="vertical-align:bottom;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.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (69,985)</p></td><td style="vertical-align:bottom;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.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:8.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 90,535</p></td><td style="vertical-align:bottom;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;"> 161,173</p></td><td style="vertical-align:bottom;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.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:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (62,955)</p></td><td style="vertical-align:bottom;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.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:8.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 98,218</p></td></tr><tr><td style="vertical-align:bottom;width:30%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Developed technology</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 92,243</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (63,530)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 28,713</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 93,013</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (56,942)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 36,071</p></td></tr><tr><td style="vertical-align:bottom;width:30%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Non-compete agreements</p></td><td style="vertical-align:bottom;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: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.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;"> 64</p></td><td style="vertical-align:bottom;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.03%;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.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (64)</p></td><td style="vertical-align:bottom;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.2%;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.18%;border-bottom: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.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: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.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;"> 66</p></td><td style="vertical-align:bottom;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.03%;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.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (66)</p></td><td style="vertical-align:bottom;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.2%;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.18%;border-bottom: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="vertical-align:bottom;width:30%;background:#cceeff;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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 264,560</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (139,140)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;background:#cceeff;border-bottom: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;"> 125,420</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 265,986</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (125,103)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;background:#cceeff;border-bottom: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;"> 140,883</p></td></tr></table> 11733000 5561000 6172000 11734000 5140000 6594000 160520000 69985000 90535000 161173000 62955000 98218000 92243000 63530000 28713000 93013000 56942000 36071000 64000 64000 66000 66000 264560000 139140000 125420000 265986000 125103000 140883000 7100000 6400000 14400000 12600000 <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;background:#ffff00;">​</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;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></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="vertical-align:bottom;width:79.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024 (for remaining six months)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;background:#cceeff;margin: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,247</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;">2025</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;"> 26,702</p></td></tr><tr><td style="vertical-align:bottom;width:79.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 21,948</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;">2027</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;"> 18,045</p></td></tr><tr><td style="vertical-align:bottom;width:79.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin: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,913</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;">2029</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;"> 12,562</p></td></tr><tr><td style="vertical-align:bottom;width:79.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;background:#cceeff;border-bottom: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;"> 17,003</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;"> 125,420</p></td></tr></table> 14247000 26702000 21948000 18045000 14913000 12562000 17003000 125420000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;background:#ffff00;">​</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="vertical-align:bottom;width:86.71%;background:#cceeff;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="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.7%;background:#cceeff;margin: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="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;"> 6</p></td></tr><tr><td style="vertical-align:bottom;width:86.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Developed technology</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.7%;background:#cceeff;margin: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</p></td></tr></table> P8Y P6Y P2Y 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 finance lease obligations and capitalized software development costs, consisted of the following:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;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.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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, 2024</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, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:70.57%;background:#cceeff;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="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 26,360</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 25,013</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;"> 3,554</p></td><td style="vertical-align:bottom;white-space: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.37%;margin:0pt;padding:0pt;"><p 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.95%;margin: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,170</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:70.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Leasehold improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 34,766</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 32,595</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;"> 44,865</p></td><td style="vertical-align:bottom;white-space: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.37%;margin:0pt;padding:0pt;"><p 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.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 35,039</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:70.57%;background:#cceeff;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="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (45,024)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (37,797)</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;"> 64,521</p></td><td style="vertical-align:bottom;white-space: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.37%;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.95%;border-bottom: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;"> 58,020</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, 2024 and June 30, 2023, total depreciation expense was $3.9 million and $3.3 million, respectively. For the six months ended June 30, 2024 and June 30, 2023, total depreciation expense was $7.5 million and $6.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 under finance lease obligations, consisting of computer equipment, totaled $17.8 million as of June 30, 2024 and December 31, 2023, respectively. As of June 30, 2024 and December 31, 2023, accumulated depreciation related to property and equipment under finance lease obligations totaled $14.0 million and $12.9 million, respectively. Refer to Note 7, 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;">There were no impairments of Property, plant and equipment identified during the six months ended June 30, 2024 and June 30, 2023.</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.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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, 2024</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, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:70.57%;background:#cceeff;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="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 26,360</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 25,013</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;"> 3,554</p></td><td style="vertical-align:bottom;white-space: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.37%;margin:0pt;padding:0pt;"><p 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.95%;margin: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,170</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:70.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Leasehold improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 34,766</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 32,595</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;"> 44,865</p></td><td style="vertical-align:bottom;white-space: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.37%;margin:0pt;padding:0pt;"><p 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.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 35,039</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:70.57%;background:#cceeff;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="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (45,024)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (37,797)</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;"> 64,521</p></td><td style="vertical-align:bottom;white-space: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.37%;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.95%;border-bottom: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;"> 58,020</p></td></tr></table> 26360000 25013000 3554000 3170000 34766000 32595000 44865000 35039000 45024000 37797000 64521000 58020000 3900000 3300000 7500000 6100000 17800000 17800000 14000000.0 12900000 0 0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">7.     Leases</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The following table presents lease cost and cash paid for amounts included in the measurement of lease liabilities for finance and operating leases for the three and six months ended June 30, 2024 and 2023, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:55.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><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:8.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:8.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></tr><tr><td style="vertical-align:bottom;width:55.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:21.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;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:20.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:55.01%;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.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:10.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;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:9.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p 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.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lease cost:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating lease cost (1)</p></td><td style="vertical-align:bottom;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:8.98%;margin: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,690</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.97%;margin: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="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;margin: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,327</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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:8.54%;margin: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,169</p></td></tr><tr><td style="vertical-align:bottom;width:55.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Finance lease cost:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Depreciation of finance lease assets (2)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 493</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 314</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.6%;margin: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,112</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 531</p></td></tr><tr><td style="vertical-align:bottom;width:55.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Interest on finance lease liabilities (3)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 57</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 43</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;background:#cceeff;margin: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</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 66</p></td></tr><tr><td style="vertical-align:bottom;width:55.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Short-term lease cost (1)</p></td><td style="vertical-align:bottom;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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 327</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 243</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 644</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 489</p></td></tr><tr><td style="vertical-align:bottom;width:55.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Sublease income (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.98%;background:#cceeff;border-bottom: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.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (267)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.6%;background:#cceeff;border-bottom: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.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (534)</p></td></tr><tr><td style="vertical-align:bottom;width:55.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Total lease cost</p></td><td style="vertical-align:bottom;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:8.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 0pt 0pt;"> 3,567</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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:8.97%;border-bottom: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,915</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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:8.6%;border-bottom: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,204</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;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.54%;border-bottom: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,721</p></td></tr><tr><td style="vertical-align:bottom;width:55.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other information:</p></td><td style="vertical-align:bottom;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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.98%;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.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;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:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.6%;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.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash paid for amounts included in the measurement of lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Operating cash outflows from operating leases</p></td><td style="vertical-align:bottom;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:8.98%;margin: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,522</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.97%;margin: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,516</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;margin: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,038</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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:8.54%;margin: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,852</p></td></tr><tr><td style="vertical-align:bottom;width:55.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Operating cash outflows from finance leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 81</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;background:#cceeff;margin: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</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 155</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 40</p></td></tr><tr><td style="vertical-align:bottom;width:55.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Financing cash outflows from finance leases</p></td><td style="vertical-align:bottom;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:8.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 747</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 515</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;margin: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,562</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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:8.54%;margin: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,028</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Included in Cost of revenue, Sales, marketing and customer support, Product development and General and administrative expenses in the accompanying Condensed Consolidated Statements of Operations and Comprehensive Income.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(2)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Included in Depreciation and amortization in the accompanying Condensed Consolidated Statements of Operations and Comprehensive Income.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(3)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Included in Interest expense in the accompanying Condensed Consolidated Statements of Operations and Comprehensive Income.</span></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;background:#ffff00;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The following table presents weighted-average remaining lease terms and weighted-average discount rates for finance and operating leases as of June 30, 2024 and 2023, respectively:</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:75.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 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.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 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.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.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 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.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:75.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;font-style:italic;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-style:italic;font-weight:bold;">    </span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:22.09%;border-bottom: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, </b></p></td></tr><tr><td style="vertical-align:bottom;width:75.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;font-style:italic;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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:10.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;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;"><span style="font-style:italic;font-weight:bold;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.11%;border-bottom: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;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted-average remaining lease term - operating leases (in years)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 12.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.11%;background:#cceeff;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;"> 13.8</p></td></tr><tr><td style="vertical-align:bottom;width:75.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted-average remaining lease term - finance leases (in years)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1.9</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.11%;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.6</p></td></tr><tr><td style="vertical-align:bottom;width:75.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted-average discount rate - operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;">4.8%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.11%;background:#cceeff;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.5%</p></td></tr><tr><td style="vertical-align:bottom;width:75.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted-average discount rate - finance leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;">5.5%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.11%;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.2%</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;background:#ffff00;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Maturities of lease liabilities as of June 30, 2024 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:73.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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 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.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.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 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:9.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.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:8pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">June 30, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="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;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.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;">Operating Leases</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Finance Leases</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2024 (for remaining six months)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;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.57%;background:#cceeff;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.74%;background:#cceeff;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,327</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;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:9.31%;background:#cceeff;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,497</p></td></tr><tr><td style="vertical-align:bottom;width:73.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2025</p></td><td style="vertical-align:bottom;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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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.74%;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,153</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;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:9.31%;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,150</p></td></tr><tr><td style="vertical-align:bottom;width:73.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;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.57%;background:#cceeff;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.74%;background:#cceeff;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,414</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;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:9.31%;background:#cceeff;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;"> 819</p></td></tr><tr><td style="vertical-align:bottom;width:73.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2027</p></td><td style="vertical-align:bottom;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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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.74%;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,863</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;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:9.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;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.57%;background:#cceeff;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.74%;background:#cceeff;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,722</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;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:9.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2029</p></td><td style="vertical-align:bottom;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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.74%;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,145</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;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:9.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;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.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.74%;background:#cceeff;border-bottom: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;"> 67,156</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.31%;background:#cceeff;border-bottom: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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Total lease payments</p></td><td style="vertical-align:bottom;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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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.74%;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;"> 116,780</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;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:9.31%;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,466</p></td></tr><tr><td style="vertical-align:bottom;width:73.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Less amount representing interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;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.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.74%;background:#cceeff;border-bottom: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;"> (30,402)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.31%;background:#cceeff;border-bottom: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;"> (229)</p></td></tr><tr><td style="vertical-align:bottom;width:73.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 24pt;">Present value of total lease payments</p></td><td style="vertical-align:bottom;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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;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:10.74%;border-bottom: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;"> 86,378</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;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:9.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 0.05pt 0pt;"> 4,237</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;">As of June 30, 2024, the Company has entered into additional international office space leases that have not yet commenced with contractual commitments of $1.5 million. These operating leases will commence in fiscal year 2025 with lease terms of <span style="-sec-ix-hidden:Hidden_RCryLK5N-keIXmdbPBGrPw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">two</span></span> to three years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:12pt 0pt 12pt 0pt;">There were no impairments of Operating lease right-of-use assets identified during the six months ended June 30, 2024 and June 30, 2023.</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:55.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><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:8.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</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.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:8.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></tr><tr><td style="vertical-align:bottom;width:55.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:21.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;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:20.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:55.01%;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.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:10.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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 colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;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:9.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p 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.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lease cost:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating lease cost (1)</p></td><td style="vertical-align:bottom;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:8.98%;margin: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,690</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.97%;margin: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="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;margin: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,327</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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:8.54%;margin: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,169</p></td></tr><tr><td style="vertical-align:bottom;width:55.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Finance lease cost:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Depreciation of finance lease assets (2)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 493</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 314</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.6%;margin: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,112</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 531</p></td></tr><tr><td style="vertical-align:bottom;width:55.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Interest on finance lease liabilities (3)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 57</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 43</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;background:#cceeff;margin: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</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 66</p></td></tr><tr><td style="vertical-align:bottom;width:55.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Short-term lease cost (1)</p></td><td style="vertical-align:bottom;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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 327</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 243</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 644</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 489</p></td></tr><tr><td style="vertical-align:bottom;width:55.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Sublease income (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.98%;background:#cceeff;border-bottom: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.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (267)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.6%;background:#cceeff;border-bottom: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.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (534)</p></td></tr><tr><td style="vertical-align:bottom;width:55.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Total lease cost</p></td><td style="vertical-align:bottom;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:8.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 0pt 0pt;"> 3,567</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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:8.97%;border-bottom: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,915</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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:8.6%;border-bottom: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,204</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;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.54%;border-bottom: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,721</p></td></tr><tr><td style="vertical-align:bottom;width:55.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other information:</p></td><td style="vertical-align:bottom;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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.98%;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.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;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:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.6%;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.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash paid for amounts included in the measurement of lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Operating cash outflows from operating leases</p></td><td style="vertical-align:bottom;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:8.98%;margin: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,522</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.97%;margin: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,516</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;margin: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,038</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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:8.54%;margin: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,852</p></td></tr><tr><td style="vertical-align:bottom;width:55.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Operating cash outflows from finance leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 81</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.97%;background:#cceeff;margin: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</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 155</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 40</p></td></tr><tr><td style="vertical-align:bottom;width:55.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Financing cash outflows from finance leases</p></td><td style="vertical-align:bottom;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:8.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 747</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 515</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;margin: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,562</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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:8.54%;margin: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,028</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Included in Cost of revenue, Sales, marketing and customer support, Product development and General and administrative expenses in the accompanying Condensed Consolidated Statements of Operations and Comprehensive Income.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(2)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Included in Depreciation and amortization in the accompanying Condensed Consolidated Statements of Operations and Comprehensive Income.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(3)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Included in Interest expense in the accompanying Condensed Consolidated Statements of Operations and Comprehensive Income.</span></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;background:#ffff00;">​</span></p> 2690000 2582000 5327000 5169000 493000 314000 1112000 531000 57000 43000 121000 66000 327000 243000 644000 489000 267000 534000 3567000 2915000 7204000 5721000 2522000 1516000 5038000 2852000 81000 17000 155000 40000 747000 515000 1562000 1028000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The following table presents weighted-average remaining lease terms and weighted-average discount rates for finance and operating leases as of June 30, 2024 and 2023, respectively:</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:75.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 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.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 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.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.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 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.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:75.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;font-style:italic;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-style:italic;font-weight:bold;">    </span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:22.09%;border-bottom: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, </b></p></td></tr><tr><td style="vertical-align:bottom;width:75.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;font-style:italic;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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:10.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;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;"><span style="font-style:italic;font-weight:bold;"> </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.11%;border-bottom: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;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted-average remaining lease term - operating leases (in years)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 12.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.11%;background:#cceeff;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;"> 13.8</p></td></tr><tr><td style="vertical-align:bottom;width:75.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted-average remaining lease term - finance leases (in years)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1.9</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.11%;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.6</p></td></tr><tr><td style="vertical-align:bottom;width:75.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted-average discount rate - operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;">4.8%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.11%;background:#cceeff;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.5%</p></td></tr><tr><td style="vertical-align:bottom;width:75.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted-average discount rate - finance leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;">5.5%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.11%;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.2%</p></td></tr></table> P12Y6M P13Y9M18D P1Y10M24D P2Y7M6D 0.048 0.045 0.055 0.052 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Maturities of lease liabilities as of June 30, 2024 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:73.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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 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.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.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 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:9.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.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:8pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">June 30, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="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;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.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;">Operating Leases</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Finance Leases</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2024 (for remaining six months)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;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.57%;background:#cceeff;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.74%;background:#cceeff;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,327</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;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:9.31%;background:#cceeff;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,497</p></td></tr><tr><td style="vertical-align:bottom;width:73.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2025</p></td><td style="vertical-align:bottom;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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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.74%;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,153</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;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:9.31%;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,150</p></td></tr><tr><td style="vertical-align:bottom;width:73.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;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.57%;background:#cceeff;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.74%;background:#cceeff;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,414</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;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:9.31%;background:#cceeff;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;"> 819</p></td></tr><tr><td style="vertical-align:bottom;width:73.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2027</p></td><td style="vertical-align:bottom;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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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.74%;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,863</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;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:9.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;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.57%;background:#cceeff;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.74%;background:#cceeff;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,722</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;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:9.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2029</p></td><td style="vertical-align:bottom;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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.74%;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,145</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;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:9.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;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.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.74%;background:#cceeff;border-bottom: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;"> 67,156</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.31%;background:#cceeff;border-bottom: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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Total lease payments</p></td><td style="vertical-align:bottom;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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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.74%;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;"> 116,780</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;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:9.31%;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,466</p></td></tr><tr><td style="vertical-align:bottom;width:73.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Less amount representing interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;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.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.74%;background:#cceeff;border-bottom: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;"> (30,402)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.31%;background:#cceeff;border-bottom: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;"> (229)</p></td></tr><tr><td style="vertical-align:bottom;width:73.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 24pt;">Present value of total lease payments</p></td><td style="vertical-align:bottom;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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;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:10.74%;border-bottom: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;"> 86,378</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;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:9.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 0.05pt 0pt;"> 4,237</p></td></tr></table> <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:73.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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 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.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.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 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:9.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.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:8pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">June 30, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="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;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.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;">Operating Leases</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Finance Leases</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2024 (for remaining six months)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;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.57%;background:#cceeff;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.74%;background:#cceeff;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,327</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;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:9.31%;background:#cceeff;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,497</p></td></tr><tr><td style="vertical-align:bottom;width:73.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2025</p></td><td style="vertical-align:bottom;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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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.74%;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,153</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;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:9.31%;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,150</p></td></tr><tr><td style="vertical-align:bottom;width:73.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;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.57%;background:#cceeff;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.74%;background:#cceeff;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,414</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;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:9.31%;background:#cceeff;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;"> 819</p></td></tr><tr><td style="vertical-align:bottom;width:73.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2027</p></td><td style="vertical-align:bottom;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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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.74%;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,863</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;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:9.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;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.57%;background:#cceeff;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.74%;background:#cceeff;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,722</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;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:9.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2029</p></td><td style="vertical-align:bottom;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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.74%;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,145</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;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:9.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;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.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.74%;background:#cceeff;border-bottom: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;"> 67,156</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.31%;background:#cceeff;border-bottom: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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Total lease payments</p></td><td style="vertical-align:bottom;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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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.74%;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;"> 116,780</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;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:9.31%;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,466</p></td></tr><tr><td style="vertical-align:bottom;width:73.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Less amount representing interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;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.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.74%;background:#cceeff;border-bottom: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;"> (30,402)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.31%;background:#cceeff;border-bottom: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;"> (229)</p></td></tr><tr><td style="vertical-align:bottom;width:73.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 24pt;">Present value of total lease payments</p></td><td style="vertical-align:bottom;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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;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:10.74%;border-bottom: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;"> 86,378</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;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:9.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 0.05pt 0pt;"> 4,237</p></td></tr></table> 5327000 1497000 10153000 2150000 9414000 819000 8863000 7722000 8145000 67156000 116780000 4466000 30402000 229000 86378000 4237000 1500000 P3Y <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">8.     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.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 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.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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 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: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 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.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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 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.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 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.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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 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.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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 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.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:46.21%;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.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:51.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">As of June 30, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:46.21%;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.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td 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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;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:8.64%;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: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;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 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:46.21%;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.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td 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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 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 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:9.71%;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;">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 0pt 0.05pt 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 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:46.21%;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;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 0pt 0.05pt 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 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.05%;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;">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 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:9.71%;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;">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 0pt 0.05pt 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 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:46.21%;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.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td 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 0pt 0.05pt 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 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.05%;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;">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 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:9.71%;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;">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 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:11.72%;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;">Total Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:46.21%;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.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td 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 0pt 0.05pt 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 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.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 0pt 0.05pt 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 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:9.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(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 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:11.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Measurements</b></p></td></tr><tr><td style="vertical-align:bottom;width:46.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 0pt;">    </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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;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:8.64%;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><td style="vertical-align:bottom;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:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.42%;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="vertical-align:bottom;width:46.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cash equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;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.22%;background:#cceeff;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:9.81%;background:#cceeff;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;"> 707</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;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.44%;background:#cceeff;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.61%;background:#cceeff;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:2.06%;background:#cceeff;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.07%;background:#cceeff;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:8.64%;background:#cceeff;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:2.06%;background:#cceeff;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.29%;background:#cceeff;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.42%;background:#cceeff;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;"> 707</p></td></tr><tr><td style="vertical-align:bottom;width:46.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Short-term investments</p></td><td style="vertical-align:bottom;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="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 0pt 0.05pt 0pt;">$</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 3.5pt 0.05pt 0pt;"> 82,754</p></td><td style="vertical-align:bottom;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="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 0pt 0.05pt 0pt;">$</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 3.5pt 0.05pt 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 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;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: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 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 82,754</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 0pt 12pt 0pt;"><span style="visibility:hidden;background:#ffff00;">​</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.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 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.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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 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: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 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.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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 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.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 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.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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 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.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 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.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></tr><tr><td style="vertical-align:bottom;width:45.84%;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.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:52.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">As of December 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:45.84%;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.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td 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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;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:8.64%;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: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;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;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;"> </p></td></tr><tr><td style="vertical-align:bottom;width:45.84%;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.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td 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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 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 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:9.71%;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;">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 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;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></tr><tr><td style="vertical-align:bottom;width:45.84%;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-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 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:11.04%;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;">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 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.05%;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;">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 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:9.71%;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;">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 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;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></tr><tr><td style="vertical-align:bottom;width:45.84%;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.06%;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:11.04%;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;">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 0pt 0.05pt 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 0pt 0.05pt 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 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:9.71%;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;">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 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.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Tota1 Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:45.84%;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: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;visibility:hidden;">​</span></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 0pt 0.05pt 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 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.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 0pt 0.05pt 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 0pt 0.05pt 0pt;"> </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(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 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.09%;border-bottom: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;">Measurements</b></p></td></tr><tr><td style="vertical-align:bottom;width:45.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 0pt;"> </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 0pt 0.05pt 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 0pt 0.05pt 0pt;">    </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 0pt 0.05pt 0pt;"> </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 0pt 0.05pt 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 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;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:8.64%;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><td style="vertical-align:bottom;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:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:45.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cash equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;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.22%;background:#cceeff;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:9.81%;background:#cceeff;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;"> 61,463</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;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.44%;background:#cceeff;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.61%;background:#cceeff;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:2.06%;background:#cceeff;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.07%;background:#cceeff;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:8.64%;background:#cceeff;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:2.06%;background:#cceeff;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.54%;background:#cceeff;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.55%;background:#cceeff;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;"> 61,463</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:45.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;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:8.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="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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">As of June 30, 2024, Cash equivalents consisted of money market funds of $0.7 million. As of December 31, 2023, Cash equivalents consisted of treasury bills with original maturities at the date of purchase of three months or less and money market funds of $61.5 million.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Short-term investments consisted of treasury bills of $82.8 million as of June 30, 2024. As of June 30, 2024, all of the Company’s Short-term investments are contractually due within one year.</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, 2024 and December 31, 2023, the amortized cost of the Company’s treasury bills approximated fair value. The Company did not record any unrealized gains, unrealized losses, or credit losses for the three and six months ended June 30, 2024.</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.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 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.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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 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: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 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.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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 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.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 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.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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 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.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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 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.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:46.21%;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.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:51.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">As of June 30, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:46.21%;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.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td 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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;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:8.64%;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: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;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 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:46.21%;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.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td 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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 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 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:9.71%;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;">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 0pt 0.05pt 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 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:46.21%;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;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 0pt 0.05pt 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 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.05%;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;">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 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:9.71%;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;">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 0pt 0.05pt 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 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:46.21%;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.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td 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 0pt 0.05pt 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 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.05%;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;">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 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:9.71%;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;">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 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:11.72%;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;">Total Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:46.21%;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.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td 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 0pt 0.05pt 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 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.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 0pt 0.05pt 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 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:9.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(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 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:11.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Measurements</b></p></td></tr><tr><td style="vertical-align:bottom;width:46.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 0pt;">    </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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;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:8.64%;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><td style="vertical-align:bottom;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:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.42%;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="vertical-align:bottom;width:46.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cash equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;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.22%;background:#cceeff;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:9.81%;background:#cceeff;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;"> 707</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;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.44%;background:#cceeff;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.61%;background:#cceeff;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:2.06%;background:#cceeff;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.07%;background:#cceeff;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:8.64%;background:#cceeff;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:2.06%;background:#cceeff;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.29%;background:#cceeff;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.42%;background:#cceeff;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;"> 707</p></td></tr><tr><td style="vertical-align:bottom;width:46.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Short-term investments</p></td><td style="vertical-align:bottom;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="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 0pt 0.05pt 0pt;">$</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 3.5pt 0.05pt 0pt;"> 82,754</p></td><td style="vertical-align:bottom;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="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 0pt 0.05pt 0pt;">$</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 3.5pt 0.05pt 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 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;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: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 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 82,754</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 0pt 12pt 0pt;"><span style="visibility:hidden;background:#ffff00;">​</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.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 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.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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 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: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 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.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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 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.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 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.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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 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.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 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.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></tr><tr><td style="vertical-align:bottom;width:45.84%;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.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:52.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">As of December 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:45.84%;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.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td 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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;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:8.64%;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: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;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;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;"> </p></td></tr><tr><td style="vertical-align:bottom;width:45.84%;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.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td 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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 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 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:9.71%;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;">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 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;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></tr><tr><td style="vertical-align:bottom;width:45.84%;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-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 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:11.04%;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;">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 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.05%;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;">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 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:9.71%;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;">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 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;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></tr><tr><td style="vertical-align:bottom;width:45.84%;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.06%;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:11.04%;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;">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 0pt 0.05pt 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 0pt 0.05pt 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 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:9.71%;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;">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 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.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Tota1 Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:45.84%;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: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;visibility:hidden;">​</span></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 0pt 0.05pt 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 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.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 0pt 0.05pt 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 0pt 0.05pt 0pt;"> </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(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 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.09%;border-bottom: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;">Measurements</b></p></td></tr><tr><td style="vertical-align:bottom;width:45.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 0pt;"> </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 0pt 0.05pt 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 0pt 0.05pt 0pt;">    </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 0pt 0.05pt 0pt;"> </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 0pt 0.05pt 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 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;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:8.64%;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><td style="vertical-align:bottom;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:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:45.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cash equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;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.22%;background:#cceeff;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:9.81%;background:#cceeff;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;"> 61,463</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;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.44%;background:#cceeff;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.61%;background:#cceeff;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:2.06%;background:#cceeff;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.07%;background:#cceeff;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:8.64%;background:#cceeff;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:2.06%;background:#cceeff;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.54%;background:#cceeff;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.55%;background:#cceeff;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;"> 61,463</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:45.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;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:8.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="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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table> 707000 707000 82754000 82754000 61463000 61463000 700000 61500000 82800000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">9.     Long-term Debt</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 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 Company’s prior credit agreement, as amended and restated on October 1, 2020 (the “Credit Agreement”) and (ii) replace the Company’s prior credit facilities 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 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 0pt 12pt 0pt;"><span style="background:#ffffff;">On March 29, 2023, the Company entered into an amendment to the New Revolving Credit Facility to replace the LIBOR based interest rate with a Secured Overnight Financing Rate (“SOFR”) based interest rate</span><span style="font-size:12pt;">. </span>The New Revolving Credit Facility bears interest at SOFR plus 2.00% or the Alternate Base Rate plus 1.00% (at the Company’s option), 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 0pt 12pt 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 on its ability 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 holders of its equity.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 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, each as defined in the Credit Agreement. </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, 2024, the maximum total net leverage ratio and minimum fixed charge coverage ratio was 3.5x and 1.25x, respectively. The Borrower was in compliance with all covenants under the New Revolving Credit Facility as of June 30, 2024.</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, 2024 and December 31, 2023, there was no outstanding debt under the New Revolving Credit Facility.</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.0200 0.0100 3.5 1.25 0 0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">10.     Income Tax</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;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 historical information and forward-looking estimates. The Company’s estimated annual ETR may fluctuate due to changes in forecasted annual pre-tax income, and changes to forecasted permanent book to tax differences (e.g., non-deductible expenses).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">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 treats 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;">During the three and six months ended June 30, 2024, the Company recorded an income tax provision of $5.4 million and $7.2 million, respectively, resulting in an effective tax rate of 42.0% and 32.9%, that includes the effects of various permanent book-to-tax adjustments, foreign tax rate differences, U.S. tax on foreign operations, and U.S. state/local taxes. During the three and six months ended June 30, 2023, the Company recorded an income tax provision of $4.0 million and $9.5 million, respectively, resulting in an effective tax rate of 23.1% and 27.2%.</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;background:#ffff00;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">A valuation allowance has been established against a small amount of foreign capital losses and certain U.S. tax loss carryforwards. All other net deferred tax assets have been determined to be more likely than not realizable. The Company regularly reviews its deferred tax assets for recoverability and would establish a valuation allowance if it believed that such assets may not be recovered, taking into consideration historical operating results, expectations of future earnings, changes in its operations, and the expected timing of the reversals of existing temporary differences.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company accounts for uncertainty in income taxes utilizing ASC 740-10, “Income Taxes.” ASC 740-10 clarifies whether or not to recognize assets or liabilities for tax positions taken that may be challenged by a tax authority. It prescribes a recognition threshold and measurement attribute for financial statement disclosure of tax positions taken or expected to be taken. This interpretation also provides guidance on derecognition, classification, interest and penalties, accounting in interim periods, and disclosures. The application of ASC 740-10 requires judgment related to the uncertainty in income taxes and could impact the Company’s effective tax rate.</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 0pt 12pt 0pt;">The Company and its subsidiaries file income tax returns with the Internal Revenue Service (“IRS”) in various state and international jurisdictions. The Company’s Israeli subsidiary is under audit by the Israeli Tax Authority for the 2021 and later tax years. The Company is also under audit by the Commonwealth of Massachusetts for the 2019 and 2020 tax years. These examinations may lead to ordinary course adjustments or proposed adjustments to the Company’s taxes. Aside from the aforementioned, the Company is not currently under audit in any other jurisdiction.</p> 5400000 7200000 0.420 0.329 4000000.0 9500000 0.231 0.272 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">11.   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, 2024 and June 30, 2023:</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.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.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: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.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:8.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.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:8.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: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.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:8.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></tr><tr><td style="vertical-align:bottom;width:56.03%;margin:0pt;padding:0pt;"><p 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.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">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.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:56.03%;margin:0pt;padding:0pt;"><p 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.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, </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.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:56.03%;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.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</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;">2023</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;">2024</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.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;">2023</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="13" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:56.03%;background:#cceeff;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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.04%;background:#cceeff;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%;background:#cceeff;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.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Net Income (basic and diluted)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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: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;"> 7,474</p></td><td style="vertical-align:bottom;white-space: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:8.04%;margin: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,839</p></td><td style="vertical-align:bottom;white-space: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:8.04%;margin: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,630</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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.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:8.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 25,014</p></td></tr><tr><td style="vertical-align:bottom;width:56.03%;background:#cceeff;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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.03%;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="vertical-align:bottom;white-space: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: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;"> 171,628</p></td><td style="vertical-align:bottom;white-space: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:8.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 166,540</p></td><td style="vertical-align:bottom;white-space: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:8.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 171,467</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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.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:8.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 166,088</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.03%;background:#cceeff;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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4,333</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.04%;background:#cceeff;border-bottom: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,948</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.04%;background:#cceeff;border-bottom: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,383</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.04%;background:#cceeff;border-bottom: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,041</p></td></tr><tr><td style="vertical-align:bottom;width:56.03%;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="vertical-align:bottom;white-space: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:8.03%;border-bottom: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;"> 175,961</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-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:8.04%;border-bottom: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;"> 172,488</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-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:8.04%;border-bottom: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;"> 176,850</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</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:8.04%;border-bottom: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;"> 172,129</b></p></td></tr><tr><td style="vertical-align:bottom;width:56.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Basic earnings per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;background:#cceeff;border-bottom: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;"> 0.04</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.04%;background:#cceeff;border-bottom: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;"> 0.08</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.04%;background:#cceeff;border-bottom: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;"> 0.09</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.04%;background:#cceeff;border-bottom: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;"> 0.15</p></td></tr><tr><td style="vertical-align:bottom;width:56.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Diluted 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.03%;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.03%;border-bottom: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;"> 0.04</p></td><td style="vertical-align:bottom;white-space: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%;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.04%;border-bottom: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;"> 0.07</p></td><td style="vertical-align:bottom;white-space: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%;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.04%;border-bottom: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;"> 0.08</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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.03%;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.04%;border-bottom: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;"> 0.15</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.7pt;text-align:justify;text-indent:-0.7pt;margin:0pt 0pt 12pt 0pt;">Approximately 8.9 million and 3.9 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, 2024, respectively, because they were antidilutive. Approximately 8.6 million and 7.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, 2023, respectively, 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.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.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: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.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:8.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.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:8.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: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.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:8.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></tr><tr><td style="vertical-align:bottom;width:56.03%;margin:0pt;padding:0pt;"><p 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.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">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.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:56.03%;margin:0pt;padding:0pt;"><p 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.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, </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.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:56.03%;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.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</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;">2023</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;">2024</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.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;">2023</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="13" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:56.03%;background:#cceeff;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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.04%;background:#cceeff;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%;background:#cceeff;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.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Net Income (basic and diluted)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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: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;"> 7,474</p></td><td style="vertical-align:bottom;white-space: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:8.04%;margin: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,839</p></td><td style="vertical-align:bottom;white-space: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:8.04%;margin: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,630</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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.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:8.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 25,014</p></td></tr><tr><td style="vertical-align:bottom;width:56.03%;background:#cceeff;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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.03%;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="vertical-align:bottom;white-space: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: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;"> 171,628</p></td><td style="vertical-align:bottom;white-space: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:8.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 166,540</p></td><td style="vertical-align:bottom;white-space: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:8.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 171,467</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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.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:8.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 166,088</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.03%;background:#cceeff;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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4,333</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.04%;background:#cceeff;border-bottom: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,948</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.04%;background:#cceeff;border-bottom: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,383</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.04%;background:#cceeff;border-bottom: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,041</p></td></tr><tr><td style="vertical-align:bottom;width:56.03%;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="vertical-align:bottom;white-space: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:8.03%;border-bottom: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;"> 175,961</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-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:8.04%;border-bottom: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;"> 172,488</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-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:8.04%;border-bottom: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;"> 176,850</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</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:8.04%;border-bottom: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;"> 172,129</b></p></td></tr><tr><td style="vertical-align:bottom;width:56.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Basic earnings per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;background:#cceeff;border-bottom: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;"> 0.04</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.04%;background:#cceeff;border-bottom: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;"> 0.08</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.04%;background:#cceeff;border-bottom: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;"> 0.09</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.04%;background:#cceeff;border-bottom: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;"> 0.15</p></td></tr><tr><td style="vertical-align:bottom;width:56.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Diluted 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.03%;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.03%;border-bottom: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;"> 0.04</p></td><td style="vertical-align:bottom;white-space: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%;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.04%;border-bottom: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;"> 0.07</p></td><td style="vertical-align:bottom;white-space: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%;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.04%;border-bottom: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;"> 0.08</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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.03%;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.04%;border-bottom: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;"> 0.15</p></td></tr></table> 7474000 12839000 14630000 25014000 171628000 166540000 171467000 166088000 4333000 5948000 5383000 6041000 175961000 172488000 176850000 172129000 0.04 0.08 0.09 0.15 0.04 0.07 0.08 0.15 8900000 3900000 8600000 7700000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">12.   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.7pt;text-align:justify;text-indent:-0.7pt;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.</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;">On April 19, 2021, the Company established its 2021 Omnibus Equity Incentive Plan (“2021 Equity Plan”). 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.</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;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Stock Options</i></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;">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.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, 2024 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;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','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.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 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:12.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','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:13.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.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 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:12.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></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.05%;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.29%;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.05%;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.29%;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.05%;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.29%;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%;border-bottom: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;">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%;border-bottom: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;">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.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 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%;border-bottom:1px solid #000000;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:12.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Intrinsic Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:39.86%;background:#cceeff;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, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;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:12.3%;background:#cceeff;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,992</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;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%;background:#cceeff;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%;background:#cceeff;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;"> 17.01</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;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.05%;background:#cceeff;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.91</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;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%;background:#cceeff;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.29%;background:#cceeff;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;"> 197,598</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;"> —</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;"> —</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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:39.86%;background:#cceeff;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="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;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%;background:#cceeff;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;"> (363)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;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%;background:#cceeff;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%;background:#cceeff;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.09</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;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.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;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%;background:#cceeff;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.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></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;"> (46)</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%;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;"><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;"> 31.01</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.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 0pt 0.05pt 0pt;"><span style="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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:39.86%;background:#cceeff;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, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;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:12.3%;background:#cceeff;border-bottom: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;"> 9,583</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;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%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;background:#cceeff;border-bottom: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;"> 17.32</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;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.05%;background:#cceeff;border-bottom: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.42</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;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%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.29%;background:#cceeff;border-bottom: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;"> 61,419</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, 2024</p></td><td style="vertical-align:bottom;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;"> 2,194</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;"> 25.96</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.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;"> 7.94</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%;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:12.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,271</p></td></tr><tr><td style="vertical-align:bottom;width:39.86%;background:#cceeff;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, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;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%;background:#cceeff;border-bottom: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,297</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;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%;background:#cceeff;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%;background:#cceeff;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.61</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;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.05%;background:#cceeff;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.94</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;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%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.29%;background:#cceeff;border-bottom: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;"> 60,147</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;background:#ffff00;">​</span></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;">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, 2024. During the six months ended June 30, 2024, 50 stock options were exercised and 1,323 market-based and performance-based stock options remain outstanding as of June 30, 2024. </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 intrinsic value of options exercised during the six months ended June 30, 2024 and June 30, 2023 was $8.3 million and $34.1 million, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">The Company’s board of directors (the “Board”) did not declare or pay dividends on any Company stock during the six months ended June 30, 2024 and June 30, 2023. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Restricted Stock Units (“RSUs”)</i></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;">RSUs are subject to vesting schedules up to four years from the date of the grant and subject to certain restrictions upon employee separation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">A summary of RSUs activity as of and for the six months ended June 30, 2024 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:68.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 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.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 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.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 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.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 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:14.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.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: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.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">RSUs</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.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;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.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;">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.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;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.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;">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="vertical-align:bottom;width:68.86%;background:#cceeff;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, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;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:11.97%;background:#cceeff;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,720</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;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.45%;background:#cceeff;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.52%;background:#cceeff;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;"> 28.03</p></td></tr><tr><td style="vertical-align:bottom;width:68.86%;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.97%;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,727</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-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;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.52%;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;"> 32.97</p></td></tr><tr><td style="vertical-align:bottom;width:68.86%;background:#cceeff;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="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;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.97%;background:#cceeff;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,063)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;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.45%;background:#cceeff;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.52%;background:#cceeff;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;"> 28.96</p></td></tr><tr><td style="vertical-align:bottom;width:68.86%;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.97%;border-bottom: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;"> (152)</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.45%;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.52%;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;"> 29.00</p></td></tr><tr><td style="vertical-align:bottom;width:68.86%;background:#cceeff;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, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;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:11.97%;background:#cceeff;border-bottom: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,232</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;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.45%;background:#cceeff;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.52%;background:#cceeff;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;"> 30.01</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;background:#ffff00;">​</span></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;">The total grant date fair value of RSUs that vested during the six months ended June 30, 2024 was $30.8 million. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Performance Stock Units (“PSUs”)</i></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;">PSUs are subject to vesting and performance periods of up to approximately three years from the date of the grant.</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 PSUs activity as of and for the six months ended June 30, 2024 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:74.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:2.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 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:9.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 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.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 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.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:74.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:2.35%;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 colspan="4" style="vertical-align:bottom;white-space:nowrap;width:22.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;">PSUs</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.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:2.35%;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:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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 colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.99%;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 </b></p></td></tr><tr><td style="vertical-align:bottom;width:74.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:2.35%;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:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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 colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.99%;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;">Average Grant </b></p></td></tr><tr><td style="vertical-align:bottom;width:74.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:2.35%;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:9.35%;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:2.35%;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 colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.99%;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;">Date Fair </b></p></td></tr><tr><td style="vertical-align:bottom;width:74.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:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Shares </b><sup style="font-size:6pt;font-weight:bold;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;background:#cceeff;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, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 480</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;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:9.45%;background:#cceeff;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;"> 41.31</p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;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:2.35%;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:9.35%;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;"> 186</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;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;"> 41.28</p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;background:#cceeff;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="vertical-align:bottom;white-space:nowrap;width:2.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;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:9.45%;background:#cceeff;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:74.93%;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:2.35%;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:9.35%;border-bottom: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:2.35%;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.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:9.45%;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:74.93%;background:#cceeff;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, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;border-bottom: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;"> 666</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;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:9.45%;background:#cceeff;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;"> 41.30</p></td></tr></table><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;"><span style="font-size:1pt;margin-bottom:12pt;visibility:hidden;background:#ffff00;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup> For awards for which the performance period is complete, the number of outstanding PSUs is based on the actual shares that will vest upon completion of the service period. For awards for which the performance period is not yet complete, the number of outstanding PSUs is based on the participants earning 100% of their target PSUs.</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;">The fair market value of PSUs with market-based and service-based vesting conditions granted for the years presented has been estimated on the grant date using the Monte Carlo Simulation 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.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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 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.44%;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.74%;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 style="vertical-align:bottom;white-space:nowrap;width:10.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:86.44%;background:#cceeff;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="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.81%;background:#cceeff;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;">3.9 - 4.1</p></td></tr><tr><td style="vertical-align:bottom;width:86.44%;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="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:86.44%;background:#cceeff;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.74%;background:#cceeff;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.81%;background:#cceeff;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;">46.7</p></td></tr></table><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;"><span style="margin-bottom:12pt;visibility:hidden;background:#ffff00;">​</span></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;">Stock-based Compensation Expense</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;">Total stock-based compensation expense recorded in the Condensed Consolidated Statements of Operations and Comprehensive Income was 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;">2024</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;">2023</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;">2024</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;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:59.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Product development</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;background:#cceeff;margin: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,734</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;background:#cceeff;margin: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,975</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;background:#cceeff;margin: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,107</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;background:#cceeff;margin: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,354</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;"> 7,503</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;"> 4,746</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;"> 13,439</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;"> 8,253</p></td></tr><tr><td style="vertical-align:bottom;width:59.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">General and administrative</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;background:#cceeff;border-bottom: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,478</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;background:#cceeff;border-bottom: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,446</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;background:#cceeff;border-bottom: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;"> 14,410</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;background:#cceeff;border-bottom: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;"> 8,373</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;"> 24,715</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;"> 15,167</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;"> 44,956</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;"> 26,980</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;background:#ffff00;">​</span></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;">As of June 30, 2024, unrecognized stock-based compensation expense was $203.2 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;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Employee Stock Purchase Plan (“ESPP”)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">In March 2021, the Board approved the Company’s 2021 ESPP. Purchases are accomplished through participation in discrete offering periods. The ESPP is available to U.S.-based employees and most of the Company’s non-U.S.-based employees. The current offering period began on June 1, 2024 and will end on November 30, 2024. The Company expects the program to continue consecutively for six-month offering periods for the foreseeable future.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Under the ESPP, eligible employees are able to acquire shares of the Company’s common stock by accumulating funds through payroll deductions. The purchase price for shares of common stock purchased under the ESPP is 85% of the lesser of the fair market value of the common stock on (i) the first trading day of the applicable offering period and (ii) the last trading day of the applicable offering period. Employees are required to hold shares purchased for a minimum of six months following the purchase date.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Stock-based compensation expense for the ESPP is recognized on a straight-line basis over the requisite service period of each award. Stock-based compensation expense related to the ESPP totaled $0.3 million and $0.5 million for the three and six months ended June 30, 2024, respectively. Stock-based compensation expense related to the ESPP totaled $0.2 million and $0.3 million for the three and six months ended June 30, 2023, respectively.</p> P4Y P10Y <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;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','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.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 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:12.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','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:13.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.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 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:12.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></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.05%;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.29%;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.05%;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.29%;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.05%;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.29%;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%;border-bottom: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;">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%;border-bottom: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;">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.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 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%;border-bottom:1px solid #000000;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:12.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Intrinsic Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:39.86%;background:#cceeff;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, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;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:12.3%;background:#cceeff;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,992</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;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%;background:#cceeff;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%;background:#cceeff;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;"> 17.01</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;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.05%;background:#cceeff;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.91</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;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%;background:#cceeff;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.29%;background:#cceeff;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;"> 197,598</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;"> —</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;"> —</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.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:39.86%;background:#cceeff;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="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;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%;background:#cceeff;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;"> (363)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;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%;background:#cceeff;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%;background:#cceeff;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.09</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;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.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;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%;background:#cceeff;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.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></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;"> (46)</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%;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;"><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;"> 31.01</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.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 0pt 0.05pt 0pt;"><span style="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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:39.86%;background:#cceeff;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, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;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:12.3%;background:#cceeff;border-bottom: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;"> 9,583</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;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%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.26%;background:#cceeff;border-bottom: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;"> 17.32</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;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.05%;background:#cceeff;border-bottom: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.42</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;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%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.29%;background:#cceeff;border-bottom: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;"> 61,419</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, 2024</p></td><td style="vertical-align:bottom;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;"> 2,194</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;"> 25.96</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.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;"> 7.94</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%;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:12.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 1,271</p></td></tr><tr><td style="vertical-align:bottom;width:39.86%;background:#cceeff;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, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;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%;background:#cceeff;border-bottom: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,297</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;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%;background:#cceeff;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%;background:#cceeff;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.61</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;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.05%;background:#cceeff;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.94</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;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%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.29%;background:#cceeff;border-bottom: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;"> 60,147</p></td></tr></table> 9992000 17.01 P6Y10M28D 197598000 363000 7.09 46000 31.01 9583000 17.32 P6Y5M1D 61419000 2194000 25.96 P7Y11M8D 1271000 7297000 14.61 P5Y11M8D 60147000 0 50000 1323000 8300000 34100000 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;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 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.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 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.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 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.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 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:14.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.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: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.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">RSUs</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.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;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.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;">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.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;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.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;">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="vertical-align:bottom;width:68.86%;background:#cceeff;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, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;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:11.97%;background:#cceeff;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,720</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;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.45%;background:#cceeff;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.52%;background:#cceeff;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;"> 28.03</p></td></tr><tr><td style="vertical-align:bottom;width:68.86%;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.97%;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,727</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-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;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.52%;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;"> 32.97</p></td></tr><tr><td style="vertical-align:bottom;width:68.86%;background:#cceeff;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="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;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.97%;background:#cceeff;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,063)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;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.45%;background:#cceeff;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.52%;background:#cceeff;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;"> 28.96</p></td></tr><tr><td style="vertical-align:bottom;width:68.86%;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.97%;border-bottom: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;"> (152)</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.45%;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.52%;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;"> 29.00</p></td></tr><tr><td style="vertical-align:bottom;width:68.86%;background:#cceeff;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, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;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:11.97%;background:#cceeff;border-bottom: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,232</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;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.45%;background:#cceeff;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.52%;background:#cceeff;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;"> 30.01</p></td></tr></table> 4720000 28.03 2727000 32.97 1063000 28.96 152000 29.00 6232000 30.01 30800000 P3Y <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:74.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:2.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 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:9.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 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.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 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.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:74.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:2.35%;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 colspan="4" style="vertical-align:bottom;white-space:nowrap;width:22.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;">PSUs</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.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:2.35%;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:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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 colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.99%;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 </b></p></td></tr><tr><td style="vertical-align:bottom;width:74.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:2.35%;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:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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 colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.99%;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;">Average Grant </b></p></td></tr><tr><td style="vertical-align:bottom;width:74.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:2.35%;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:9.35%;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:2.35%;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 colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.99%;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;">Date Fair </b></p></td></tr><tr><td style="vertical-align:bottom;width:74.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:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Shares </b><sup style="font-size:6pt;font-weight:bold;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;background:#cceeff;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, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 480</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;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:9.45%;background:#cceeff;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;"> 41.31</p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;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:2.35%;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:9.35%;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;"> 186</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;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;"> 41.28</p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;background:#cceeff;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="vertical-align:bottom;white-space:nowrap;width:2.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;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:9.45%;background:#cceeff;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:74.93%;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:2.35%;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:9.35%;border-bottom: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:2.35%;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.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:9.45%;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:74.93%;background:#cceeff;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, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;border-bottom: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;"> 666</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;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:9.45%;background:#cceeff;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;"> 41.30</p></td></tr></table><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;"><span style="font-size:1pt;margin-bottom:12pt;visibility:hidden;background:#ffff00;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup> For awards for which the performance period is complete, the number of outstanding PSUs is based on the actual shares that will vest upon completion of the service period. For awards for which the performance period is not yet complete, the number of outstanding PSUs is based on the participants earning 100% of their target PSUs.</p> 480000 41.31 186000 41.28 666000 41.30 <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.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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 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.44%;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.74%;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 style="vertical-align:bottom;white-space:nowrap;width:10.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:86.44%;background:#cceeff;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="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.81%;background:#cceeff;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;">3.9 - 4.1</p></td></tr><tr><td style="vertical-align:bottom;width:86.44%;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="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:86.44%;background:#cceeff;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.74%;background:#cceeff;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.81%;background:#cceeff;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;">46.7</p></td></tr></table> 0.039 0.041 0.467 <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;">2024</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;">2023</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;">2024</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;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:59.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Product development</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;background:#cceeff;margin: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,734</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;background:#cceeff;margin: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,975</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;background:#cceeff;margin: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,107</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;background:#cceeff;margin: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,354</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;"> 7,503</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;"> 4,746</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;"> 13,439</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;"> 8,253</p></td></tr><tr><td style="vertical-align:bottom;width:59.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">General and administrative</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;background:#cceeff;border-bottom: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,478</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;background:#cceeff;border-bottom: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,446</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;background:#cceeff;border-bottom: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;"> 14,410</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;background:#cceeff;border-bottom: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;"> 8,373</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;"> 24,715</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;"> 15,167</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;"> 44,956</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;"> 26,980</p></td></tr></table> 9734000 5975000 17107000 10354000 7503000 4746000 13439000 8253000 7478000 4446000 14410000 8373000 24715000 15167000 44956000 26980000 203200000 P1Y4M24D 0.85 300000 500000 200000 300000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">13.   Stockholders’ Equity</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;">Repurchase Program</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">On May 16, 2024, the Company announced that the Board authorized the repurchase of up to $150.0 million of the Company’s outstanding common stock (the “Repurchase Program”). Under the Repurchase Program, the Company may repurchase for cash from time to time shares of its common stock through open market purchases pursuant to Rule 10b-18 and/or Rule 10b5-1 plans, in compliance with applicable securities laws and other legal requirements. The Repurchase Program does not obligate the Company to repurchase any specific number of shares, has no time limit, and may be modified, suspended, or discontinued at any time at the Company’s discretion.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">During the three months ended June 30, 2024, the Company repurchased 1.4 million shares of its common stock for an aggregate repurchase amount of $25.0 million, which included immaterial amounts of broker commissions. As of June 30, 2024, $125.0 million remained available and authorized for repurchase under the Repurchase Program. Activity under the Repurchase Program was recognized in the Condensed Consolidated Balance Sheets on a trade-date basis.</p> 150000000.0 1400000 25000000.0 125000000.0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">14.   Supplemental Financial Statement Information</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 Expenses</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, 2024 and December 31, 2023 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.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 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.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 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.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 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.63%;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.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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">As of</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.63%;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.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">June 30, 2024</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, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.63%;background:#cceeff;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="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;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.11%;background:#cceeff;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%;background:#cceeff;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,060</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;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.37%;background:#cceeff;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.95%;background:#cceeff;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,286</p></td></tr><tr><td style="vertical-align:bottom;width:70.63%;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.11%;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;"> 18,105</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.37%;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.95%;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;"> 20,809</p></td></tr><tr><td style="vertical-align:bottom;width:70.63%;background:#cceeff;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="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;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.11%;background:#cceeff;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%;background:#cceeff;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;"> 13,489</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;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.37%;background:#cceeff;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.95%;background:#cceeff;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,602</p></td></tr><tr><td style="vertical-align:bottom;width:70.63%;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.11%;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;"> 1,857</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.37%;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.95%;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,982</p></td></tr><tr><td style="vertical-align:bottom;width:70.63%;background:#cceeff;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="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;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.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.05%;background:#cceeff;border-bottom: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;"> 4,625</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;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.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;background:#cceeff;border-bottom: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;"> 3,585</p></td></tr><tr><td style="vertical-align:bottom;width:70.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total accrued expenses</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.11%;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;"> 44,136</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.37%;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.95%;border-bottom: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;"> 44,264</p></td></tr></table><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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:14pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Other Income, Net</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:14pt 0pt 12pt 0pt;">The components of Other income, net recorded in the Condensed Consolidated Statements of Operations and Comprehensive Income 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: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 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.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 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.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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 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.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 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.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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 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.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 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.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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 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.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 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.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 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 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.76%;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: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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</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 0pt 0.05pt 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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</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 0pt 0.05pt 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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</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 0pt 0.05pt 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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:59.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Interest income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;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.08%;background:#cceeff;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:7.31%;background:#cceeff;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;"> (3,311)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;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.08%;background:#cceeff;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:7.31%;background:#cceeff;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;"> (2,686)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;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.08%;background:#cceeff;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:7.31%;background:#cceeff;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;"> (6,590)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;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.08%;background:#cceeff;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:7.31%;background:#cceeff;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;"> (5,442)</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 0pt 0.05pt 0pt;">Foreign currency exchange loss</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 0pt 0.05pt 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 0pt 0.05pt 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 0.05pt 0pt;"> 1,239</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 0pt 0.05pt 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 0pt 0.05pt 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 0.05pt 0pt;"> 209</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 0pt 0.05pt 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 0pt 0.05pt 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 0.05pt 0pt;"> 2,217</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 0pt 0.05pt 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 0pt 0.05pt 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 0.05pt 0pt;"> 229</p></td></tr><tr><td style="vertical-align:bottom;width:59.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Other miscellaneous expense, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;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.08%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;background:#cceeff;border-bottom: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;"> 8</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;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.08%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;background:#cceeff;border-bottom: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</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;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.08%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;background:#cceeff;border-bottom: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;"> 37</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;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.08%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;background:#cceeff;border-bottom: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;"> 3</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 0pt 0.05pt 0pt;">Other income, net</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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 0pt;"> (2,064)</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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 0pt;"> (2,476)</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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 0pt;"> (4,336)</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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 0pt;"> (5,210)</p></td></tr></table><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> <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.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 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.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 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.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 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.63%;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.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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">As of</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.63%;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.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">June 30, 2024</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, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.63%;background:#cceeff;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="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;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.11%;background:#cceeff;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%;background:#cceeff;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,060</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;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.37%;background:#cceeff;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.95%;background:#cceeff;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,286</p></td></tr><tr><td style="vertical-align:bottom;width:70.63%;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.11%;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;"> 18,105</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.37%;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.95%;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;"> 20,809</p></td></tr><tr><td style="vertical-align:bottom;width:70.63%;background:#cceeff;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="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;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.11%;background:#cceeff;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%;background:#cceeff;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;"> 13,489</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;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.37%;background:#cceeff;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.95%;background:#cceeff;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,602</p></td></tr><tr><td style="vertical-align:bottom;width:70.63%;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.11%;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;"> 1,857</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.37%;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.95%;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,982</p></td></tr><tr><td style="vertical-align:bottom;width:70.63%;background:#cceeff;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="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;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.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.05%;background:#cceeff;border-bottom: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;"> 4,625</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;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.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;background:#cceeff;border-bottom: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;"> 3,585</p></td></tr><tr><td style="vertical-align:bottom;width:70.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total accrued expenses</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.11%;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;"> 44,136</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.37%;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.95%;border-bottom: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;"> 44,264</p></td></tr></table> 6060000 6286000 18105000 20809000 13489000 10602000 1857000 2982000 4625000 3585000 44136000 44264000 <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 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.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 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.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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 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.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 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.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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 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.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 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.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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 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.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 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.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 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 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.76%;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: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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</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 0pt 0.05pt 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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</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 0pt 0.05pt 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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</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 0pt 0.05pt 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 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:59.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Interest income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;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.08%;background:#cceeff;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:7.31%;background:#cceeff;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;"> (3,311)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;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.08%;background:#cceeff;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:7.31%;background:#cceeff;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;"> (2,686)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;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.08%;background:#cceeff;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:7.31%;background:#cceeff;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;"> (6,590)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;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.08%;background:#cceeff;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:7.31%;background:#cceeff;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;"> (5,442)</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 0pt 0.05pt 0pt;">Foreign currency exchange loss</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 0pt 0.05pt 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 0pt 0.05pt 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 0.05pt 0pt;"> 1,239</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 0pt 0.05pt 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 0pt 0.05pt 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 0.05pt 0pt;"> 209</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 0pt 0.05pt 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 0pt 0.05pt 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 0.05pt 0pt;"> 2,217</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 0pt 0.05pt 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 0pt 0.05pt 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 0.05pt 0pt;"> 229</p></td></tr><tr><td style="vertical-align:bottom;width:59.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Other miscellaneous expense, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;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.08%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;background:#cceeff;border-bottom: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;"> 8</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;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.08%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;background:#cceeff;border-bottom: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</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;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.08%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;background:#cceeff;border-bottom: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;"> 37</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;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.08%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.31%;background:#cceeff;border-bottom: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;"> 3</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 0pt 0.05pt 0pt;">Other income, net</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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 0pt;"> (2,064)</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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 0pt;"> (2,476)</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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 0pt;"> (4,336)</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 0pt 0.05pt 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 0pt 0.05pt 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 0pt 0.05pt 0pt;"> (5,210)</p></td></tr></table><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> 3311000 2686000 6590000 5442000 -1239000 -209000 -2217000 -229000 8000 1000 37000 3000 2064000 2476000 4336000 5210000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">15.   Commitments and Contingencies</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.7pt;text-align:justify;text-indent:-0.7pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Litigation</i></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;">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;font-weight:bold;margin:0pt 0pt 12pt 0pt;">16.    Segment Information</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The Company has determined that it operates as one operating and <span style="-sec-ix-hidden:Hidden_z68DcDEdJkqd4MhSSs97xQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">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> 1 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">17.    Subsequent Events</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">In July 2024, the Company repurchased 1.3 million shares of its common stock for an aggregate repurchase amount of $25.0 million, which included immaterial amounts of broker commissions. As of July 30, 2024, $100.0 million remained available and authorized for repurchase under the Repurchase Program. </p> 1300000 25000000.0 100000000.0 false false false false

#*58J7.Y54V^9STT+G\STD/PT1&3T_TC2^ M/9[$M"PU&/2U>+2,(")V]S=ZGXQ' X@(("* B(\4=C@51#@#EA6X/K0B9FE* MJ,_&ZMAN7@$B(@NYM[(+#QTR]O0@KU;Y_'0AHKN7R;N_5/R>(E^KVQ!@1( 1 M/QDCSFQ&& /1?"AF19,7QK,E'17XJ%RZ D9DI]74,M1,UGEG*5HYLFS5\T.$ M$13J)$W>,]'7?(WW1UA>DK5KG(HW(0W,>Z^X/*[:KDJ$:)MPHJB8@:WKFG&Z MF,N/@+V++O)DA:[>RO>[(53[>ORD"10%T@:"6GFM.+N0)JY8VS"X9HRDVV:^ M__38FW'7,'MD*;H$HTBM3D[G]NBI(L\SM%[O15'P)'X?)9GS63V!K@>Z[AM= M_X(%\Z:NQQM3LI 1FX^37+?=RPXST:T#8&4^\66IJ[2>IEG MH:['[OY&[N.1L_2N"W0]T'6_Z/K7(QIOZGK=,O3*./7 34*3+E.;3R7*6=MB9+WBDLHW*^EWQ*C%&%)A3.8.XCS&$1[$#9 V6_/64_Y\:N1T"Z MPZ;R(;(I+^GX0F 2686]O+(_+F+%,J57$UR(BV)!5/;T4=DK9CJ='0Q]N%Q?X.?7@R"> MCD+\9'AS1BQDHNU51WP,6>*LMFVS#%OEV_/-(H M92%2&%03L8GA_4Q+.])4EF$@)?59OQT22R;)7[5W"?E#(U;PPYM3!I)Z;R([GD MLP4)08T;@V+BIX]!751M7B\:?P.Q\X-;8I?$S!W$8"!B2+B-S740\H1I@==> MER^@\'@DB5*U&6GQ$+V*?"XQEYQD48^)([25)^_^1B+WR6B0X18H=Z#<'PM9L*UX,I*G MF#E?U456ZC&9:B)RA6O^@B/%XMFI*O QP6:357GVT%R@_H HP$#'[I.)UX*9 M%^BL_!$-?6\W9-_T?-[OHHK!W!D/<$V@90.U-CTRSNQ5#)IK\>:H/W M?R>69=;L50=;.Y/T6!\U9P^Z3N9*>LW.R+9HYW=WIN@'A/==S?,JFCH')I1P MW$OH Z[FUWD;>8ZZ\5P3#Z"T'3S$QJ\^[$Z>A7FSUI M-EN@XCU,F#Z0=0+*A@)_N"<@V(DC0C8QI5'/]^!,:9#= MA*#K!I1@R6O+.863=-")A+K%AYMA M#^F 1V.W_><4BB%2IF/SA.(4.O9%]SVB;1@0B/=G =5X")D%IXJAEW*1%[]K M =6? / '^,<*I XZ'=A@L_M0;PH>+IAX6I"20T.8HF5X36L!^@$JJ(T.&Q0' MZ2UARLO0%/YY=$ 6_&?T(/A_8 * :3*P+=L 5U,-'FYB[J00N^X) +\GHWEM M<0<)A,<^09S9,OP==^8V7^(7%!Y( 7=;(_H.$B=[:J/>!) 8 [B3FUM"Y1@: MY(8$4'$RU S6I;^^UC@=@@AP";MYY\[SUR,EN"%NKP6)WCNW3/@(T#.+G7[' M?(HW)LWRJIZ/]NL%&F'Q)T['$4I4(%+C,RII/NIM@!K->*UJ:!320.]T:N$L M&;JR).N3JAAIBMI#M9B)[.R_] >V7[P7] ^:U1J&H [Q.5K*>1Y2$QST$=X@ M-K-#=*\.TIC4[KR!@8KG;?;?$+VU(]0:F?'XR6H/^1@S?A3I'*R5?#@^9;IN@:P]8JMFTIJ7"IZ.@5[:0A M18:H"Q\$QV 3"GT)T\N$_B5ANB;+EA4%!+A]"4@$P\2;L\"=3ERZ;R9C(Y<-TZJ3D4(D0"NM%H? M)[M]%I/[$# WY%[KGH5[AR#B;Z$)P*TD]MQ,"$;(?L'6B<_5ZH7TCT_Q65S) MXF11DMB);6=&"^ZQ*:\2[#7XS-)#Z\!KFCU7A=ITI/,S+]$&/9 I4E(!TG7E2PWYLMK%#O(22;O%!K60W2*!7:XN)NX\M(K/7*N!X:1MT1 %)= MA_.P#!N<+*9[X(&_;*!03-@-*6S_NTT,SPLA7*)\GY!# VPLP)KK:%XYIE!% M,06'H&+KS63+U8-:HFJV*N+P@&!M!QQL:Z09V!YT+;[-JJ"-9^MH:SE/)#/: MHV*N ID&? B"CF>2>A3=H-KQ/WMPEET8LW$YF^?X4#,R76;5T'14^_CN :?A M:NGA-#8T8J>0BDBMCF!9VXYGFK)@V-R44VE[V9:%Y&2(SM[)\&'\?H-F+_CD MFFV9B+#(W=CQJ'ZAT5Y$ZU &U_&M,/$<*3@MO;#!.D"@0;!?NX7Z)D@%?S)M0;70DQHV=-0HLA^B$@B\ M_P-?M_XH&J(('>Y5YCV*5[DQ+0%*+;&0K=&VGX=B.(9LR?#1BK!P(U(:7),! MG=2AH*P=/>0E>P&*0R(0D@90K,HBM#Y4,;B![5 %SG2+*.@3M(?( [@Y0/'I MNXZP2Y![ HZ!3W*)I,A3V;IW@V20LGT MR8)?@](]X1IPX>@'>J>@,M& ;DU MF!-0*_%KT2,\#=V7"2^ !Z7F:OXFW O7#K"[_;YFS6Z3\YF6TGO#/"YQ>P]9 MX5%+]DHQQ2]?,N8\L K07'/P*/&F3=8-\QT]:0O;0<021 MY";-?K4YT^JS3$P<_G_VOK4Y;:1I^_OS*U2Y-V\E58)%$D=G-U6.[21VXD-\ M2++YXAJD 10+">L )K_^[9[1B:.Q+4# W/4\60S2:*;[ZI[NGE;W2.A_4B?- MD7,6( &3M]UV*9.9M) P[8BWK=BGWU;^?L>X6L1>//@YI; 336?TT*G"EA!X M[=+]J7U=.O]ZYQQ;WUZ]5RMS=I_X1,W6K0 EV.S"-$%-8/T!QDV&@J;KW('" M0R"8GL>COE./29=]Z+E.1CN%9K?TJ4RLHR_[=T>'MY;5^MU^OI,ZW=2XI%UB MVEB:([8YDFOF61\EIUFZ">ZJU9OS,\-I_/(_#S]?XQ'?7/Z#].+SL %"@DP5F_-S+V/%X*@[)>JGA3H$']+@_P"?V6@V+;7P@ M%C,!KCJ4(AHQ:(E!8%K WWG$,O'ITKD/O -QJK&R;E'B8MY,)]SAXK08W-R6 MT5EY9B,;I9XDOD2>4F.\>_+_C72%CO,J"KIC.>Y>E,"36E78C5IEB1%M6N!- MITD+'KQ'K $9>E%N4*.H1;E!>W$.D,8V>_"]*Z^EU&%OTGL \OVV-:+<3NE]<_R[/SZZ$JZ/I<.SL\.C\ZNC@[QT]7YU^/#_6OX MX^/QV?[9P?'^5^GJ&KXX/3J[OI+>W)SMWQP>P^]OI16N92+&,&]A;_;#[3;= M65*6Z(-.88 >#<]3\;2)8#H2'L9QEV=@@FKU<$,SWB:-K^;JOE'1G2:18^&Q M^3&I,-8T+:I&HARW+[_JPZ^]ZB^G='[[11O>WU_;;GT?K;E77 KB*ZNT?7[1 M,$^J=^;ER5'SJM&O%_X;W*JWI?$K5?6_/]_*2CNX*1Q__?:S^_6\]5%MPY43 M8Y[W]D^.5?+)O;OZ6FVTKKY>/;B?<,S*^)7]WN#KIWNS\>/NRQ_ZYZI_?G_4 M_3*XU2:?;A3^ZUWM/WRKW'RZ/_O@?V]_Z)X4]N'*B:+@\KIG8V&LB2OO6@^_C,N&E?'M#C=K!C7)4J5UW MVG#E!)5.3F^_=8/KZI^CX<,?>OOUQ/UDWGZ;AJ4?M\'5C:_8UAU8N$?JC^[- MP;3A?7+:ZM'@\Y@*I9^U>L'Y:\M\Z8T_'!^:GQY M,-K^[3Y<.3%FVSWX2(Q+>_^._*A\M'K5\T_#7^UI6/I:.?GZX_.76OG.5/U2 M^WN[\V5H#:9A:=@W@Q_-?F/_SOSCW6C_'>]_;@^G8JGI],[,S[9=OPON2VYM M7P\^__R&5T[,\[CRZ?.WZZO_[H\*Y[1P]*7_P;B]Q*%1E^_S5H?ID*4'?PZ?3TOF[:_VH.$-:QV"C6DFQ>/'9?/@4ZGT MY6;XZ= ^_TZ/OGYI?(,K)Y;D%PZ^71M7I9L;TB07I?N3'R7G%UXYL:2/O^Y_ M7-Z[%\9=<#CT*R>'O[1?9WCEY)).K=]_+HVO_>,[HMT/ZU5E[MMWMVY029E(\_*K^'%YWZT=7EM_M6R_ET6V_BE1-D^DF4 M@N;U?YW<# ]/3[Y>?@N.>L#YVB29?MFM?JLY+)V4R(_6]]JQAX-MYQR.=^T)'O:_8P9U:]O^T/QQ63G]I M^SDX\"A/._ (>CV+.9S@6,G..0/9UW<7097C"YZWY "2:3G@Z M[DED,D3!O-M#JH.66W8D_+OC6 MCL\C^:%WRU]3 <_6(CV/[D4?TI-"9S"<$)JP.G>EQEX!2+T3P/W.2=?>=Z.G MAJ,I?$6+56BHE8I5;=Y+42FC.S4^YE2U %L12:*_"_C&SAYWU = A$<=Y#!D MP1X<74J:GF,%/EV%8PQ8J,S3&>R^Q5&0"G>\^#VNAN!++OFBS"W,+/BR)KXH M,#/!F!PR1BBRG/)%JPF^Y) O(#!"D2V/,4\L8?:H@;PV(M2?0(2E:O 74Z#^ M" $F(Q!3:B."CX4+_O=5Y=4SUZG6BF5UO,; 2JLBUAXS&@EF7_ M&-BH^.07/-DJTN?#0BMJ6Z5(HQ!K" TE@8:6A69=:P7F25)\I[;AN/AR=)*>JN%KZMZ'W^J7:?]Z^RNV_I1<@NWP[,/]:<75WN& M8*L_#[WJB?+E[N:\<.PTS._WQQ<_,9VEBH*MUN>52LR=H_65+SJ5V49A'VV$!I7IX5L11Q+M];>NFS M_\<\*AS>#?H?G>&'N[L!B#/&2.1&/7N#(V?6,Z.EY).'#$]0\TQDG4O/Q<:R[V:Y7Z:XZ_*V>7WR\J_8- M[?O%YTI;JX<]=,MR55WB<8Y0%[/"*NN6ES6'7=:]_%RHBR6'99ZK+Y1]O6%\ M//"P\,B@]_F\7^W^M@>\"Z\F5Z;T5]GD2 WK3H;]@D8*+PC/[B76T;H;=JXJ M]77=Z\R%%EOVP5'*RYNMLPYH_]0Q:I_5TB?:,$_.>K9V\6MP6VHY- MPUK@?(IF.$6;^JR4LVL\6L@Y+G;&A^E17D.+)RMCFP"7=C"4V:4@YJ)@3?53:H(ON>1+J2[XDC^^U(J:*)R60[X(/997O@@]ED>^"#V6 M3[X(/997O@@]ED>^"#V63[X(/997O@@]ED>^"#V6IW*ICX8K-ZE XG(4^"91 MX.5%595ZL;+J=I/JER]9=!8K09UQP>EZ46MLDP1D6G-\S0R? MN] 9VX) Q!1$:-N""*$"A H0*B #%? \.RAG+V(>(U6HYX=)N)GA/6?+7,?; M&7A@D3,R9/$^!H_XYZR U\1*I3<9OW\1)X27IR:$*[9S7_)O;A]*P^]?JI7: M1>50_[#_[+7D_LIR[VY/;LR?[6^T\.E3Y[82 M%@G69$U1)M[%>"ND7$BYD/)%I%Q+2[EV>W1/SNB/NXO[TI?J:;L?_#:NS-Y@ M%5)^6BY8O6ORM7<76.UFW_]\?_;G;C^L,RQ7I_0A$%(NI%Q(^7PI?]K+77[ MU[5&^;.B]6_.>_J^<:L=GM?+SW]_^@E2KC?OUNWOS]N/#^2=R6/DY M0)-#??6^(I?+DP7QWCXG[# +#SDX_/[HN!2F*NGL'7-]*-$'O4/L-I4LQ\NF MYDNN#BE7J,"VHE[58VF%6U'28;4AA5#D#D*)NW:)[?%U?"*F_17$[@.%P; F M%>@LN!+&GZ*\JMW.9_*IU/EY=-X?5/H70ZUC-:/> +*J+:DU@)!F(G?6+>.C?TMW^C=MSS+\K^/F\&H,[M721D6:N6J[8YR=WI-QR?M!/0_*MC[+%%- M6%8I3,0]EQ[W7'=IZ!5JP!RN/B]*$=-T_\&^(W MC()Y\UW]?C#@S8'JRS-QA)H0:B*/J\^9FEANU.,):D([NNO\/"C4[TO#+]U! MP:]]^U4X;?.F0Y,I44)-"#4AU,2V!%2>H"8*Y_M_S*^'^^K=5>_ZPCOJ7)YJ MY6\PM<:K]]H2(R9"3P@]D8D^6RIX1.C MW^%*C.>9=!U6Y-*591W9)I4+B MA<3OJ,0O)Q*RD,07VNIG_Z;>J!RIRO5IV?'Z%U=!F_<-5.5R;9DOB^1&XH6 M"P'?P!C&0@+>^-W_UKHJ_6?<%5J!_O/VX,?/TWML#-K 1L+:E!Y[0L"%@ L! MST/P83&;_5X[:9A?&U]+0?W'[V^?[XYNK@]0P/DK(JHR]TVPD19[R^[T-LO8 MCFO?\NOBD);:6[Q*VUAWP.5T"WS2TIZ_F"7WFCMPNEV3O7_D[=O& 0P/TDEM MW:3>H>GIEN,%+IUL,G=BU\K=N]-RJZC4XH3XFC5+6)V/5FB)@NP$@\6@;TL'1O4;'CS3'A^TL05]R.F;&)(8F37"G!: MX3QUQP-Y&G2H+9D^K@@FWF3M&OE4XN&&4H=X4I/BA39[<\]@"V.WXD1)UPEL M7])!738IS(9XC@T##4&; .FP<6=1^IIZ)G%IE--G8&_.:-2BM&]A^<5VAZ\_ M\%D+3U@W_KD(E7$.MN/C-'HPH*DCH0= >$D',A/3]H>R!) B;=9%%.P<( R_ MP3)I/UHZT)0_U*,C#P*:.HR)X=,&IF4!<> ^(N$Z71-F1ELMQ(5CIQ&#&X-2 M>^?%')2E%C 7.,.H8ANLAKT,Q/,"BWGQ-MVK%/%5.&X%^ M].G<.>^6;[[2WQ=9.[G'9Q]'C.""1W4TA+&=@T?M<3@!3IO4/6^=1T=P(0.\ MV"@N<3B=$=>]/?BJ'33V.Y7/I?O:[1>S0YIZX.32?L82D^U6-Z8<2* MPTD5S(<"M]?V/K/_W/ZIU@_UPR/CY.[>*)]VKJZ\1NWAVU3C-@/+PD8:62.P M#;]Z]=YETH4Z.+8@V7^DD)4C:C]6*7K'I*W4LI$I'N*B2^Y 5[FT;]*!E](W M9@)R5%,$D9#T6&X2SP3UY#MMRG1=6GV.$1?^8"/9.I6ZH/9!&^ V OK<[!$+ M-@#8''$2\90 ODU0ZU+'&>!O<(VCPT-1[<$>IU.NR\.ATL,7I^J\-3@"3^KH MD>I8HEN4N.B/=\8<(PT?LHR6)3.+("KUR*V.-:-:&N]#\G\C[5;BA(4Q>S"U MJK#-B\KLL38M\&XNI 4/WB/6@ R]*.;0*&I1S&$OCBUH3%>7BEKEM93ZC.28 MH"4VADY1;,3\"V\;;0\=??E(5YF0,;[3VU.5(G:B3K7'+BO%6F5)K!K;LM1R M8JH3J>.B@O[?]?G![)+6\Y3*-;/IP*! #P55;(Q3DJ41/J_FYKM'BFP>LG#3 M=QQW*'V&[]#:DK&%>S&NO;G^69Z=7Q]=2=?GTL'YV>'1V=71(7ZZ.O]Z?+A_ M#7]\/#[;/SLXWO\J75W#%Z='9]=7TIN;L_V;PV/X_:VTPK5,N'SS%O9FGQGP MGI0N?RYC;0X* X 6EKP.VNRP/Q 9K T+[%=N" _07?%\W#?>)E52Y^J^4=&= M)I'+MF2#ID?O Z#841_%8=)^/20_]NOT0?UQ5W@HF84K_ZQ^U-G/@?U:FVV_ MQHN2^*I6:+T>V])) )L]\F#4309[!G9UL&BQ;\N"1BLBS;L]^4B^.XW;K]72 M_;=+$NXVE5P>^?)Z,'OY4G MY*Q=N\PH&E[Y@%0V;6]?OP],\')CD[F:,ID[]S<7O=O?YTKIJG%2HWUK4+_^ MV08,%2>SUB3 A84\X<3'O<($;0#.=Q>_Q">R> )L/:3==L'_9B9;1+7(_X?; M_EI6:'X&BUM.NSKX?O;M\(BR;R^-J.QLB?R=60",:'S@>,!:4XW1J M7WX_&?S\I 2%H^"3TM+HA5Z]Z8*#HE:*DQ'[B-RR-.B8>B<,S("(F-TXB$!" MC8PQ']=!,QZY87K,B"Y*^^P7)G5:20XE+VOB[WNWYZT4L>\^_W?QG__3_GI' M]?W[WH_3_?MF[_G$9D2>D+U+V@4_ _;__0"H[8(2,I)K^#ZE3&7!R2^P>#[: M%X.[JEMX^.:UZ,6/.K ]IDY/ 8X_,P#M4GIL5,)71!2/QTAOP4V%FTDVFY M9%Y2./D9H9E8#1NFU[/($'^D[YZFDS&^&IFBHR;C[%.8TA..7#;,7U&$OY(+ M?V5%+LI+34K"],1MN=*HMTJJ88[3H_;?^H>_V\RUS@\ ME,R9:;9HUDCNCW%(Z" *0;-K+I,H]'D2A<[8?#ICH)\'=_T.;&XGL @? M#FJBVC6[# W\=.8@'1E,X'*%+E]R(,M$#2ZP'1:A[O5 .'$-U/+H -S$\$@+ M9O\M("X\ ^P6?I+ ;L='DP 6@;MM_ QO]!E\;+1/^'Z-P4BX;]^V [@X' T6 M\Q&4"BCCPA>V<>,^/8392)0UCSRD.K/.)4UA5I-6E,![02 R0O@.&Q,FZL/F MKX?$Y908B9%.C:5RWVG 3JI:8 .>(]5T'UY2Q\@P0!O>UBIRX&_I<7='J&BOM!V>$OF+_1J2[IL(OCF2E*A(_B%B+2HK!&V.X\:?\806BX<*'D!:#W3#RJY>?'_"R\;3E- MX''3Q=A64?HPE'10A>PDH^O@>73T()!B+-W3@WF"3PO*TD\J^8 (#B@_T<"Y M&V8;LR;@(I9VYS&5ISO>T .@ +5=QVY35Y8\@O+(3C;P41[5 Y0/D.41ZS#1 +>9MLL4*=%=Q_/8NF%$TWV$J&EY[G&?"W6OGB #J.TP:>;X M0?K9H">X[HS&[@5-R_2 _("$'W@Z90'C,1W#O ]XF)/OMS RSLUE*0FHM4"' M@65!PYVR171@X^%WZ<*T;0(F*9Z:X;SZIH&C@LJWF,;S4$#9NIV18;P0]>%D MT\=IH!'1NH4IN[@?L-.V](+Y'8 '1HI8+IBIP&D*FE^ZH\-1=*0(PO>MB#*T M;X+69MLAZE>9S]/A B:AH82;KJ*4P*+L=6.\3*B/C_4A(T<8"5+C"*%&(/A M 2,[\??"L$B:;%WR&U0&?\:X?&'^"-L/3%^"84SJ\MC8V'Q!"_6L(<@2S"59 M./"_"=MC!X3F;H3=J8=S>H .2);,AW1Z8 B ;,8Y)(F&,S&00:P"9BKE1P$P MT6(ZV05-;0?('3!E7#,R29CA%Q,N1:V0H!1X+W48>1(O2%"7XLM/$ MD#Y2&I&!G?Y$9T*2V<6]BA_DSV#1'-*&%P.RF[1#K!;/9@!(\)5W'<^/O!NP MM -^,\[7?,#;BYAC-!.:*D:,$*5X/S$?.('P,DUJN>C!3K.>% M =AX[P=<=DW79;:#FV@&-@$D&U#Z.]?=X8:7V@+#9=DLK!(PM1/M<;@PCE OM-M35)VF MT&&+00$#9R!PT6*11S0[,^I"Q? M,!QG?!/Q)E1@0B>;4L.3N&$4!EQSHNS:8*6Z_&R$JSNFY*;O!#%HNS")#@"/ MG:\PGXAY5B \'N=^%Q1+-^A*;?!M@,(T3)+Q8>>A1HQKEHR9OL1EFFC)F\$+ M?!3P <(##K0-ID:<\N:Z\,11AM5D"TZ"+#P2POW9D0A-Y)ZCRH@E(\SH6AM_ MGMP<_9*#.F]1LU'+D@4G1C803$$+\\F8 AYQ**?86N'6&49 9DIUVG1!^1N7 M[,32>>H6.=6&X9H>=_NIZD1.],GCVB,*WK"+V$;*4IC'% H["9FJ?%PT5SN8 M+FUPPYX9,&DBL-FP3-;X>(V9]T -CZ4WRG'&!XZ"6P:'X2&+AV('WW\"7RG 9 PMY"%#5CTP(AO MH,3%^3.F3[-598FEP["-%%.CD8.MZ4,1GT?,>)*]@SUO_!EC&B9Z,8;4'#XV MOSD3HP^1&4'222_R@>39.J6(47'N M<(9A&\]\>.F<1N%*N+0H8L6'[YB-1*+C(-0:8\LC.J-^V5 -Q\[W#S.4U%HD("3"Z3 M6)XS:ZUA<'(D-CA["A.QAX@XC!BP($Q@1 M-IWP42RH%CYK#K\]W/.89\\WKED1BF<&('CH(9I#"EL_*'N/KFUCG&?FW,)# MLW /AK]B6D2!1^Y@)USE$=F8/+%AFB/7-3L-PQ5,?2'],MTO'G22@>!^+1#M,=#<>VB(YQ-38FFJC)NRT<[_AG*I3' M0HTQSV'[0MWAH A6483$5L(18)F![H.DYR?F/II$PET-P_3BO-W$ M$XK.%*?[#CP4&%T+M$ND/*:'S5[BBS;2;J1E$7'I?F6P=W"F\ MFJ86.'WY:B);G1.6K] M^F[TU' TA5NPB]7VU&K% 9V4?9H:'P&(+_Q&>4O1WP6LW[+'W0Y\N_)1 MU+)_BR-C4VM\F>X(O08X(O(WI,%7S)'U\JQ;*PQW+( M%Z''\LD7K5B96R]7\&5=\J*),$PN^2+T6![Y(NRQ?/*E6E2%'LLA7X0>RR=? MA![+)U^$'LLG7X0>RR=?A![+)U]$?"R??!%Z+)]\T8IUP9<<\D7$QY;*ER=V MA'XT:VQM1,"LNHGW Y_8E4UW+/SRWU>55\]%:[6H:>.]RU;:.!WI\&@-YE&" MSGLI]IIE7Y_R[."C.#N8UW732G+4A+XY2LGE[(TKJE"]*-R>BR[UN>AZS#?- M&W@.V.OP.P6.Z+D',$;3->$YGS%O'!>*SR2V5YA*]95CJ5QL+)>< DN9*9H< M[&N58JV\3?O:E?FP-;O:TTDSJV"_V*]V3<=LS'Y5*:ISXXR;@"7A;&4*B5I1 M:VS3GH1O6VZ*\LEXZ;,VI!D;L<#.%.QH CNKP0XW:[8'.W\)X*P&.-SGWA[@ MO!; 6=5N5=JVW4I8.@([PM+).7:$I2. \X)HS?8 Y_740,Y8XD%I1EQLE*3E MF*8C:_Y;A(>>>6:1/GC/%Z(FJ8.?YU0S?G-LOYU&FYPJK;6>KB\G M>W6C16@YB:,[2)+52$Z>Y>2QMX=SICO6!9/YJ8IY/>C-LU"L/5EK0?.#YT?D MBO>[9GZ\3#J$,2&,"6%,K,B8F/^J1,/^S1O8RBB(]5>EWZZC/>_QZID)JY6+/"R,^1ZOJ6*_],5%]]A3&8N95" MU[8AK@\FCQ7I%*(D1&FC/)"542"W#L?**+!TN5BQ5;%!H<<5\GC)SH% >>XI M('3]TE\O$E;28KN!B+KFB^E",(1@Y%PPA#.P/2A?J3.P,4<'PAEX*@6>=WJ0 MM,?>^Y^N4]IJK1/O2>/ S X(\K7 O[(Z*%C]LN89+&JQ,A?5Z;7T7,KJB,$U M4KTFEVM*U@I[M;390)W'SPRV4C*4;1&-6DUNE%4A&FN)"VV?:'!C?CM$HR%7 MU,862$:>Y8"?&VP'7I1,U:B6.ZOYM1 "L1D\X\74[1#N:E6N-;3-W@YR$NT4 M2,\UTLLUN:Z5!=(%TK?P)8#)=/_/M86_<2\)G%+B!2[M M@J;?GJS_#9XQO?2$^V4A0D)P4MS MBTMEN=3(/(E@^\.# K7K3 JKREHM\S"W .TF@'9C[6BE)M<484AO4IV;I1G2 MF2:T;HDAO0W9Z5=!KV<-X5J#QB5MEIFGOL8"T*N-@N=O[1Z3R*;.!6"$M&2>'2 K6DE(BY 6 MX2H]+BV:7*UL^-:2>T-MYOL+6XBG;/.M=]=5VKB7)ZX=GUB2RULI9'?6-,)I M#3AM.$'3HGG8;[*KD+3F12Y%#U0J!/ER"1"_<9YRGNV> M\(QA"[&B9)]\E6.],5X_Z6^?P,R6$.OY'7B^V1JFUSK&$/Y+?,JB3H5R^G2F M!?\#ZDU%]PKFSXB)TYPMDOAYS_1A!'VR'=&K]^<]ZA(?V"T=/?2H[5%O)4M@ M7YDVD-/?TZJ3 $FMZ3QP)2>>)0UG*>F.[9F>+SDMR>]0J>58EC/ *W3BT[;C MFM3;R\T:_C%G,^75^P.'KR,\22K^\[?Y7N*&P]A/T:H]J>>:\#A8"OZJ._A5 MRW6ZT84%KP._ C6(ZQ*[S0I\>=+ ]#N2 _3L$=>WJ>O)4L\B?LMQNU('QL ; M6I3"UP;QB<2-'#ZZ+'E.RQ\0ETK$-B0':.Y*/M4[MF,Y[6',%SG\B4_),%VJ M^S!)XGF.;@)G##X)-KYIMUSB^6Z@^X%+938P,-IS;)M:T6--6[<"U$>21RR" M;)6EIF,'[%F>[^AWA2;Q8%S=Z>(46(,2-E23VK1EXA@SIX'(\8)>SW%]=HM! M+1/T*R,JTBE>N8P"E88U]:CD]1$0::5-^GA2V M$=0MA55^QW0-AL^A!$@V'-?C@ M\#SBBP]W4AO53RN -9.R;.HZ/%Q'0 3KC MK@-<[%!B%*7S\%.(2"_0.P #Q!ZPD\\@!>-Q2+I(!O9\70] +>I#20?):@-- MF"C$#^0+@\'P63IL#GY1FDM2O#W\P^ 3T@/7I88,W^H4>.H[#)[ ?KS/[Q"? M3YZO@SU]#,TQ6M,/9#?>!P""%C $]"3()NDQ5/QARYMH M+;!9Q9?"GU.'Y[/AG(=K3!M7#N' M3RR=@:WE X#'UJETU:'4]XK2P6)S8!3I@B2S"X%Z!@6;"ND3H2S\E7VQ*5)[ M12Q$-]Q^1U$_!KP D6:[T"-Z G1#U_0\ MU*P+*XT8G<.5+EN[#SK"8$(#PHX6@,^?[;O$@!VNXPR\:$HI^L[4046)F^2&V7__ M#_P3 52W*''1X^B\&[64-81RZ&^42J]7<%*KU"-7(A8D54O-FOW[?^G))V9[ M00>&NWN1ZY-:58?;QBKS@MJTT'0IN2N0%CQXCU@#,O3"5=8:12WRJO9B[TEC MHETJ:I774NHSDF."EEWR4$A1+'2Z"A9M^7OA;=%WS*^,OW0\$S&RYU*P2GJH4F>J!/\.%E95BK;(D5HUZ543JN+3U[ZO_79\?S/9+;)1# M:\0O";]Z]?X:O4#41; YX!:8.";D_0+P'*7N-*+E7_E_ @WG@C)@,FX 'T%/ MNVS^:84_^ZJ%E7QBE8RI=]RFZ0/5 QQ.EEJFC5I&EBS:)I8L=0(@$2A*;IIY M*==@?"+=GN4,P;4H2HM,-ZTA42VV*--8Z)TQ9HEWDXC=$9RJ7[3WAM$R[ M3V'K<"7.;J;JXIDA*0++'[4>XR>#W<"=332O)"+U@B;P@FT^Q!ZF]RZNM^%Z M_ T(RNCE!I':=VD[B!_>Z\$@#,_A]<1&8\R"I?.=@T@WQ:LB3 @4,-/U: 5V MT'.3PP>QI7##ACW0Y.J>/0FW6)R2 W-MA\_L!:X7H/T5VI'39Q9ZSU='!Y'C M%NV>"4F2)9M .9<# (@SH):%_V4F>X&;[!-S)3J8?ESX-L93.L:-!@ 4D2 M M;.._,2PB"7W0=U3JPG =8)Z-QO!)8%/8!V1)+:EE1OKT-]H,9]Z@35^"'3I@ M# YW>;9K,_N)2\ T1S9 "PI\)P0#6MB3@ >SNIB]])#H+:2&> MP_7 '4UN>'O<9QC ]\SM\F'F>"_LG-1]?$RVT/2PH=( X00["13 ]:,C-$&/ M>\D8,)FK\X^7X$\$B."T.'$6HR:#'^R@"U8.< &#<6KIW5<3L&=$4PK="'AL MJ*WP*D5]=XCT/D\DI\CN5MYM"%C/F=2"C(*]S;RK-%HG?IR!N9C40'B;:Z3H MJP(R YD$T*8^<9D+0$/[LDW,4+=:CH>Z MGMN+"3VQ(S)=%H!NT.9KN^"A4P M:H,T1QXS&O<$%, FP!1@& *%V?WS=W-EH=NIT=KT'!>*16]NX/D =T'7]!)- M=ZFE(2)+0 M%^/'4>"'6:3GT;WH0WK^.+?0;4%K7N=>P*BCE#JN"KVD24?4=Z.GAJ,I?*4+ MOF52+9;GEF],^1^I\=&*:@$8(BI%?[,COCWN5@Z "(^Z\RA..>!-O_,4'F>K< V_!B!4Q B1"$XS( 2.48F5N/5;!B!4QHE1L MB#TB#XP0FW5.&/%8=II@Q,I4T_SJXX(1*V)$I5B>VWI&,$*HIMUB1%DX=/E@ MA%+4YC8T%(P0JFFW&"&LIIPPHEI4A6K* R.$:LH)(X1JR@DCA&K*"2.$:LH) M(X1JR@DCJL62D(@\,$*HIIPP0BMJ0C7E@1$BUI0M(YY:-/>Q$]+5K;KZA%6' MD-,="[_\]U7EU7/A5RU6)FKLKK2:,BY[7B&9=X\DKO(LR8GL2)[OJY7DJ.!, M82N4)XCT7;>IST?:8B[AV,!VP M5TP$6)ZOB9Z-C4JQNEQ%++"1.T7R_&VK4JQ-5#S=J&UK:DJ_V+1RN6G5E]M6 M02BFC=VTRL7-@\9N>DC/9G&M6)UHR;!1.PV^(I:=T.$UV--@H' MV1H* @J;#05A)V09/MA@+ @[(<-8P0;CX/74,,+8X71IAHL^2L)R3,.11?Z] M8\&)Y\K1_->$LI>CV4(R34#*+PCJ:\L/+SPF I/\.;8Y.:X[3N 1 MV_#>;FY7B_GX?FDP?CEIE%LHXX^]'+N%2\X7TE>RY,=>^-S")3^6[K:52\X3 ML+=4A<^P6;*V4,K%QMQ23\)"R:M;EY$3NX.VR&,O3VSADO.ELE?4/&[^"P%; MN.3-M46>%R5)5R;5=4I;K64NOCZ^]DO>B2NS",B4Y:PQNC:QW&P:WF)ER?PM M=($>CT]L\%BIR/5&*5,-7EDUXA<6]Q5V0F],E_LM%)1<+C1[0=$TN5;.O&VN M$)1Z+O&3N:#PP&+^%IJYH*BJK)0S;1LLY"2*6.X ?)1:UGY&_H@V@JS70D;$ M7O*L#-C<+33[O:11E:LU=;,WDPD(3(F0"\ +P#/ 5ZJRIM4%X'<>\*7=,/?* M)<"[\*J7T ?="CQLP\N:D *_L<%HU&R==+&MZ!_^!3:V@W^QISOQJ84-.RUG M\'83DCV7MTL^UA8KGZ*L5F6EE*VIO]RZ/^4;L\N?^E(PVU"V,?UA MQ4&;C<3LTG.%'\'LHBA]4V]L4MI9_C"Z]'3AK!A=RI3/>4G261F?=Q#:&ZQ^ MEU[3<"DF0T65:VJV^38"LP*SR\5L25;*FL#LKF)VR6GHRW'-Y$HMTU2"G8/L MTA/3EZ.KA 6\H6GJ%ZYC!+HO&;1/+:?7I;:_S)3U#=7%,_+2-TU,M89<+V6; M)2C2SF>GG6\JV->RFNS!KLB--'2HF=OGNPX-(2#;MQG,S'?=-'&O566UE'FT6X!=@#V'8*^6Y')#O/DF MP/ZD4LZLD2?'='?7@2 MR[K6 P\F15W)"WH]Q\TN,K^A6GP3,ZS+9;E>S?887V18;Q)F-_ X5U/DBB;. M\7KY+?+._U-+A&ZJ4MR0/6]7D4E7D88L\[%W(PU8:+SY_6-^:-&PE4S6X169^_M.P#^<5OLXN()^CVN991^>W MK=:](IUQDNO4S4WY]%,H?:'903K9X:PACF5NF E1%;FB9=\,4F!>8SR_F ME;I6'\+<.\)JLU46X_@P#^EN%"R=0OW%878/-R[R,<2%4V_+&M M.UTJM5RG*SD]ZK*(OR=R\+$(L.\$ MV-6&7"^+_&,!]LW*M5_8>%,4N5$J"WM^^Q/L%X9$N23L^4U-JC^V?>I2SY?H M0X_:7G:%;394,6]B&7-5$S7,10WS30)L610PW]'BC>LN8+ZXG9N]C;M3&%UW MP?*%&5W-W'C=*3[O(+0W6/UN9KWG M1ET8N)M?EJ;!;H$+*LJ8)DTS(AY"/Z?)1 MD54EVVQ*(1^[)Q\SLLNW0#[J-9%ZOK+4\RW BW!9MC1U?7J%F"9M.2X-#TPD MGSS0[*K$;.A>L(D)[8HJU^LED=,NR=4\&9F"JN*7%=$=KO [ 9A5BO+E8K [,YB=D,2W!55 MKF5Y:]H'>363T1F:Y'\?AVLRKD.0K6"_2W%_^9IU<+F7;_U"D MO(N4]URL-OO7IN62)LINBER2W4I_?W:3T5KFC>1V758V,!G^N1$1D64B$N/% M9B02?S-1)S59J6<>7Q6R(F1E_:O-7%8:_ Z]5Q M7(F7^ M"8A927>F;71F-BME_HSZ8:)\=JM420T"/8-L"'YQOY!?S"9EM%UJK9 MMUG=*8R7#S M"WBU(I>4S!.6!."W ?"E+;',E)*LU45KJ2RB[UN AAVRTUEP_&^?P%26#\I) M&*:/(%KP/R#$=&0:9O_]/_!/-)1N4>(B[3OA\V+2XG-#RI=*K[.3M12P=(KM M6:.%*O54$)^O6BVG9LW^_;_TY)-5%W3'2N M0%KPX#UB#C",D@Z24BEKEM93ZC.28H&67/!12% OA5[!H MR]\+;XN^8R(5?^EXIF\Z(&C4(K[9ISCZR+B,,;[3VU.5(AYO=.'/<&%EI5BK M+(E5HP@D4L>EK7]?_>_Z_&"JEL3/(+-NEUA\I &?8OC5J_?7*!Z2TY(.X%?@ MO1=#DRP"SU'J3B-:Y@C]'7B^V1KRKTP;1,W?TZKCI+GN4*GE6)8S -Y*3 E( M'O4]^-+U.Y(3N+AB U_],? 3.PLD/OQQ2;W @@N!)N<]ZA)<$;M-\F%,KT=U MLV7"=?";Z1B>1.#_\ ^4'$ SWH>CN[1/[8"&-SH>C6\ ?>RAE!E[C,!K(M ( M6$;UC*).W5<756@AL4-]P#<'T 46Z7ET+_J0GC_.+10=1)3.D3@JK*G-(Y34 M267HN]%3P]$4OM+%#D6"$6JS-K3$D&+$B M1H"),?>\6S!"J*;=8@2H)B$1>6"$4BPW!"-RP(B:,%_SP0AA->6$$<)JR@DC M0#4)/N2 #\)HRI813TR_?S3"E.N3,]VQ\,M_7U5>/1=^Y>)$ZN,Z7U@9/>L( M'](<>4@8+F\ZEL&"RBZETBG\T/&D(]N@AG02V)2_%J:5Y.C]L&8VAVOS#>N5 M@"4:]@#FW'1-&.8SM?H4UX%#$MLK3*7R!/%6#S:UV)@XG-PHM%V9#T_$VF[J M(_6Y$%% Q&H;#1&UA,>Q&:F;^<9R]D?U0CE46)+WVP8:%F8$>M^0_^2)UQD@&9^R+.&] ME=!?RC";G\J7N)YK20#5LC$G(C:NM&3O4R@$;CN54W* MQ L""B\Y4Q.H%SN!V E&#G.$2.1S(\A[+' DI[=65".^AFG*!?[5R)H.',_' MI.HHH?H-?="MP#/[+-7:H,!2W619VA*Q#8ET'5CE'_Z%UW$&\"_M$9?XU!I* M36HY@[>9V4.;A_E:UKO 2O&=L:X7BGT+(*UFKL4W%=+K/2]W<8E3$ MM87:W:ZX=H8MF45<>]G+_41MZA*+)WX87=,V/=]EKQZ+D%[Z^#'#UJXBZK&+ MRES(0G[#'B*\+<+;0M$+12_"VR.BD.U)3]ZPLV7A[<-Y:=S9V2]K;@&<.<@S MS^9>-X5$>&;%%KV0B,>T_I9*Q,X$U=?-P)Q#7"C]'5+ZW+H7 K%).G^70OIQ MKZDJ&__8UITNE5JNTY6/"&B/8],_\[R5*4M;-Z#73;2=/-$XHWYXCK&D>*T& M?#2 MA:+&H#ES?+HG75!7I[9/VO"<+AE*MN-+7M"5C(!*OB.QF0/?BME,E>1,MEXK: MZ$2K\4352C7Y,7J<9SX\-DVU49U)!3<[K99'?3:&5'DM&30] K\\/8CTD5(O@M*C MU-%2 )B@SGPD3*/-?,S-IDSIQ90I+TJ9W.!W'R;5YQ6;I_.F4:R,LD9=!W#; M,",?\$,,I\F4QJ'':>HX/P2]W42F+P MX=WTP?3B!I\VT#5J\@F_.GY'&IA^Q^0UTIW ]TR#L@?>V&!N \9\P+JW.)[F M$Y0!JC:F8%5EBP!U%?1ZUK# R#@%4.HXH-:R]283BJ;(K*:>1?R6XW83A"S. M]_GK9AOK^+Y:RXCM?QMF__T_\$_$?MVBQ$6WL1,R*O8*D4=AK*%4>KT4_Q@= M&.I&"%'JJ1,4CA"UDIHU^_?_TI-/?+2"#EN$NQ?YKZE5=;B/H3)7MDT+32#S M78&TX,%[Q!J0H1=%#QI%+7*-]V(76&.8!>L9C*?49R3'!"V[Y*&0HECH.1[.N1]PO M/Y2(30WY7>T