0001558370-24-007053.txt : 20240507 0001558370-24-007053.hdr.sgml : 20240507 20240507161558 ACCESSION NUMBER: 0001558370-24-007053 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 73 CONFORMED PERIOD OF REPORT: 20240331 FILED AS OF DATE: 20240507 DATE AS OF CHANGE: 20240507 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: 24922111 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-20240331x10q.htm 10-Q
0001819928--12-312024Q1false00New YorkP1Y10001819928us-gaap:CommonStockMember2024-01-012024-03-310001819928us-gaap:CommonStockMember2023-01-012023-03-310001819928us-gaap:RetainedEarningsMember2024-03-310001819928us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember2024-03-310001819928us-gaap:AdditionalPaidInCapitalMember2024-03-310001819928us-gaap:RetainedEarningsMember2023-12-310001819928us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember2023-12-310001819928us-gaap:AdditionalPaidInCapitalMember2023-12-310001819928us-gaap:RetainedEarningsMember2023-03-310001819928us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember2023-03-310001819928us-gaap:AdditionalPaidInCapitalMember2023-03-310001819928us-gaap:RetainedEarningsMember2022-12-310001819928us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember2022-12-310001819928us-gaap:AdditionalPaidInCapitalMember2022-12-310001819928us-gaap:TreasuryStockCommonMember2024-03-310001819928us-gaap:CommonStockMember2024-03-310001819928us-gaap:TreasuryStockCommonMember2023-12-310001819928us-gaap:CommonStockMember2023-12-310001819928us-gaap:TreasuryStockCommonMember2023-03-310001819928us-gaap:CommonStockMember2023-03-310001819928us-gaap:TreasuryStockCommonMember2022-12-310001819928us-gaap:CommonStockMember2022-12-3100018199282023-01-012023-12-310001819928dvh:PerformanceAndMarketBasedSharesMember2024-03-310001819928dvh:EquityIncentiveProgramMember2024-01-012024-03-310001819928us-gaap:RestrictedStockUnitsRSUMember2024-03-310001819928us-gaap:PerformanceSharesMember2024-03-310001819928us-gaap:RestrictedStockUnitsRSUMember2023-12-310001819928us-gaap:PerformanceSharesMember2023-12-310001819928dvh:PerformanceAndMarketBasedSharesMember2024-01-012024-03-310001819928us-gaap:RestrictedStockUnitsRSUMember2024-01-012024-03-310001819928us-gaap:EmployeeStockOptionMember2024-01-012024-03-310001819928us-gaap:PerformanceSharesMember2024-01-012024-03-310001819928srt:MinimumMember2024-04-012024-03-310001819928srt:MaximumMember2024-04-012024-03-310001819928dvh:SupplySideCustomerMember2024-01-012024-03-310001819928dvh:MeasurementMember2024-01-012024-03-310001819928dvh:ActivationMember2024-01-012024-03-310001819928dvh:SupplySideCustomerMember2023-01-012023-03-310001819928dvh:MeasurementMember2023-01-012023-03-310001819928dvh:ActivationMember2023-01-012023-03-310001819928us-gaap:SoftwareAndSoftwareDevelopmentCostsMember2024-03-310001819928us-gaap:LeaseholdImprovementsMember2024-03-310001819928us-gaap:FurnitureAndFixturesMember2024-03-310001819928us-gaap:SoftwareAndSoftwareDevelopmentCostsMember2023-12-310001819928us-gaap:LeaseholdImprovementsMember2023-12-310001819928us-gaap:FurnitureAndFixturesMember2023-12-310001819928us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember2024-01-012024-03-310001819928us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember2023-01-012023-03-310001819928us-gaap:RetainedEarningsMember2024-01-012024-03-310001819928us-gaap:RetainedEarningsMember2023-01-012023-03-310001819928us-gaap:RevolvingCreditFacilityMember2024-03-310001819928us-gaap:RevolvingCreditFacilityMember2023-12-310001819928us-gaap:LetterOfCreditMember2020-10-010001819928srt:MinimumMember2020-10-012020-10-010001819928srt:MaximumMember2020-10-012020-10-010001819928us-gaap:USTreasurySecuritiesMember2024-03-310001819928us-gaap:PropertyPlantAndEquipmentMember2024-01-012024-03-310001819928us-gaap:PropertyPlantAndEquipmentMember2023-01-012023-03-310001819928us-gaap:TrademarksAndTradeNamesMember2024-03-310001819928us-gaap:NoncompeteAgreementsMember2024-03-310001819928us-gaap:DevelopedTechnologyRightsMember2024-03-310001819928us-gaap:CustomerRelationshipsMember2024-03-310001819928us-gaap:TrademarksAndTradeNamesMember2023-12-310001819928us-gaap:NoncompeteAgreementsMember2023-12-310001819928us-gaap:DevelopedTechnologyRightsMember2023-12-310001819928us-gaap:CustomerRelationshipsMember2023-12-310001819928us-gaap:ComputerEquipmentMember2024-03-310001819928us-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-03-310001819928dvh:MoneyMarketFundsAndTimeDepositsMemberus-gaap:FairValueInputsLevel1Member2024-03-310001819928us-gaap:FairValueMeasurementsRecurringMember2024-03-310001819928us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2023-12-310001819928dvh:MoneyMarketFundsAndTimeDepositsMemberus-gaap:FairValueInputsLevel1Member2023-12-310001819928us-gaap:FairValueMeasurementsRecurringMember2023-12-3100018199282023-03-310001819928dvh:DoubleverifyInc.Member2017-08-180001819928srt:MaximumMemberdvh:EmployeeStockPurchasePlan2021Member2024-01-012024-03-310001819928us-gaap:SellingAndMarketingExpenseMember2024-01-012024-03-310001819928us-gaap:ResearchAndDevelopmentExpenseMember2024-01-012024-03-310001819928us-gaap:GeneralAndAdministrativeExpenseMember2024-01-012024-03-310001819928srt:MaximumMemberdvh:EmployeeStockPurchasePlan2021Member2023-01-012023-03-310001819928us-gaap:SellingAndMarketingExpenseMember2023-01-012023-03-310001819928us-gaap:ResearchAndDevelopmentExpenseMember2023-01-012023-03-310001819928us-gaap:GeneralAndAdministrativeExpenseMember2023-01-012023-03-310001819928us-gaap:AdditionalPaidInCapitalMember2024-01-012024-03-310001819928us-gaap:AdditionalPaidInCapitalMember2023-01-012023-03-310001819928us-gaap:TreasuryStockCommonMember2024-01-012024-03-310001819928us-gaap:TreasuryStockCommonMember2023-01-012023-03-310001819928dvh:SupplySideCustomerMember2024-03-3100018199282023-01-012023-03-3100018199282024-03-3100018199282023-12-3100018199282024-04-2900018199282024-01-012024-03-31xbrli: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 March 31, 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 April 29, 2024, there were 171,796,441 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 March 31, 2024

TABLE OF CONTENTS

0

`

    

    

    

    

 

Part I

FINANCIAL INFORMATION (Unaudited)

    

    

Page

Item 1.

Condensed Consolidated Financial Statements

4

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

4

Condensed Consolidated Statements of Operations and Comprehensive Income for the three months ended March 31, 2024 and 2023

5

Condensed Consolidated Statements of Stockholders’ Equity for the three months ended March 31, 2024 and 2023

6

Condensed Consolidated Statements of Cash Flows for the three months ended March 31, 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

21

Item 3.

Quantitative and Qualitative Disclosures about Market Risk

29

Item 4.

Controls and Procedures

29

Part II

OTHER INFORMATION

Item 1.

Legal Proceedings

30

Item 1A.

Risk Factors

30

Item 2.

Unregistered Sales of Equity Securities and Use of Proceeds

30

Item 3.

Defaults Upon Senior Securities

30

Item 4.

Mine Safety Disclosures

30

Item 5.

Other Information

30

Item 6.

Exhibits

31

Signatures

32

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)

March 31, 2024

December 31, 2023

Assets:

 

  

 

  

Current assets

 

  

 

  

Cash and cash equivalents

$

302,017

$

310,131

Short-term investments

32,312

Trade receivables, net of allowances for doubtful accounts of $9,580 and $9,442 as of March 31, 2024 and December 31, 2023, respectively

195,638

206,941

Prepaid expenses and other current assets

 

20,356

 

15,930

Total current assets

 

550,323

 

533,002

Property, plant and equipment, net

 

60,851

 

58,020

Operating lease right-of-use assets, net

64,910

60,470

Goodwill

 

432,865

 

436,008

Intangible assets, net

 

132,815

 

140,883

Deferred tax assets

 

16,619

 

13,077

Other non-current assets

 

1,810

 

1,571

Total assets

$

1,260,193

$

1,243,031

Liabilities and Stockholders' Equity:

 

Current liabilities

 

Trade payables

$

12,761

$

12,932

Accrued expenses

 

34,218

 

44,264

Operating lease liabilities, current

9,844

9,029

Income tax liabilities

 

6,064

 

5,833

Current portion of finance lease obligations

 

2,640

 

2,934

Other current liabilities

 

9,841

 

8,863

Total current liabilities

 

75,368

 

83,855

Operating lease liabilities, non-current

75,124

71,563

Finance lease obligations

 

2,344

 

2,865

Deferred tax liabilities

 

7,514

 

8,119

Other non-current liabilities

 

2,752

 

2,690

Total liabilities

163,102

169,092

Commitments and contingencies (Note 14)

 

Stockholders’ equity

 

Common stock, $0.001 par value, 1,000,000 shares authorized, 171,756 shares issued and 171,724 outstanding as of March 31, 2024; 1,000,000 shares authorized, 171,168 shares issued and 171,146 outstanding as of December 31, 2023

172

171

Additional paid-in capital

899,354

878,331

Treasury stock, at cost, 32 shares and 22 shares as of March 31, 2024 and December 31, 2023, respectively

(1,146)

(743)

Retained earnings

 

206,139

 

198,983

Accumulated other comprehensive loss, net of income taxes

 

(7,428)

 

(2,803)

Total stockholders’ equity

 

1,097,091

 

1,073,939

Total liabilities and stockholders' equity

$

1,260,193

$

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 March 31, 

(in thousands, except per share data)

    

2024

    

2023

Revenue

$

140,782

$

122,594

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

 

26,618

23,952

Product development

 

36,394

28,555

Sales, marketing and customer support

 

37,872

25,712

General and administrative

 

22,075

20,188

Depreciation and amortization

 

10,928

8,983

Income from operations

 

6,895

 

15,204

Interest expense

 

232

256

Other income, net

 

(2,272)

(2,734)

Income before income taxes

 

8,935

17,682

Income tax expense

 

1,779

5,507

Net income

$

7,156

$

12,175

Earnings per share:

 

Basic

$

0.04

$

0.07

Diluted

$

0.04

$

0.07

Weighted-average common stock outstanding:

 

 

Basic

 

171,306

165,631

Diluted

 

176,124

171,657

Comprehensive income:

 

Net income

$

7,156

$

12,175

Other comprehensive (loss) income:

 

Foreign currency cumulative translation adjustment

 

(4,625)

 

1,193

Total comprehensive income

$

2,531

$

13,368

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

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

See accompanying Notes to unaudited Condensed Consolidated Financial Statements.

6

DoubleVerify Holdings, Inc.

CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS

(UNAUDITED)

Three Months Ended

March 31, 

(in thousands)

    

2024

    

2023

Operating activities:

 

  

 

  

Net income

$

7,156

$

12,175

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

 

Bad debt expense

 

907

 

1,285

Depreciation and amortization expense

 

10,928

 

8,983

Amortization of debt issuance costs

 

74

 

74

Non-cash lease expense

1,569

1,658

Deferred taxes

 

(3,963)

 

(5,382)

Stock-based compensation expense

 

20,241

 

11,813

Interest expense, net

 

64

 

Other

677

(2)

Changes in operating assets and liabilities

 

Trade receivables

 

9,626

 

(8,052)

Prepaid expenses and other assets

 

(5,218)

 

(6,874)

Trade payables

 

55

 

3,700

Accrued expenses and other liabilities

 

(10,342)

 

2,048

Net cash provided by operating activities

 

31,774

 

21,426

Investing activities:

 

 

Purchase of property, plant and equipment

 

(6,393)

 

(4,099)

Purchase of short-term investments

(32,211)

Net cash used in investing activities

 

(38,604)

 

(4,099)

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

1,695

1,766

Finance lease payments

(815)

(513)

Shares repurchased for settlement of employee tax withholdings

(1,792)

(787)

Net cash (used in) provided by financing activities

 

(912)

 

466

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

 

(377)

 

131

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

 

(8,119)

 

17,924

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

 

310,257

 

267,938

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

$

302,138

$

285,862

Cash and cash equivalents

$

302,017

$

285,738

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

 

121

 

124

Total cash and cash equivalents and restricted cash

$

302,138

$

285,862

Supplemental cash flow information:

 

 

Cash paid for taxes

$

1,324

$

1,708

Cash paid for interest

$

74

$

266

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

$

6,207

$

1,415

Capital assets financed by accounts payable and accrued expenses

$

45

$

378

Stock-based compensation included in capitalized software development costs

$

471

$

179

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 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 March 31, 2024 and December 31, 2023, the Condensed Consolidated Statements of Operations and Comprehensive Income for the three months ended March 31, 2024 and 2023, the Condensed Consolidated Statements of Stockholders’ Equity for the three months ended March 31, 2024 and 2023, and the Condensed Consolidated Statements of Cash Flows for the three months ended March 31, 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

March 31, 

(in thousands)

    

2024

    

2023

Activation

$

79,322

$

69,892

Measurement

 

49,275

 

41,385

Supply-side customer

 

12,185

 

11,317

Total revenue

$

140,782

$

122,594

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

Remaining Performance Obligations

As of March 31, 2024, the Company had $13.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 $12.2 million, or 8.7% of the Company’s total revenue as of March 31, 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 artificial intelligence (“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 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 March 31, 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 March 31, 2024:

(in thousands)

    

    

Goodwill at December 31, 2023

$

436,008

Foreign exchange impact

(3,143)

Goodwill at March 31, 2024

$

432,865

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

(in thousands)

March 31, 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,351)

$

6,382

$

11,734

$

(5,140)

$

6,594

Customer relationships

 

160,687

(66,462)

 

94,225

 

161,173

 

(62,955)

 

98,218

Developed technology

 

92,443

(60,235)

 

32,208

 

93,013

 

(56,942)

 

36,071

Non-compete agreements

65

(65)

66

(66)

Total intangible assets

$

264,928

$

(132,113)

$

132,815

$

265,986

$

(125,103)

$

140,883

Amortization expense related to intangible assets for the three months ended March 31, 2024 and March 31, 2023 was $7.3 million and $6.2 million, respectively.

Estimated future expected amortization expense of intangible assets as of March 31, 2024 is as follows:

(in thousands)

    

    

2024 (for remaining nine months)

$

21,417

2025

26,751

2026

21,997

2027

18,081

2028

14,928

2029

12,577

Thereafter

 

17,064

Total

$

132,815

11

Table of Contents

DoubleVerify Holdings, Inc.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)

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

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

    

(In years)

Trademarks and brands

 

8

Customer relationships

 

7

Developed technology

2

There were no impairments of Goodwill or Intangible assets identified during the three months ended March 31, 2024 and March 31, 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)

March 31, 2024

December 31, 2023

Computers and peripheral equipment

    

$

25,982

    

$

25,013

Office furniture and equipment

 

3,334

 

3,170

Leasehold improvements

 

33,153

 

32,595

Capitalized software development costs

 

39,708

 

35,039

Less accumulated depreciation and amortization

 

(41,326)

 

(37,797)

Total property, plant and equipment, net

$

60,851

$

58,020

For the three months ended March 31, 2024 and March 31, 2023, total depreciation expense was $3.6 million and $2.7 million, respectively.

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

There were no impairments of Property, plant and equipment identified during the three months ended March 31, 2024 and March 31, 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 months ended March 31, 2024 and 2023, respectively.

    

Three Months Ended March 31, 

(in thousands)

2024

2023

Lease cost:

Operating lease cost (1)

$

2,637

$

2,587

Finance lease cost:

Depreciation of finance lease assets (2)

619

217

Interest on finance lease liabilities (3)

64

23

Short-term lease cost (1)

317

246

Sublease income (1)

(267)

Total lease cost

$

3,637

$

2,806

 

 

Other information:

Cash paid for amounts included in the measurement of lease liabilities

Operating cash outflows from operating leases

$

2,516

$

1,336

Operating cash outflows from finance leases

$

74

$

23

Financing cash outflows from finance leases

$

815

$

513

(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 March 31, 2024 and 2023, respectively:

    

March 31, 

2024

 

2023

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

 

12.9

13.9

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

 

2.1

1.4

Weighted-average discount rate - operating leases

4.7%

4.5%

Weighted-average discount rate - finance leases

 

5.4%

3.7%

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 March 31, 2024 were as follows:

    

March 31, 2024

(in thousands)

Operating Leases

Finance Leases

2024 (for remaining nine months)

$

7,802

$

2,325

2025

 

9,410

 

2,150

2026

 

8,140

 

819

2027

 

7,586

 

2028

 

7,731

 

2029

8,154

Thereafter

67,157

Total lease payments

 

115,980

 

5,294

Less amount representing interest

 

(31,012)

 

(310)

Present value of total lease payments

$

84,968

$

4,984

There were no impairments of Operating lease right-of-use assets identified during the three months ended March 31, 2024 and March 31, 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 March 31, 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

$

50,083

$

$

$

50,083

Short-term investments

$

32,312

$

$

$

32,312

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

 

Cash equivalents consisted of treasury bills with original maturities at the date of purchase of three months or less and money market funds of $50.1 million and $61.5 million as of March 31, 2024 and December 31, 2023, respectively.

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

14

Table of Contents

DoubleVerify Holdings, Inc.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)

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

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

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 March 31, 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 March 31, 2024.

As of March 31, 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 months ended March 31, 2024, the Company recorded an income tax provision of $1.8 million, resulting in an effective tax rate of 19.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, which represent a rate impact of (10.9%). During the three months ended March 31, 2023, the Company recorded an income tax provision of $5.5 million, resulting in an effective tax rate of 31.1%.

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 months ended March 31, 2024 and March 31, 2023:

Three Months Ended

March 31, 

2024

2023

Numerator:

    

  

    

  

Net Income (basic and diluted)

$

7,156

$

12,175

Denominator:

 

 

Weighted-average common shares outstanding

 

171,306

 

165,631

Dilutive effect of share-based awards

 

4,818

 

6,026

Weighted-average dilutive shares outstanding

 

176,124

 

171,657

Basic earnings per share

$

0.04

$

0.07

Diluted earnings per share

$

0.04

$

0.07

Approximately 6.2 million and 7.1 million weighted average shares issuable under stock-based awards were not included in the diluted EPS calculation in the three months ended March 31, 2024 and March 31, 2023, respectively, because they were antidilutive.

16

Table of Contents

DoubleVerify Holdings, Inc.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)

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

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 three months ended March 31, 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

 

(194)

8.78

Options forfeited

 

(23)

28.49

Outstanding as of March 31, 2024

 

9,775

$

17.15

6.67

$

176,726

Options expected to vest as of March 31, 2024

 

2,744

$

25.70

8.07

$

26,257

Options exercisable as of March 31, 2024

 

6,906

$

13.58

6.08

$

149,377

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 three months ended March 31, 2024. During the three months ended March 31, 2024, there were no stock options exercised and 1,373 market-based and performance-based stock options remain outstanding as of March 31, 2024.

The total intrinsic value of options exercised during the three months ended March 31, 2024 and March 31, 2023 was $5.1 million and $12.8 million, respectively.

The Company’s board of directors (the “Board”) did not declare or pay dividends on any Company stock during the three months ended March 31, 2024 and March 31, 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.

17

Table of Contents

DoubleVerify Holdings, Inc.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)

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

A summary of RSUs activity as of and for the three months ended March 31, 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,387

33.88

Vested

 

(435)

27.13

Forfeited

 

(65)

28.48

Outstanding as of March 31, 2024

 

6,607

$

30.20

The total grant date fair value of RSUs that vested during the three months ended March 31, 2024 was $11.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 three months ended March 31, 2024 is as follows:

PSUs

Weighted 

Average Grant 

Number of 

Date Fair 

    

Shares

    

Value

Outstanding as of December 31, 2023

480

$

41.31

Granted

186

41.28

Vested

Forfeited

Outstanding as of March 31, 2024

 

666

$

41.30

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

March 31, 

(in thousands)

 

2024

 

2023

Product development

$

7,373

$

4,379

Sales, marketing and customer support

 

5,936

 

3,507

General and administrative

 

6,932

 

3,927

Total stock-based compensation

$

20,241

$

11,813

18

Table of Contents

DoubleVerify Holdings, Inc.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)

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

As of March 31, 2024, unrecognized stock-based compensation expense was $217.7 million, which is expected to be recognized over a weighted-average period of 1.5 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 December 1, 2023 and will end on May 31, 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.2 million for the three months ended March 31, 2024 and March 31, 2023, respectively.

13.   Supplemental Financial Statement Information

Accrued Expenses

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

    

As of

(in thousands)

March 31, 2024

    

December 31, 2023

Vendor payments

$

7,506

$

6,286

Employee commissions and bonuses

 

9,793

 

20,809

Payroll and other employee related expense

 

11,526

 

10,602

401k and pension expense

 

1,026

 

2,982

Other taxes

 

4,367

 

3,585

Total accrued expenses

$

34,218

$

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

March 31, 

(in thousands)

 

2024

 

2023

Interest income

$

(3,279)

$

(2,756)

Foreign currency exchange loss

 

978

 

20

Other miscellaneous expense, net

 

29

 

2

Other income, net

$

(2,272)

$

(2,734)

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

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

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 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 March 31, 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.

21

For each of the three months ended March 31, 2024 and March 31, 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 each of the three months ended March 31, 2024 and March 31, 2023, we generated 9% of our revenue from supply-side customers who use our data analytics to validate the quality of their ad inventory and provide data to their customers to facilitate targeting and purchasing of digital ads, which we refer to as Supply-side revenue. 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 March 31, 

Change

Change

2024

     

2023

     

$

     

%

(In Thousands)

    

Revenue by customer type:

  

  

Activation

$

79,322

$

69,892

$

9,430

13

%

Measurement

 

49,275

 

41,385

 

7,890

19

Supply-side customer

 

12,185

 

11,317

 

868

8

Total revenue

$

140,782

  

$

122,594

$

18,188

15

%

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.

22

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 March 31, 2024 and March 31, 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 Months Ended March 31, 2024 and March 31, 2023

The following table shows our Condensed Consolidated Results of Operations:

Three Months Ended March 31, 

Change

Change

2024

     

2023

     

$

     

%

    

(In Thousands)

Revenue

$

140,782

$

122,594

$

18,188

15

%

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

 

26,618

 

23,952

 

2,666

11

Product development

 

36,394

 

28,555

 

7,839

27

Sales, marketing and customer support

 

37,872

 

25,712

 

12,160

47

General and administrative

 

22,075

 

20,188

 

1,887

9

Depreciation and amortization

 

10,928

 

8,983

 

1,945

22

Income from operations

 

6,895

 

15,204

 

(8,309)

(55)

Interest expense

 

232

 

256

 

(24)

(9)

Other income, net

 

(2,272)

 

(2,734)

 

(462)

(17)

Income before income taxes

 

8,935

 

17,682

 

(8,747)

(49)

Income tax expense

 

1,779

 

5,507

 

(3,728)

(68)

Net income

$

7,156

$

12,175

$

(5,019)

(41)

%

23

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 March 31, 

2024

    

2023

Revenue

100

%  

100

%  

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

19

 

20

 

Product development

26

 

23

 

Sales, marketing and customer support

27

 

21

 

General and administrative

16

 

16

 

Depreciation and amortization

8

 

7

 

Income from operations

5

 

12

 

Interest expense

 

 

Other income, net

(2)

 

(2)

 

Income before income taxes

6

 

14

 

Income tax expense

1

 

4

 

Net income

5

%  

10

%  

Note: Percentages may not sum due to rounding.

Revenue

Total revenue increased by $18.2 million, or 15%, from $122.6 million in the three months ended March 31, 2023 to $140.8 million in the three months ended March 31, 2024.

Total Advertiser revenue increased by $17.3 million, or 16%, in the three months ended March 31, 2024 as compared to the three months ended March 31, 2023, driven primarily by an 18% increase in Media Transactions Measured, partially offset by a 2% decrease in Measured Transaction Fees.

Activation revenue increased by $9.4 million, or 13%, in the three months ended March 31, 2024 as compared to the three months ended March 31, 2023, driven primarily by greater adoption of our Authentic Brand Suitability (ABS) solution as well as our core (non-ABS) programmatic solutions, including Scibids Technology SAS (“Scibids”).

Measurement revenue increased $7.9 million, or 19%, in the three months ended March 31, 2024 as compared to the three months ended March 31, 2023, driven primarily by the increased adoption of our social measurement solutions by existing and new customers both within and outside the United States.

Supply-side revenue increased $0.9 million, or 8%, in the three months ended March 31, 2024 as compared to the three months ended March 31, 2023, driven primarily by increased revenue from platform customers.

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

Cost of revenue increased by $2.7 million, or 11%, from $24.0 million in the three months ended March 31, 2023 to $26.6 million in the three months ended March 31, 2024. The increase was primarily due to growth in our Activation revenue which drove increases in partner costs from revenue-sharing arrangements, as well as continued investments in cloud services to provide scale and flexibility necessary to support future growth.

Product Development Expenses

Product development expenses increased by $7.8 million, or 27%, from $28.6 million in the three months ended March 31, 2023 to $36.4 million in the three months ended March 31, 2024. The increase was primarily due to an increase in personnel costs, including stock-based compensation, of $6.3 million, and an increase in third-party software costs and professional fees of $1.2 million primarily to support product development efforts.

24

Sales, Marketing and Customer Support Expenses

Sales, marketing and customer support expenses increased by $12.2 million, or 47%, from $25.7 million in the three months ended March 31, 2023 to $37.9 million in the three months ended March 31, 2024. The increase was primarily due to an increase in personnel costs, including stock-based compensation and sales commissions, of $9.7 million, an increase in marketing activities, including advertising, promotions, events and other activities of $0.2 million, and an increase in personnel travel and entertainment expenses to support marketing and sales activities of $0.8 million.

General and Administrative Expenses

General and administrative expenses increased by $1.9 million, or 9%, from $20.2 million in the three months ended March 31, 2023 to $22.1 million in the three months ended March 31, 2024. The increase was primarily due to an increase in personnel costs, including stock-based compensation, of $2.7 million, partially offset by a reduction in general corporate insurance costs of $0.7 million.

Depreciation and Amortization

Depreciation and amortization increased by $1.9 million, or 22%, from $9.0 million in the three months ended March 31, 2023, to $10.9 million in the three months ended March 31, 2024. The increase was primarily due to an increase in intangible assets related to the acquisition of Scibids.

Interest Expense

Interest expense decreased by less than $0.1 million, from $0.3 million in the three months ended March 31, 2023 to $0.2 million in the three months ended March 31, 2024.

Other Income, Net

Other income, net decreased by $0.5 million, from income of $2.7 million in the three months ended March 31, 2023 to income of $2.3 million in the three months ended March 31, 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 decreased by $3.7 million from a $5.5 million expense in the three months ended March 31, 2023 to a $1.8 million expense in the three months ended March 31, 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.

25

Three Months Ended March 31, 

2024

    

2023

(In Thousands)

Net income

$

7,156

$

12,175

Net income margin

5%

10%

Depreciation and amortization

 

10,928

 

8,983

Stock-based compensation

 

20,241

 

11,813

Interest expense

 

232

 

256

Income tax expense

 

1,779

 

5,507

M&A and restructuring costs (a)

 

11

Offering and secondary offering costs (b)

 

58

187

Other recoveries (c)

 

(267)

Other income (d)

 

(2,272)

 

(2,734)

Adjusted EBITDA

$

38,133

$

35,920

Adjusted EBITDA margin

27%

 

29%

(a)M&A and restructuring costs for the three months ended March 31, 2024 consist of transaction costs related to the acquisition of Scibids.
(b)Offering and secondary offering costs for the three months ended March 31, 2024 and March 31, 2023 consist of third-party costs incurred for underwritten secondary public offerings by certain stockholders of the Company.
(c)Other recoveries for the three months ended March 31, 2023 consist of sublease income for leased office space.
(d)Other income for the three months ended March 31, 2024 and March 31, 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 March 31, 2024, we had cash and cash equivalents of $302.0 million and net working capital, consisting of current assets (excluding cash) less current liabilities, of $172.9 million.

26

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 March 31, 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 March 31, 2024, there was no outstanding debt under the New Revolving Credit Facility.

Cash Flows

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

    

Three Months Ended March 31, 

2024

2023

    

(In Thousands)

Cash flows provided by operating activities

$

31,774

$

21,426

Cash flows used in investing activities

 

(38,604)

 

(4,099)

Cash flows (used in) provided by financing activities

 

(912)

 

466

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

 

(377)

 

131

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

$

(8,119)

$

17,924

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 three months ended March 31, 2024, cash provided by operating activities was $31.8 million, attributable to net income of $7.2 million, adjusted for non-cash charges of $30.5 million and $5.9 million use of cash from changes in operating assets and liabilities. Non-cash charges primarily consisted of $10.9 million in depreciation and amortization and $20.2 million in stock-based compensation, offset by $4.0 million in deferred taxes. The main drivers of the changes in operating assets and liabilities were a $4.4 million decrease in trade receivables, prepaid assets and other assets, and a $10.3 million decrease in trade payables, accrued expenses and other liabilities primarily related to the timing of payments for accrued expenses.

For the three months ended March 31, 2023, cash provided by operating activities was $21.4 million, attributable to net income of $12.2 million, adjusted for non-cash charges of $18.4 million and $9.2 million use of cash from changes in operating assets and liabilities. Non-cash charges primarily consisted of $9.0 million in depreciation and amortization and $11.8 million in stock-based compensation. The main drivers of the changes in operating assets and liabilities were a $14.9 million increase in trade receivables, prepaid assets and other assets due mainly to an increase in sales and the timing of collections, and a $5.7 million increase in trade payables and accrued expenses primarily related to the timing of vendor payments.

27

Investing Activities

For the three months ended March 31, 2024, cash used in investing activities was $38.6 million, including $32.2 million attributable to investments in short-term financial instruments and $6.4 million attributable to purchases of property, plant and equipment, and capitalized software development costs. For the three months ended March 31, 2023, cash used in investing activities of $4.1 million was attributable to purchases of property, plant and equipment, and capitalized software development costs.

Financing Activities

For the three months ended March 31, 2024, cash used in financing activities of $0.9 million was primarily due to $1.7 million proceeds from common stock issued upon exercise of stock options, offset by $1.8 million related to shares repurchased for settlement of employee tax withholding and $0.8 million related to finance lease payments. For the three months ended March 31, 2023, cash provided by financing activities of $0.5 million was primarily due to $1.8 million proceeds from common stock issued upon exercise of stock options, offset by $0.8 million of shares repurchased for settlement of employee tax withholding and by $0.5 million of finance lease payments.

Critical Accounting Policies and Estimates

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

Some of the judgments that management makes in applying its accounting estimates in these areas are discussed in Note 2 to our audited Consolidated Financial Statements appearing in our 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.

28

Item 3: Quantitative and Qualitative Disclosures about Market Risk

Market risks at March 31, 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 March 31, 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 March 31, 2024.

Changes in Internal Control over Financial Reporting

There have been no changes in our internal control over financial reporting during the quarter ended March 31, 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.

29

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

Not applicable.

Item 3. Defaults Upon Senior Securities

Not applicable.

Item 4. Mine Safety Disclosures

Not applicable.

Item 5. Other Information

Not applicable.

30

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.

31

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: May 7, 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)

32

EX-31.1 2 dv-20240331xex31d1.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:

May 7, 2024

/s/ Mark Zagorski

Mark Zagorski

Chief Executive Officer

(Principal Executive Officer)


EX-31.2 3 dv-20240331xex31d2.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:

May 7, 2024

/s/ Nicola Allais

Nicola Allais

Chief Financial Officer

(Principal Financial Officer)


EX-32.1 4 dv-20240331xex32d1.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 March 31, 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:

May 7, 2024

/s/ Mark Zagorski

Mark Zagorski

Chief Executive Officer

(Principal Executive Officer)


EX-32.2 5 dv-20240331xex32d2.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 March 31, 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:

May 7, 2024

/s/ Nicola Allais

Nicola Allais

Chief Financial Officer

(Principal Financial Officer)


EX-101.SCH 6 dv-20240331.xsd EX-101.SCH 99900 - Disclosure - Standard And Custom Axis Domain Defaults link:presentationLink link:calculationLink link:definitionLink 00100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (UNAUDITED) link:presentationLink link:calculationLink link:definitionLink 00200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME (UNAUDITED) link:presentationLink link:calculationLink link:definitionLink 00400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (UNAUDITED) link:presentationLink link:calculationLink link:definitionLink 00405 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (UNAUDITED) link:presentationLink link:calculationLink link:definitionLink 40502 - Disclosure - Goodwill and Intangible Assets - Summary of Company's intangible assets (Details) link:presentationLink link:calculationLink link:definitionLink 40503 - Disclosure - Goodwill and Intangible Assets - Estimated future expected amortization expense (Details) link:presentationLink link:calculationLink link:definitionLink 40601 - Disclosure - Property, Plant and Equipment, net (Details) link:presentationLink link:calculationLink link:definitionLink 40603 - Disclosure - Leases - Maturities of Operating Lease Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 40701 - Disclosure - Leases - Leases Cost (Details) link:presentationLink link:calculationLink link:definitionLink 40704 - 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 41301 - Disclosure - Supplemental Financial Statement Information (Details) link:presentationLink link:calculationLink link:definitionLink 00300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (UNAUDITED) link:presentationLink link:calculationLink link:definitionLink 30703 - Disclosure - Leases (Tables) link:presentationLink link:calculationLink link:definitionLink 31203 - Disclosure - Stock-Based Compensation (Tables) link:presentationLink link:calculationLink link:definitionLink 40101 - Disclosure - Description of Business (Details) link:presentationLink link:calculationLink link:definitionLink 40301 - Disclosure - Revenue (Details) link:presentationLink link:calculationLink link:definitionLink 40301 - Disclosure - Revenue Default (Details) link:presentationLink link:calculationLink link:definitionLink 40501 - Disclosure - Goodwill and Intangible Assets - Goodwill (Details) link:presentationLink link:calculationLink link:definitionLink 40504 - Disclosure - Goodwill and Intangible Assets - Weighted-average remaining useful life (Details) link:presentationLink link:calculationLink link:definitionLink 40801 - Disclosure - Fair Value Measurement - Fair value on a recurring basis (Details) link:presentationLink link:calculationLink link:definitionLink 40802 - Disclosure - Fair Value Measurement - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 40901 - Disclosure - Long-term Debt (Details) link:presentationLink link:calculationLink link:definitionLink 41001 - Disclosure - Income Tax (Details) link:presentationLink link:calculationLink link:definitionLink 41201 - Disclosure - Stock-Based Compensation (Details) link:presentationLink link:calculationLink link:definitionLink 41203 - Disclosure - Stock-Based Compensation - Additional information (Details) link:presentationLink link:calculationLink link:definitionLink 41204 - Disclosure - Stock-Based Compensation - RSUs and PSUs (Details) link:presentationLink link:calculationLink link:definitionLink 41205 - Disclosure - Stock-Based Compensation - Valuation Assumptions (Details) link:presentationLink link:calculationLink link:definitionLink 41206 - Disclosure - Stock-Based Compensation - Stock-based compensation expense (Details) link:presentationLink link:calculationLink link:definitionLink 00090 - Document - Document and Entity Information link:presentationLink link:calculationLink link:definitionLink 00105 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (UNAUDITED) (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 10101 - Disclosure - Description of Business link:presentationLink link:calculationLink link:definitionLink 10201 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies link:presentationLink link:calculationLink link:definitionLink 10301 - Disclosure - Revenue link:presentationLink link:calculationLink link:definitionLink 10401 - Disclosure - Business Combinations link:presentationLink link:calculationLink link:definitionLink 10501 - Disclosure - Goodwill and Intangible Assets link:presentationLink link:calculationLink link:definitionLink 10601 - Disclosure - Property, Plant and Equipment link:presentationLink link:calculationLink link:definitionLink 10701 - Disclosure - Leases link:presentationLink link:calculationLink link:definitionLink 10801 - Disclosure - Fair Value Measurement link:presentationLink link:calculationLink link:definitionLink 10901 - Disclosure - Long-term Debt link:presentationLink link:calculationLink link:definitionLink 11001 - Disclosure - Income Tax link:presentationLink link:calculationLink link:definitionLink 11101 - Disclosure - Earnings Per Share link:presentationLink link:calculationLink link:definitionLink 11201 - Disclosure - Stock-Based Compensation link:presentationLink link:calculationLink link:definitionLink 11301 - Disclosure - Supplemental Financial Statement Information link:presentationLink link:calculationLink link:definitionLink 11401 - Disclosure - Commitments and Contingencies link:presentationLink link:calculationLink link:definitionLink 11501 - Disclosure - Segment Information link:presentationLink link:calculationLink link:definitionLink 20202 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies (Policies) link:presentationLink link:calculationLink link:definitionLink 30303 - Disclosure - Revenue (Tables) link:presentationLink link:calculationLink link:definitionLink 30503 - Disclosure - Goodwill and Intangible Assets (Tables) link:presentationLink link:calculationLink link:definitionLink 30603 - Disclosure - Property, Plant and Equipment, net (Tables) link:presentationLink link:calculationLink link:definitionLink 30803 - Disclosure - Fair Value Measurement (Tables) link:presentationLink link:calculationLink link:definitionLink 31103 - Disclosure - Earnings Per Share (Tables) link:presentationLink link:calculationLink link:definitionLink 31303 - Disclosure - Supplemental Financial Statement Information (Tables) link:presentationLink link:calculationLink link:definitionLink 40702 - Disclosure - Leases - Weighted-average remaining lease terms and discount rates (Details) link:presentationLink link:calculationLink link:definitionLink 40703 - Disclosure - Leases - Maturities of Operating Lease Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 41101 - Disclosure - Earnings Per Share (Details) link:presentationLink link:calculationLink link:definitionLink 41202 - Disclosure - Stock-Based Compensation - Stock option activity (Details) link:presentationLink link:calculationLink link:definitionLink 41501 - Disclosure - Segment Information (Details) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 7 dv-20240331_cal.xml EX-101.CAL EX-101.DEF 8 dv-20240331_def.xml EX-101.DEF EX-101.LAB 9 dv-20240331_lab.xml EX-101.LAB EX-101.PRE 10 dv-20240331_pre.xml EX-101.PRE XML 12 R1.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Document and Entity Information - shares
3 Months Ended
Mar. 31, 2024
Apr. 29, 2024
Document and Entity Information [Abstract]    
Document Type 10-Q  
Document Quarterly Report true  
Document Period End Date Mar. 31, 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   171,796,441
Entity Central Index Key 0001819928  
Current Fiscal Year End Date --12-31  
Document Fiscal Year Focus 2024  
Document Fiscal Period Focus Q1  
Amendment Flag false  
XML 13 R2.htm IDEA: XBRL DOCUMENT v3.24.1.u1
CONDENSED CONSOLIDATED BALANCE SHEETS (UNAUDITED) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Current assets    
Cash and cash equivalents $ 302,017 $ 310,131
Short-term investments 32,312  
Trade receivables, net of allowances for doubtful accounts of $9,580 and $9,442 as of March 31, 2024 and December 31, 2023, respectively 195,638 206,941
Prepaid expenses and other current assets 20,356 15,930
Total current assets 550,323 533,002
Property, plant and equipment, net 60,851 58,020
Operating lease right-of-use assets, net 64,910 60,470
Goodwill 432,865 436,008
Intangible assets, net 132,815 140,883
Deferred tax assets 16,619 13,077
Other non-current assets 1,810 1,571
Total assets 1,260,193 1,243,031
Current liabilities    
Trade payables 12,761 12,932
Accrued expenses 34,218 44,264
Operating lease liabilities, current 9,844 9,029
Income tax liabilities 6,064 5,833
Current portion of finance lease obligations 2,640 2,934
Other current liabilities 9,841 8,863
Total current liabilities 75,368 83,855
Operating lease liabilities, non-current 75,124 71,563
Finance lease obligations 2,344 2,865
Deferred tax liabilities 7,514 8,119
Other non-current liabilities 2,752 2,690
Total liabilities 163,102 169,092
Commitments and contingencies (Note 14)
Stockholders' equity    
Common stock, $0.001 par value, 1,000,000 shares authorized, 171,756 shares issued and 171,724 outstanding as of March 31, 2024; 1,000,000 shares authorized, 171,168 shares issued and 171,146 outstanding as of December 31, 2023 172 171
Additional paid-in capital 899,354 878,331
Treasury stock, at cost, 32 shares and 22 shares as of March 31, 2024 and December 31, 2023, respectively (1,146) (743)
Retained earnings 206,139 198,983
Accumulated other comprehensive loss, net of income taxes (7,428) (2,803)
Total stockholders' equity 1,097,091 1,073,939
Total liabilities and stockholders' equity $ 1,260,193 $ 1,243,031
XML 14 R3.htm IDEA: XBRL DOCUMENT v3.24.1.u1
CONDENSED CONSOLIDATED BALANCE SHEETS (UNAUDITED) (Parenthetical) - USD ($)
shares in Thousands, $ in Thousands
Mar. 31, 2024
Dec. 31, 2023
CONDENSED CONSOLIDATED BALANCE SHEETS (UNAUDITED)    
Trade receivables, net of allowances $ 9,580 $ 9,442
Common stock, par value $ 0.001 $ 0.001
Common stock, shares authorized 1,000,000 1,000,000
Common stock, shares issued 171,756 171,168
Common stock, shares outstanding 171,724 171,146
Treasury stock, shares 32 22
XML 15 R4.htm IDEA: XBRL DOCUMENT v3.24.1.u1
CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME (UNAUDITED) - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME (UNAUDITED)    
Revenue $ 140,782 $ 122,594
Cost of revenue (exclusive of depreciation and amortization shown separately below) 26,618 23,952
Product development 36,394 28,555
Sales, marketing and customer support 37,872 25,712
General and administrative 22,075 20,188
Depreciation and amortization 10,928 8,983
Income from operations 6,895 15,204
Interest expense 232 256
Other income, net (2,272) (2,734)
Income before income taxes 8,935 17,682
Income tax expense 1,779 5,507
Net income $ 7,156 $ 12,175
Earnings per share:    
Basic $ 0.04 $ 0.07
Diluted $ 0.04 $ 0.07
Weighted-average common stock outstanding:    
Basic 171,306 165,631
Diluted 176,124 171,657
Comprehensive income:    
Net income $ 7,156 $ 12,175
Other comprehensive (loss) income:    
Foreign currency cumulative translation adjustment (4,625) 1,193
Total comprehensive income $ 2,531 $ 13,368
XML 16 R5.htm IDEA: XBRL DOCUMENT v3.24.1.u1
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, 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         194
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        
XML 17 R6.htm IDEA: XBRL DOCUMENT v3.24.1.u1
CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (UNAUDITED) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Operating activities:    
Net income $ 7,156 $ 12,175
Adjustments to reconcile net income to net cash provided by operating activities    
Bad debt expense 907 1,285
Depreciation and amortization expense 10,928 8,983
Amortization of debt issuance costs 74 74
Non-cash lease expense 1,569 1,658
Deferred taxes (3,963) (5,382)
Stock-based compensation expense 20,241 11,813
Interest expense, net 64  
Other 677 (2)
Changes in operating assets and liabilities    
Trade receivables 9,626 (8,052)
Prepaid expenses and other assets (5,218) (6,874)
Trade payables 55 3,700
Accrued expenses and other liabilities (10,342) 2,048
Net cash provided by operating activities 31,774 21,426
Investing activities:    
Purchase of property, plant and equipment (6,393) (4,099)
Purchase of short-term investments (32,211)  
Net cash used in investing activities (38,604) (4,099)
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 1,695 1,766
Finance lease payments (815) (513)
Shares repurchased for settlement of employee tax withholdings (1,792) (787)
Net cash (used in) provided by financing activities (912) 466
Effect of exchange rate changes on cash and cash equivalents and restricted cash (377) 131
Net (decrease) increase in cash, cash equivalents, and restricted cash (8,119) 17,924
Cash, cash equivalents, and restricted cash - Beginning of period 310,257 267,938
Cash, cash equivalents, and restricted cash - End of period 302,138 285,862
Supplemental cash flow information:    
Cash paid for taxes 1,324 1,708
Cash paid for interest 74 266
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 6,207 1,415
Capital assets financed by accounts payable and accrued expenses 45 378
Stock-based compensation included in capitalized software development costs $ 471 $ 179
XML 18 R7.htm IDEA: XBRL DOCUMENT v3.24.1.u1
CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (UNAUDITED) - USD ($)
$ in Thousands
Mar. 31, 2024
Mar. 31, 2023
CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (UNAUDITED)    
Cash and cash equivalents $ 302,017 $ 285,738
Restricted cash (included in prepaid expenses and other current assets on the Condensed Consolidated Balance Sheets) 121 124
Total cash and cash equivalents and restricted cash $ 302,138 $ 285,862
XML 19 R8.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Description of Business
3 Months Ended
Mar. 31, 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 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.1.u1
Basis of Presentation and Summary of Significant Accounting Policies
3 Months Ended
Mar. 31, 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 March 31, 2024 and December 31, 2023, the Condensed Consolidated Statements of Operations and Comprehensive Income for the three months ended March 31, 2024 and 2023, the Condensed Consolidated Statements of Stockholders’ Equity for the three months ended March 31, 2024 and 2023, and the Condensed Consolidated Statements of Cash Flows for the three months ended March 31, 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.1.u1
Revenue
3 Months Ended
Mar. 31, 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

March 31, 

(in thousands)

    

2024

    

2023

Activation

$

79,322

$

69,892

Measurement

 

49,275

 

41,385

Supply-side customer

 

12,185

 

11,317

Total revenue

$

140,782

$

122,594

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

Remaining Performance Obligations

As of March 31, 2024, the Company had $13.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 $12.2 million, or 8.7% of the Company’s total revenue as of March 31, 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.1.u1
Business Combinations
3 Months Ended
Mar. 31, 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 artificial intelligence (“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 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 March 31, 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.1.u1
Goodwill and Intangible Assets
3 Months Ended
Mar. 31, 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 March 31, 2024:

(in thousands)

    

    

Goodwill at December 31, 2023

$

436,008

Foreign exchange impact

(3,143)

Goodwill at March 31, 2024

$

432,865

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

(in thousands)

March 31, 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,351)

$

6,382

$

11,734

$

(5,140)

$

6,594

Customer relationships

 

160,687

(66,462)

 

94,225

 

161,173

 

(62,955)

 

98,218

Developed technology

 

92,443

(60,235)

 

32,208

 

93,013

 

(56,942)

 

36,071

Non-compete agreements

65

(65)

66

(66)

Total intangible assets

$

264,928

$

(132,113)

$

132,815

$

265,986

$

(125,103)

$

140,883

Amortization expense related to intangible assets for the three months ended March 31, 2024 and March 31, 2023 was $7.3 million and $6.2 million, respectively.

Estimated future expected amortization expense of intangible assets as of March 31, 2024 is as follows:

(in thousands)

    

    

2024 (for remaining nine months)

$

21,417

2025

26,751

2026

21,997

2027

18,081

2028

14,928

2029

12,577

Thereafter

 

17,064

Total

$

132,815

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

    

(In years)

Trademarks and brands

 

8

Customer relationships

 

7

Developed technology

2

There were no impairments of Goodwill or Intangible assets identified during the three months ended March 31, 2024 and March 31, 2023.

XML 24 R13.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Property, Plant and Equipment
3 Months Ended
Mar. 31, 2024
Property, Plant and Equipment, net  
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)

March 31, 2024

December 31, 2023

Computers and peripheral equipment

    

$

25,982

    

$

25,013

Office furniture and equipment

 

3,334

 

3,170

Leasehold improvements

 

33,153

 

32,595

Capitalized software development costs

 

39,708

 

35,039

Less accumulated depreciation and amortization

 

(41,326)

 

(37,797)

Total property, plant and equipment, net

$

60,851

$

58,020

For the three months ended March 31, 2024 and March 31, 2023, total depreciation expense was $3.6 million and $2.7 million, respectively.

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

There were no impairments of Property, plant and equipment identified during the three months ended March 31, 2024 and March 31, 2023.

XML 25 R14.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Leases
3 Months Ended
Mar. 31, 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 months ended March 31, 2024 and 2023, respectively.

    

Three Months Ended March 31, 

(in thousands)

2024

2023

Lease cost:

Operating lease cost (1)

$

2,637

$

2,587

Finance lease cost:

Depreciation of finance lease assets (2)

619

217

Interest on finance lease liabilities (3)

64

23

Short-term lease cost (1)

317

246

Sublease income (1)

(267)

Total lease cost

$

3,637

$

2,806

 

 

Other information:

Cash paid for amounts included in the measurement of lease liabilities

Operating cash outflows from operating leases

$

2,516

$

1,336

Operating cash outflows from finance leases

$

74

$

23

Financing cash outflows from finance leases

$

815

$

513

(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 March 31, 2024 and 2023, respectively:

    

March 31, 

2024

 

2023

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

 

12.9

13.9

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

 

2.1

1.4

Weighted-average discount rate - operating leases

4.7%

4.5%

Weighted-average discount rate - finance leases

 

5.4%

3.7%

Maturities of lease liabilities as of March 31, 2024 were as follows:

    

March 31, 2024

(in thousands)

Operating Leases

Finance Leases

2024 (for remaining nine months)

$

7,802

$

2,325

2025

 

9,410

 

2,150

2026

 

8,140

 

819

2027

 

7,586

 

2028

 

7,731

 

2029

8,154

Thereafter

67,157

Total lease payments

 

115,980

 

5,294

Less amount representing interest

 

(31,012)

 

(310)

Present value of total lease payments

$

84,968

$

4,984

XML 26 R15.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Fair Value Measurement
3 Months Ended
Mar. 31, 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 March 31, 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

$

50,083

$

$

$

50,083

Short-term investments

$

32,312

$

$

$

32,312

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

 

Cash equivalents consisted of treasury bills with original maturities at the date of purchase of three months or less and money market funds of $50.1 million and $61.5 million as of March 31, 2024 and December 31, 2023, respectively.

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

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

XML 27 R16.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Long-term Debt
3 Months Ended
Mar. 31, 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 March 31, 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 March 31, 2024.

As of March 31, 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.1.u1
Income Tax
3 Months Ended
Mar. 31, 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 months ended March 31, 2024, the Company recorded an income tax provision of $1.8 million, resulting in an effective tax rate of 19.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, which represent a rate impact of (10.9%). During the three months ended March 31, 2023, the Company recorded an income tax provision of $5.5 million, resulting in an effective tax rate of 31.1%.

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.1.u1
Earnings Per Share
3 Months Ended
Mar. 31, 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 months ended March 31, 2024 and March 31, 2023:

Three Months Ended

March 31, 

2024

2023

Numerator:

    

  

    

  

Net Income (basic and diluted)

$

7,156

$

12,175

Denominator:

 

 

Weighted-average common shares outstanding

 

171,306

 

165,631

Dilutive effect of share-based awards

 

4,818

 

6,026

Weighted-average dilutive shares outstanding

 

176,124

 

171,657

Basic earnings per share

$

0.04

$

0.07

Diluted earnings per share

$

0.04

$

0.07

Approximately 6.2 million and 7.1 million weighted average shares issuable under stock-based awards were not included in the diluted EPS calculation in the three months ended March 31, 2024 and March 31, 2023, respectively, because they were antidilutive.

XML 30 R19.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Stock-Based Compensation
3 Months Ended
Mar. 31, 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 three months ended March 31, 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

 

(194)

8.78

Options forfeited

 

(23)

28.49

Outstanding as of March 31, 2024

 

9,775

$

17.15

6.67

$

176,726

Options expected to vest as of March 31, 2024

 

2,744

$

25.70

8.07

$

26,257

Options exercisable as of March 31, 2024

 

6,906

$

13.58

6.08

$

149,377

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 three months ended March 31, 2024. During the three months ended March 31, 2024, there were no stock options exercised and 1,373 market-based and performance-based stock options remain outstanding as of March 31, 2024.

The total intrinsic value of options exercised during the three months ended March 31, 2024 and March 31, 2023 was $5.1 million and $12.8 million, respectively.

The Company’s board of directors (the “Board”) did not declare or pay dividends on any Company stock during the three months ended March 31, 2024 and March 31, 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 three months ended March 31, 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,387

33.88

Vested

 

(435)

27.13

Forfeited

 

(65)

28.48

Outstanding as of March 31, 2024

 

6,607

$

30.20

The total grant date fair value of RSUs that vested during the three months ended March 31, 2024 was $11.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 three months ended March 31, 2024 is as follows:

PSUs

Weighted 

Average Grant 

Number of 

Date Fair 

    

Shares

    

Value

Outstanding as of December 31, 2023

480

$

41.31

Granted

186

41.28

Vested

Forfeited

Outstanding as of March 31, 2024

 

666

$

41.30

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

March 31, 

(in thousands)

 

2024

 

2023

Product development

$

7,373

$

4,379

Sales, marketing and customer support

 

5,936

 

3,507

General and administrative

 

6,932

 

3,927

Total stock-based compensation

$

20,241

$

11,813

As of March 31, 2024, unrecognized stock-based compensation expense was $217.7 million, which is expected to be recognized over a weighted-average period of 1.5 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 December 1, 2023 and will end on May 31, 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.2 million for the three months ended March 31, 2024 and March 31, 2023, respectively.

XML 31 R20.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Supplemental Financial Statement Information
3 Months Ended
Mar. 31, 2024
Supplemental Financial Statement Information  
Supplemental Financial Statement Information

13.   Supplemental Financial Statement Information

Accrued Expenses

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

    

As of

(in thousands)

March 31, 2024

    

December 31, 2023

Vendor payments

$

7,506

$

6,286

Employee commissions and bonuses

 

9,793

 

20,809

Payroll and other employee related expense

 

11,526

 

10,602

401k and pension expense

 

1,026

 

2,982

Other taxes

 

4,367

 

3,585

Total accrued expenses

$

34,218

$

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

March 31, 

(in thousands)

 

2024

 

2023

Interest income

$

(3,279)

$

(2,756)

Foreign currency exchange loss

 

978

 

20

Other miscellaneous expense, net

 

29

 

2

Other income, net

$

(2,272)

$

(2,734)

XML 32 R21.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Commitments and Contingencies
3 Months Ended
Mar. 31, 2024
Commitments and Contingencies.  
Commitments and Contingencies

14.   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 33 R22.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Segment Information
3 Months Ended
Mar. 31, 2024
Segment Information  
Segment Information

15.    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 34 R23.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Basis of Presentation and Summary of Significant Accounting Policies (Policies)
3 Months Ended
Mar. 31, 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 March 31, 2024 and December 31, 2023, the Condensed Consolidated Statements of Operations and Comprehensive Income for the three months ended March 31, 2024 and 2023, the Condensed Consolidated Statements of Stockholders’ Equity for the three months ended March 31, 2024 and 2023, and the Condensed Consolidated Statements of Cash Flows for the three months ended March 31, 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 35 R24.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Revenue (Tables)
3 Months Ended
Mar. 31, 2024
Revenue  
Schedule of disaggregated revenue

Three Months Ended

March 31, 

(in thousands)

    

2024

    

2023

Activation

$

79,322

$

69,892

Measurement

 

49,275

 

41,385

Supply-side customer

 

12,185

 

11,317

Total revenue

$

140,782

$

122,594

XML 36 R25.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Goodwill and Intangible Assets (Tables)
3 Months Ended
Mar. 31, 2024
Goodwill and Intangible Assets  
Summary of changes to the goodwill carrying value

(in thousands)

    

    

Goodwill at December 31, 2023

$

436,008

Foreign exchange impact

(3,143)

Goodwill at March 31, 2024

$

432,865

Schedule of intangible assets and related accumulated amortization

(in thousands)

March 31, 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,351)

$

6,382

$

11,734

$

(5,140)

$

6,594

Customer relationships

 

160,687

(66,462)

 

94,225

 

161,173

 

(62,955)

 

98,218

Developed technology

 

92,443

(60,235)

 

32,208

 

93,013

 

(56,942)

 

36,071

Non-compete agreements

65

(65)

66

(66)

Total intangible assets

$

264,928

$

(132,113)

$

132,815

$

265,986

$

(125,103)

$

140,883

    

(In years)

Trademarks and brands

 

8

Customer relationships

 

7

Developed technology

2

Schedule of estimated future expected amortization expense of intangible assets

(in thousands)

    

    

2024 (for remaining nine months)

$

21,417

2025

26,751

2026

21,997

2027

18,081

2028

14,928

2029

12,577

Thereafter

 

17,064

Total

$

132,815

XML 37 R26.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Property, Plant and Equipment, net (Tables)
3 Months Ended
Mar. 31, 2024
Property, Plant and Equipment, net  
Schedule of property, plant and equipment

As of

(in thousands)

March 31, 2024

December 31, 2023

Computers and peripheral equipment

    

$

25,982

    

$

25,013

Office furniture and equipment

 

3,334

 

3,170

Leasehold improvements

 

33,153

 

32,595

Capitalized software development costs

 

39,708

 

35,039

Less accumulated depreciation and amortization

 

(41,326)

 

(37,797)

Total property, plant and equipment, net

$

60,851

$

58,020

XML 38 R27.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Leases (Tables)
3 Months Ended
Mar. 31, 2024
Leases  
Schedule of lease cost and other information about leases

    

Three Months Ended March 31, 

(in thousands)

2024

2023

Lease cost:

Operating lease cost (1)

$

2,637

$

2,587

Finance lease cost:

Depreciation of finance lease assets (2)

619

217

Interest on finance lease liabilities (3)

64

23

Short-term lease cost (1)

317

246

Sublease income (1)

(267)

Total lease cost

$

3,637

$

2,806

 

 

Other information:

Cash paid for amounts included in the measurement of lease liabilities

Operating cash outflows from operating leases

$

2,516

$

1,336

Operating cash outflows from finance leases

$

74

$

23

Financing cash outflows from finance leases

$

815

$

513

(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 March 31, 2024 and 2023, respectively:

    

March 31, 

2024

 

2023

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

 

12.9

13.9

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

 

2.1

1.4

Weighted-average discount rate - operating leases

4.7%

4.5%

Weighted-average discount rate - finance leases

 

5.4%

3.7%

Schedule of the future operating lease commitment under agreement

Maturities of lease liabilities as of March 31, 2024 were as follows:

    

March 31, 2024

(in thousands)

Operating Leases

Finance Leases

2024 (for remaining nine months)

$

7,802

$

2,325

2025

 

9,410

 

2,150

2026

 

8,140

 

819

2027

 

7,586

 

2028

 

7,731

 

2029

8,154

Thereafter

67,157

Total lease payments

 

115,980

 

5,294

Less amount representing interest

 

(31,012)

 

(310)

Present value of total lease payments

$

84,968

$

4,984

Schedule of maturities of finance lease liabilities

    

March 31, 2024

(in thousands)

Operating Leases

Finance Leases

2024 (for remaining nine months)

$

7,802

$

2,325

2025

 

9,410

 

2,150

2026

 

8,140

 

819

2027

 

7,586

 

2028

 

7,731

 

2029

8,154

Thereafter

67,157

Total lease payments

 

115,980

 

5,294

Less amount representing interest

 

(31,012)

 

(310)

Present value of total lease payments

$

84,968

$

4,984

XML 39 R28.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Fair Value Measurement (Tables)
3 Months Ended
Mar. 31, 2024
Fair Value Measurement  
Schedule of financial instruments measured at fair value on recurring basis

As of March 31, 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

$

50,083

$

$

$

50,083

Short-term investments

$

32,312

$

$

$

32,312

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 40 R29.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Earnings Per Share (Tables)
3 Months Ended
Mar. 31, 2024
Earnings Per Share  
Schedule of computations of the basic and diluted EPS

Three Months Ended

March 31, 

2024

2023

Numerator:

    

  

    

  

Net Income (basic and diluted)

$

7,156

$

12,175

Denominator:

 

 

Weighted-average common shares outstanding

 

171,306

 

165,631

Dilutive effect of share-based awards

 

4,818

 

6,026

Weighted-average dilutive shares outstanding

 

176,124

 

171,657

Basic earnings per share

$

0.04

$

0.07

Diluted earnings per share

$

0.04

$

0.07

XML 41 R30.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Stock-Based Compensation (Tables)
3 Months Ended
Mar. 31, 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

 

(194)

8.78

Options forfeited

 

(23)

28.49

Outstanding as of March 31, 2024

 

9,775

$

17.15

6.67

$

176,726

Options expected to vest as of March 31, 2024

 

2,744

$

25.70

8.07

$

26,257

Options exercisable as of March 31, 2024

 

6,906

$

13.58

6.08

$

149,377

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

33.88

Vested

 

(435)

27.13

Forfeited

 

(65)

28.48

Outstanding as of March 31, 2024

 

6,607

$

30.20

Schedule of PSUs activity

PSUs

Weighted 

Average Grant 

Number of 

Date Fair 

    

Shares

    

Value

Outstanding as of December 31, 2023

480

$

41.31

Granted

186

41.28

Vested

Forfeited

Outstanding as of March 31, 2024

 

666

$

41.30

Schedule of stock-based compensation expense

Three Months Ended

March 31, 

(in thousands)

 

2024

 

2023

Product development

$

7,373

$

4,379

Sales, marketing and customer support

 

5,936

 

3,507

General and administrative

 

6,932

 

3,927

Total stock-based compensation

$

20,241

$

11,813

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 42 R31.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Supplemental Financial Statement Information (Tables)
3 Months Ended
Mar. 31, 2024
Supplemental Financial Statement Information  
Schedule of accrued expenses

    

As of

(in thousands)

March 31, 2024

    

December 31, 2023

Vendor payments

$

7,506

$

6,286

Employee commissions and bonuses

 

9,793

 

20,809

Payroll and other employee related expense

 

11,526

 

10,602

401k and pension expense

 

1,026

 

2,982

Other taxes

 

4,367

 

3,585

Total accrued expenses

$

34,218

$

44,264

Schedule of Other Income, Net

Three Months Ended

March 31, 

(in thousands)

 

2024

 

2023

Interest income

$

(3,279)

$

(2,756)

Foreign currency exchange loss

 

978

 

20

Other miscellaneous expense, net

 

29

 

2

Other income, net

$

(2,272)

$

(2,734)

XML 43 R32.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Description of Business (Details) - segment
3 Months Ended
Mar. 31, 2024
Aug. 18, 2017
Business Combinations    
Number of reportable segments 1  
DoubleVerify Inc.    
Business Combinations    
Ownership percentage acquired   100.00%
XML 44 R33.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Revenue (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Dec. 31, 2023
Disaggregation of revenue      
Total revenue $ 140,782 $ 122,594  
Unbilled receivable 55,100   $ 55,000
Remaining performance obligation $ 13,900    
Minimum | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-04-01      
Disaggregation of revenue      
Remaining performance obligations 3 years    
Maximum | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-04-01      
Disaggregation of revenue      
Remaining performance obligations 1 year    
Activation      
Disaggregation of revenue      
Total revenue $ 79,322 69,892  
Measurement      
Disaggregation of revenue      
Total revenue 49,275 41,385  
Supply-side customer      
Disaggregation of revenue      
Total revenue $ 12,185 $ 11,317  
Supply-side revenue 8.70%    
XML 45 R34.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Goodwill and Intangible Assets - Goodwill (Details)
$ in Thousands
3 Months Ended
Mar. 31, 2024
USD ($)
Changes to the goodwill carrying value  
Goodwill at Beginning $ 436,008
Foreign exchange impact (3,143)
Goodwill at Ending $ 432,865
XML 46 R35.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Goodwill and Intangible Assets - Summary of Company's intangible assets (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Dec. 31, 2023
Finite-Lived Intangible Assets [Line Items]      
Gross Carrying Amount $ 264,928   $ 265,986
Accumulated Amortization (132,113)   (125,103)
Total 132,815   140,883
Amortization expense 7,300 $ 6,200  
Trademarks and brands      
Finite-Lived Intangible Assets [Line Items]      
Gross Carrying Amount 11,733   11,734
Accumulated Amortization (5,351)   (5,140)
Total 6,382   6,594
Customer relationships      
Finite-Lived Intangible Assets [Line Items]      
Gross Carrying Amount 160,687   161,173
Accumulated Amortization (66,462)   (62,955)
Total 94,225   98,218
Developed technology      
Finite-Lived Intangible Assets [Line Items]      
Gross Carrying Amount 92,443   93,013
Accumulated Amortization (60,235)   (56,942)
Total 32,208   36,071
Non-compete agreements      
Finite-Lived Intangible Assets [Line Items]      
Gross Carrying Amount 65   66
Accumulated Amortization $ (65)   $ (66)
XML 47 R36.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Goodwill and Intangible Assets - Estimated future expected amortization expense (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]    
2024 (for remaining nine months) $ 21,417  
2025 26,751  
2026 21,997  
2027 18,081  
2028 14,928  
2029 12,577  
Thereafter 17,064  
Total $ 132,815 $ 140,883
XML 48 R37.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Goodwill and Intangible Assets - Weighted-average remaining useful life (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 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 7 years  
Developed technology    
Finite-Lived Intangible Assets [Line Items]    
Remaining useful life 2 years  
XML 49 R38.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Property, Plant and Equipment, net (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Dec. 31, 2023
Property, Plant and Equipment [Line Items]      
Less accumulated depreciation and amortization $ (41,326)   $ (37,797)
Total property, plant and equipment, net 60,851   58,020
Depreciation expense 3,600 $ 2,700  
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 25,982   25,013
Finance lease assets, gross 17,800   17,800
Finance lease assets, accumulated depreciation 13,600   12,900
Office furniture and equipment      
Property, Plant and Equipment [Line Items]      
Property, plant and equipment gross 3,334   3,170
Leasehold improvements      
Property, Plant and Equipment [Line Items]      
Property, plant and equipment gross 33,153   32,595
Capitalized software development costs      
Property, Plant and Equipment [Line Items]      
Property, plant and equipment gross $ 39,708   $ 35,039
XML 50 R39.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Leases - Leases Cost (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Lease cost:    
Operating lease cost (1) $ 2,637 $ 2,587
Finance lease cost    
Depreciation of finance lease assets (2) 619 217
Interest on finance lease liabilities (3) 64 23
Short-term lease cost (1) 317 246
Sublease income (1)   (267)
Total lease cost 3,637 2,806
Cash paid for amounts included in the measurement of lease liabilities    
Operating cash outflows from operating leases 2,516 1,336
Operating cash outflows from finance leases 74 23
Financing cash outflows from finance leases 815 513
Operating lease right-of-use asset impairment $ 0 $ 0
XML 51 R40.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Leases - Weighted-average remaining lease terms and discount rates (Details)
Mar. 31, 2024
Mar. 31, 2023
Leases    
Weighted-average remaining lease term - operating leases (in years) 12 years 10 months 24 days 13 years 10 months 24 days
Weighted-average remaining lease term - finance leases (in years) 2 years 1 month 6 days 1 year 4 months 24 days
Weighted-average discount rate - operating leases 4.70% 4.50%
Weighted-average discount rate - finance leases 5.40% 3.70%
XML 52 R41.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Leases - Maturities of Operating Lease Liabilities (Details)
$ in Thousands
Mar. 31, 2024
USD ($)
Maturities of operating lease liabilities  
2024 (for remaining nine months) $ 7,802
2025 9,410
2026 8,140
2027 7,586
2028 7,731
2029 8,154
Thereafter 67,157
Total lease payments 115,980
Less amount representing interest (31,012)
Present value of total lease payments $ 84,968
XML 53 R42.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Leases - Maturities of Finance Lease Liabilities (Details)
$ in Thousands
Mar. 31, 2024
USD ($)
Maturities of finance lease liabilities  
2024 (for remaining nine months) $ 2,325
2025 2,150
2026 819
Total lease payments 5,294
Less amount representing interest (310)
Present value of total lease payments $ 4,984
XML 54 R43.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Fair Value Measurement - Fair value on a recurring basis (Details) - Recurring - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Assets:    
Cash equivalents $ 50,083 $ 61,463
Short-term investments 32,312  
Level 1    
Assets:    
Cash equivalents 50,083 $ 61,463
Short-term investments $ 32,312  
XML 55 R44.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Fair Value Measurement - Narrative (Details) - USD ($)
$ in Millions
Mar. 31, 2024
Dec. 31, 2023
Treasury Bills    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Short-term investments $ 32.3  
Level 1 | Money market funds and time deposits    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Cash equivalents $ 50.1 $ 61.5
XML 56 R45.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Long-term Debt (Details)
$ in Thousands
Mar. 29, 2023
Oct. 01, 2020
USD ($)
Mar. 31, 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 57 R46.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Income Tax (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Income Tax    
Income tax provision $ 1,779 $ 5,507
Effective tax rate 19.90% 31.10%
Effective income tax reconciliation, discrete items (as a percent) (10.90%)  
XML 58 R47.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Earnings Per Share (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Numerator:    
Net income $ 7,156 $ 12,175
Denominator:    
Weighted-average common shares outstanding 171,306 165,631
Dilutive effect of share-based awards 4,818 6,026
Weighted-average dilutive shares outstanding 176,124 171,657
Basic earnings per share $ 0.04 $ 0.07
Diluted earnings per share $ 0.04 $ 0.07
Weighted average shares issuable under stock-based awards, excluded from diluted EPS calculation 6,200 7,100
XML 59 R48.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Stock-Based Compensation (Details)
3 Months Ended
Mar. 31, 2024
Equity Incentive Program  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Term of award 10 years
Stock options  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Vesting period 4 years
Restricted Stock Units (RSUs)  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Vesting period 4 years
Performance share units (PSUs)  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Vesting period 3 years
XML 60 R49.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Stock-Based Compensation - Stock option activity (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended 12 Months Ended
Mar. 31, 2024
Dec. 31, 2023
Number of Options    
Outstanding beginning balance 9,992  
Options exercised (194)  
Options forfeited (23)  
Outstanding Ending balance 9,775 9,992
Options expected to vest 2,744  
Options exercisable 6,906  
Weighted Average Exercise Price    
Outstanding beginning balance (in dollars per share) $ 17.01  
Options exercised (in dollars per share) 8.78  
Options forfeited (in dollars per share) 28.49  
Outstanding ending balance (in dollars per share) 17.15 $ 17.01
Options expected to vest (in dollars per share) 25.70  
Options exercisable (in dollars per share) $ 13.58  
Additional disclosures    
Weighted Average Remaining Contractual Life (Years) 6 years 8 months 1 day 6 years 10 months 28 days
Options expected to vest (in years) 8 years 25 days  
Options exercisable (Years) 6 years 29 days  
Aggregate Intrinsic Value, outstanding (Beginning balance) $ 197,598  
Aggregate Intrinsic Value, outstanding (ending balance) 176,726 $ 197,598
Aggregate Intrinsic Value, expected to vest 26,257  
Aggregate Intrinsic Value, exercisable $ 149,377  
XML 61 R50.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Stock-Based Compensation - Additional information (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]    
Outstanding Ending balance 9,775  
Intrinsic value $ 5,100 $ 12,800
Options exercised 194  
Stock-based compensation expense $ 20,241 11,813
Maximum | 2021 Employee Stock Purchase Plan    
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]    
Stock-based compensation expense $ 300 $ 200
Performance and Market Based Options    
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]    
Granted 0  
Outstanding Ending balance 1,373  
Options exercised 0  
Restricted Stock Units (RSUs)    
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]    
Granted 2,387  
Vested 435  
Vested, Fair value $ 11,800  
Granted, Weighted average grant date fair value $ 33.88  
XML 62 R51.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Stock-Based Compensation - RSUs and PSUs (Details)
shares in Thousands
3 Months Ended
Mar. 31, 2024
$ / shares
shares
Restricted Stock Units (RSUs)  
Number of Shares  
Outstanding beginning balance | shares 4,720
Granted | shares 2,387
Vested | shares (435)
Forfeited | shares (65)
Outstanding ending balance | shares 6,607
Weighted Average Grant Date Fair Value  
Outstanding beginning balance (in dollars per share) | $ / shares $ 28.03
Granted (in dollars per share) | $ / shares 33.88
Vested (in dollars per share) | $ / shares 27.13
Forfeited (in dollars per share) | $ / shares 28.48
Outstanding ending balance (in dollars per share) | $ / shares $ 30.20
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 63 R52.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Stock-Based Compensation - Valuation Assumptions (Details) - Performance share units (PSUs)
3 Months Ended
Mar. 31, 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 64 R53.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Stock-Based Compensation - Stock-based compensation expense (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Share-based payment arrangements information    
Total stock-based compensation $ 20,241 $ 11,813
Unrecognized stock-based compensation expense $ 217,700  
Weighted-average period over which unrecognized stock-based compensation expense are expected to be recognized 1 year 6 months  
Product development    
Share-based payment arrangements information    
Total stock-based compensation $ 7,373 4,379
Sales, marketing and customer support    
Share-based payment arrangements information    
Total stock-based compensation 5,936 3,507
General and administrative    
Share-based payment arrangements information    
Total stock-based compensation $ 6,932 $ 3,927
XML 65 R54.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Supplemental Financial Statement Information (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Dec. 31, 2023
Accrued Expenses      
Vendor payments $ 7,506   $ 6,286
Employee commissions and bonuses 9,793   20,809
Payroll and other employee related expense 11,526   10,602
401k and pension expense 1,026   2,982
Other taxes 4,367   3,585
Total accrued expense 34,218   $ 44,264
Other Income, Net      
Interest income (3,279) $ (2,756)  
Foreign currency exchange loss 978 20  
Other miscellaneous expense, net 29 2  
Other income, net $ (2,272) $ (2,734)  
XML 66 R55.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Segment Information (Details)
3 Months Ended
Mar. 31, 2024
segment
Segment Information  
Number of operating segments 1
Number of reportable segments 1
EXCEL 67 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( /2!IU@'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 " #T@:=8V"7[@N\ K @ $0 &1O8U!R;W!S+V-O&ULS9+! M3L,P#(9?!>7>.LT82%'7"X@32$A, G&+'&^+:-HH,6KW]J1EZX3@ 3C&_O/Y ML^0:@\8^TG/L T5VE*Y&WW9)8]B( W/0 D/Y$TJ'\C'L(!C_, MGD!)>0.>V%C#!B9@$1:B:&J+&B,9[N,);W'!A\_8SC"+0"UYZCA!558@FFEB M.(YM#1? !&.*/GT7R"[$N?HG=NZ ."7'Y);4, SEL)IS>8<*WIX>7^9U"]I]&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" #T@:=8/W40%=8% #X'@ & 'AL+W=O].CHXY5TOI;J:[H20I.7*(S3B\Y*Z^1=KY=Z*Q'Q M]%@F(H9?%E)%7,.M6O;21 GNYT%1V&..,^A%/(@[H_/\V52-SF6FPR 64T72 M+(JXVER*4*XO.K2S>_ 0+%?:/.B-SA.^%#.A?T^F"NYZI8H?1"). QD3)187 MG3%]-W&9"IF,CPC\#7JXO.68?X8L&S4#_(]0>Q!3HQ>IX, MT_R3K(MW^_T.\;)4RV@;#"6(@KCXYB_;BG@=0&L"V#: ?1- Z_[!W0:X.6A1 MLASKBFL^.E=R391Y&]3,15XW>330!+%)XTPK^#6 .#VZDEX&6=&$QSZYCG6@ M-^0V+IJ'J>8N25=IUI! M,_W;5G>%=M^N;?KNNS3AGKCH0.=,A7H6G=%//]"!\ZL-_#N)O:F&?ED-?4R] MJH;'32)LI'@X=;J?;4AH5$NDDQ+II!G2YXPK+52X(0\BD4K;\' IK3);I4S0 MJ)9X@Q)OT QO*E0@3=OU"8P=UN3A2F6/K.V2:'Q+SM.2\[1ARU0H87:#CHW02C(?1;-A;*!X1J.0[M]Q^T/;7!H:$NX M80DW; +W():!&48AC?<\LK917.=*9O-0?(&FOMB0#S+T@WB9'L%([1W;D%&Q MELC4J29CIPDT%$XJ:*CY1')$9AIZ)Y&*3&06:[6!;]]:$WO4KZYMQ'A06^17 M_H,V07[D+^36A]X:+ *OF$#KF_0>R3/69:>T?S)@5EXTN"TOJWA9$]ZQ[X,Z M-,3M!;F#]\BGV)Y77+(_8.122>ZO^<9*C(:W):Y\$D7]QW^()^8.6O.C7,=6 M6ESN'I8&3[ TL)(>P@G1R@I1W,R\)=WVVT^*3)5\#F+/GEM<\O[)RGD(>T0K M?T1Q5_-M1J0PT>"*Y M()3]//^%S(27*627+]X*QXO M1:TOW"-T_S2S^B$\K"U?Y8=8(S\TR90R:Y=BP9*G$6:3S+H/LT?QR;I[,\&C MVG)6/H@U\D&W,2RPB[T\LPCE.W K)ZY8QWD(]\,J]\,:N1^S2 ,##X9@*95U M(-JC<\<5M/6QYPD0 AF_D+02'\(%L"K637,V< MNSR/Z"D]'0[Z?3!7SS;(R@FQ1GM$$QA2%5B^V]@7+^0W8<_COJTBAY[1X9"= M62$.87989788[E5V\^5-D!IK^R3 J6$;FWODNEW*NJ[5VN*1+4'=RO^X>S9Q M=KN:KTEOX*%UB-TC5K=MBX>U9:P\D(L[EF\9MQO5]92XW&=K'O&@MHR5_W%Q MMS(&0+^ #+EUD-DC4#NLXG'_%ZSWZFS1S'CYD6M*/+,561PSED_+8]UQ?IC9 MJUXOSH0_G=C_J \[![]"U!+ P04 " #T@:=8#(WNPB,' #M'0 & 'AL+W=O MG6#XGU#8AD^<''_/[M38/9O/3#;\7"Z$_ M;S[4<#?KM"SS4E0JEQ6JQ>IL7;#(#&@E_LS%H]J[1L:4.RF_F)OKY=D$ M&T2B$)DV*CC\/(@+411&$^#X>Z=TTLUI!NY?/VO_I34>C+GC2ES(XJ]\J==G MDV2"EF+%FT)_E(^_B9U!H=&7R4*U_]'C3A9/4-8H+>GM7Q$M9$&;>:B]4T[&JS)*[.,"UW# MVQS&Z?G%[+V]^O+\T]P\_[\]_.;BRNT^.WJZM,"O?Y\<_[Y M\AK>O$$GZ//B$KU^]0:]0GF%/JUEHWBU5* M;P+NG=KP3)Q-(**4J!_$9/[C#R3"/[N,^T[*#DQEG:G,IWU^P=4:P:*AS%R( MOYO\@1=@N]/JK:JH566RPL.<88I)?#I[V+?'(48P8:03.T :=$@#+]+%6M;Z M1(NZA,WV()0NQV!N]83[\U-&Z "E=[;_Z/6PLR7TVO*IYDL!N2\3X.Z[0J@I MJB!1RQ7B!:137F5"(X@,4=Z)NHN.*'Y$HFOP$X*G&",D'H-%F1'@S)R0&)A- !N2Y$P9=B-.^YPQ_X% ME9H7+X 86Y.'(68F:1U@=(@QAC%U@TPZD,D1YP+GU_IIBC8%-S#!MR;B-R:2 MVAWH@IQ86"*W:-" $&CVC#QB5R=-'"S M=?(H[-2&':0$#V [I' 0C\ FN*=2[ 7^JY3+Q[PHG$R(K3D#1I,H'$!SRD48 M)R/@]GB>>,%=5YI7]SFDG6,^W"DZB!6 2BRH#KD )PD;@=KS,/%R'Q#[2D!( M+9'F7SU1M=-R,'\4D70(TR'&Y M<"/U\NNW%F#?2]NAS3WG$3_I;:N!#7]J2P&GN0[2HG$T3,).L92-T ;IR8WX MV>T\R^I&]*SLA&AS%@LH&98-#C$H8*)@!&)/;<3/;4.JV-L_TV=>=L*VB2M- M@F"(VB&%:3H"NJWZRJ3I6B3V['][B*JR()I2X4)&\G"M&SYYC< M0 %N#MQ0:J[RRA2I.V?+NR*_Y^:=^[!D,QFL^##GN:12-K(Q:,]VU,]VMP?% MXQ$W4YO(8#<,P\PAE231F)OW#IU^LCNL(8\AM;DL#EDT##>'6,*2,!S!VE,> M/4)YOG#;8T(G=)OU"EF6^[7%L^S.R,O$F MJ@P0H]S@GH)]IL;<=])VV$GKN=9=H1G8X;<8$R@+:_3 BT9,$9EB MC,T?4FM>F^9(H]>RSO\12W@9DVD<1L^O(G\3#.G$(CIPW6%P?,7QR<+Y>YR?V0#TS; MZ22O4,8W.>0')U '[ZO$-B1"J$&SFKJI^ 1G$%Y7L,'< M_6F[9* X(FS8"'#(D31)Q_H5K*\MF+^V@(-24S8%UZ+K6LH2@J_YY6" MPG,%(_';&'Q0;[\M;F^TW+2?Y^ZDUK)L+]>" W C .]7$DA_=V.^^'5?>.?_ M E!+ P04 " #T@:=8+U@GJ>T" "O" & 'AL+W=O2!$%@'D2@PM5)'48'MM9L$)]]__/O+CH[PST7#S("4.0QB5,Y,B*EL@O3E$$$ M"94=GD&**QLN$JK0%%M39@)H6(B2V'0LRS,3RE+#'Q9S"^$/>:YBEL)"$)DG M"15/EQ#S_>).[:-E)XP_6%&M[ $M$H$;$;&V+Z8 M#+1_X?"3P5X>C(G.Y)[S!VU/R+A2H:&0.#A+"A>:SN^/X*JGQZ.E[ 8UG\DWWE:QDD MR*7B225&@H2EY9,^5G4X$-CN*P*G$CC_*NA6@FZ1:$E6I#6EBOI#P?=$:&^, MI@=%;0HU9L-2_1:72N J0YWR)[?SZ6R^G$T)CI:W-]?3\0J-R_'->#Z9D>75 M;+9:DM/U?+R>7N/*&3E=4 &IBD"Q@,9GY M9+Z?D].2,R A7)&$I644\ES0- MY3DY:=A#4R&TWMH,*L#+$M!Y!? '%1W2M<^)8SENBWSRMGP*02WO-N4FEJJN MEU/7RRGB=?]7O=HR+K=PV[?0?7LA,QK R,#&E"!V8/B?/]F>]:TM__\4K%&- M;EV-[EO1_96@(6 S!\!V]#X&?-\IGCQ\0VB,YP-- VA]Y654KXBJSYF=_[4W ML(;F[C"Q%B?7=6JG!K!; [MO D]XDN#A@6T5/)R3C JRHW$.;8QEH/[!]E;' MLNPCR/>\&I2]FK+W 4O3M?L\[@FUUL[U!.VN_9NU_G!4O.*GPA&+IM@VXWPJL#Z0&<*N; M[7KMP(,:>/!.EP&5N7AJ(K=A#E[LWW6.$%^Z.,<]91Y<)_HJQR-XRU))8MB@ MR.KT42W*Z[$T%,^*&^:>*[ROBF&$7Q0@M .N;SA7SX:^M.IO%/\O4$L#!!0 M ( /2!IUB%2X=2B@4 46 8 >&PO=V]R:W-H965T&ULO5AM;^(X$/XK%K(EUI5=K=SVYB(-#S:<_$BUXPI])K$J;SHK97:G/?[,EBSA,HS MOF$I_+/D(J$*EF+5EQO!:)@K)7&?6);;3VB4]L:C_-Z]&(_X5L51RNX%DMLD MH>+'%8OY_J*'>V\W'J+56F4W^N/1AJ[8@JFGS;V 5;^R$D8)2V7$4R38\J)W MB<^OB9LIY!+?(K:7!]E:&B,4L4)D)"C\[=LWB.+,$./XI MC?:J9V:*A]=OUF]RY\&99RK9-8^_1Z%:7_3\'@K9DFYC]<#W7UGID)/9"W@L M\V^T+V6M'@JV4O&D5 8$2906O_2U#,2! MC1*Y!2@305!AT*=JE@YXX6R'*W M)E31\4CP/1*9-%C++O+8Y-K@391F:5PH ?]&H*?&UW?SR72^F$X07"WN_II- M+A]AL7B$G]OI_'&![F[0W?WTX?)Q!@+HZ_?!_RH(Y"T(5\1H\):*,V3C+XA89*#!<_WKZK8! MCEWEQ,[MV?]C3G11+E ,]"BR_G$N-S1@%SUH$)*)'>N-?_\-N]8?NA!]D+&C M@ VJ@ U,UL@W@KH6]E=T,&H0@B6K2S-$0TX4)%_Q8WY)KOX9MM MJ*"*Q3_0<]9RM7DL0#@'X(GK8K_AHD;*'CI$[Z%;>>@:/;P7/-P&"GS9 ;P- M]'>E0^BVGFV[]D%T"X1M*>([CJ-'Z%4(/2/"!8T9]!S@J!>FHG251[IHK"RC ML\T&@J[#[+4Q>[[7+)RV%'$\W!%5O\+L&S'_R5(F:%P410A=/Y(*J@#J1@?4 M;T,@ENJ##"NC0"'1B*F$=UF$+!;:&I%FJ;2E_Z-MZJ-BJF0<+05/$&R#1 Y23S]6"X#K#YL1U4AAAU@=/0,?,#+^"4[%H$'=J#2].E ?S"TJ9]N4I;1P^^I20UMNC M%?/LKA#6!(J-=/.6ZF<&^UQ68D6*OC)]NFU-O=FM=+>EL.?Z':\ZKKD+F\EK M5J$S)GR@>;HW;&)L2SF.Y75 K&D,FWEL#N-$$40M-*=%GAX^J+,26EL*$^QU M='=<$Q!VC9NE*14IM'6)-ED[S[:;YUJ01AY[[V;GHZP=^UQ3&C9SVA654:#U MLM#S#X)LG5E-GM5+>=;1!W#WHL/*4[H(050U#F2;;_4CQX03#X2@7$!A6F+RLC/[Z[K#[(VO$05!,D M,1-D9UD1#=-YV+::[[A.SG5$F*,0U(Q-S(Q] _N>:)7"H",$ M2X,?<)%LXWR$0#!*I#(N]^SAWS *=8UMI#TSG@Y88U#\X4(,Q<96?,TK LDU5<:Q4 MW:W.,B_S$[S&_2M\?EV<2-9FB@/26RI642I1S)9@TCKS('RB.',L%HIO\F.[ M9ZY@5LTOUXR&3&0"\/^2<_6VR!Y0G?R._P-02P,$% @ ](&G6.>*U2'_ M!P Y3P !@ !X;"]W;W)KR81+_$TL=/(;J>/C 1;;"A2(2%?_KX@I8@B $)FNGFQ16GW M++AG<3L@3Q^*\FNUI)2AQU665V>C)6/K-Y-)-5_255*]+M8TY[_<%N4J8?RR MO)M4ZY(FB\9IE4V(83B359+FH_/3YKM/Y?EIL6%9FM-/):HVJU52/KVC6?%P M-L*C[U]\3N^6K/YB27TWV*(MT1?,J+7)4TMNST5O\)C:- MVJ&Q^"NE#]7!9U3?RI>B^%I?7"S.1D;=(IK1.:LA$O[OGDYIEM5(O!W?=J"C M?MQL'<.MN#@.#T.SL[!>>Y-NSL'MR%KF]V&FB!AR?EI63R@LK;F M:/6'AM_&FS.2YG4ISEC)?TVY'SN?7ET&X>4L#!#_-+OZ87LVO^[V-X M>3U#5Q&_NIK^\?[J0Q!^GOV&PC]O+J[_02]O+M_>!!?<^@2-TA% M]U3O?)WMBXWLBXTT.%8/SKLD2_(Y10E# 9V_ M1B9^A8A!B*HBMDA.@U2/I_?GV+%/)_>'O,LV8]=WND:!;.3:#O']KEFHB$=< M&[M=LT@1TC&)$#.6K3S7\>PV9B=]YCY]YK/2]Y)7X+:?G3PKE5M4NYM*R_*$ M;,IF)A9RJ6U?/6N^J=;)G)Z->#U6M+RGH_-??\&.\;NJIT""19!@,1!8AV1K M3[*E)9E/L'SZS/G87Y8TGS\A5B9YQ;M[,W$O_N53 E\),!7/6N"!.9A"@@60 M8"$D6&3)?0/[IM"=CQAU>+;W/-M:GF?;B;*DZTTY7_+%U +QA26J*&,9K1FN MAVVZ6F?%$Z6()8]\8<"6RR);]$P;[[3QAM)O*X963Q@, \B((218! D6VQ+] MG5QTZ'?V]#L_D?[#*4!5"MK80TO!D><%0R@$R'@A)%@$"18#@74*QMT7C*LO MF'KQ.O[25 I?R_&M:+6=$^AC_9FJRD"+.+0,(,$"5S6B^D18DT&&C"#!XF/M M[U#L[2GVM!3OMCE5S31*JVK#J=ZL&XII.4\K6H\)VU^+=0$2-(L%C9?$?-H[_GT0?F\=AX[DNMM(DP&4^U;1K**B18 M" D608+%0&"=*L%&*[T8/U8G][1B?)JORX3'964ZKS?[6[M-GK*C];(+W"EK M3QA=I_K6#:T84+00%"T"18NAT+I5)!Y0CKQV^;E#VA MY"$I>V0W;:BA*X0=VN'4XV-+6"KNC#JK:<$2DVP M(_<95]Q+*XS&KF6*_,H:FN=ZIGB^$BKL>(7[GBGV&=EN3#Q#ZC,*.,,U?;/G M( JW8A36JU'/.(I2YU0AG+@8.^)9E,*.$#&ID(I."(H6@:+%4&A=LEM9"NMU MJ?]Q)*5''KRT %6N0-%"4+0(R[K4V'*(+7;P8V9=QEL!"^L5+/C#*7W P87@ MRZ,N=L6E10 :- 1%BT#18BPKA-V$=)_7:"4JHI>H?NXQE3[XT*(@LN@E/N,0 M@$8,0=$B4+08"JU;.*U*1?0JU8\<5^DA!Y<#)%I 9-F*&"X6ZBL$#1J!HL5' M;Z%+]<%#77I!"N;82A]D,/F0: &1Q2SL^.(A%VC,"!0M)JK'Z?R>=0)I=26B MUY7@3[J(0BRQA7W-5-^JP>R"2DR@:!$H6JQ*KF_U%$&K0Q&]#O7CQUC* E H M52+]H,^F$87^).[+02-&H&@Q%%J7_58^(WKY[.<=8A)9.+/$(X2IOG6#:P%4 MAP-%BT#18BBT;M6T.AS1ZW"0AYCZ4(-7#@K5S_1$$9PH!#C9+ 1M6@2*%D.A M=2N@51")7D'\6<>8^K"#JT'6(<>FM*D$%2)!T2)0M!@*K5LSK1!)]$*D_AA3 M[SR8>5"M$10M)++LYV);.%2*0&/&1'ZNL!.S2VFK-!*]TMASB&DI"995/^R* M3S4IC,886]);0;*9Y_NF+3Z(HK CAH--7TRV(JQK$6&HB%6W8/BNX6-U(LU6 MJ3/U2MTSCC&52345CXJYV!6K::JP,T6]5=_$P>\'@:IKH&@Q%-J6[,G!^YOU M"\"LOAC=\&*=?-*YY>"L6+5?%S29$'+VH#_?EL4 M[/M%_9;H_LWF\_\ 4$L#!!0 ( /2!IU@ /76C#P@ " C 8 >&PO M=V]R:W-H965T&ULK5I=4^.X$OTKJMRM6S-59&))_@H74@6! MJ:5J!Z@-L_LL;(7HCFUY926!_?4KV<9V;%G ;%X@=EJ=TU*KSVG99WLN?A0; M2B5X3I.L.)]LI,Q/9[,BVM"4%%]X3C/US9J+E$AU*9YF12XHB*LO'N-W]G31NH;L\593I[H MBLKO^;U05[/&2\Q2FA6,9T#0]?GD IXNW7) :?$'H_NB\QGH4!XY_Z$O;N+S MB:,1T81&4KL@ZM^.+FF2:$\*QU^UTTGSFWI@]_.K]Z]E\"J81U+0)4_^9+'< MG$_""8CIFFP3^3O?_TKK@#SM+^))4?X%^]K6F8!H6TB>UH,5@I1EU7_R7$]$ M9X#R8QZ Z@&H/\ =&8#K ;@,M$)6AG5%)%F<";X'0ELK;_I#.3?E:!4-R_0R MKJ10WS(U3BZ6=[=7U[>KZRN@/JWN?KNYNGA0%ZL']>_;]>W#"MQ]!"8W!;C.8AH?CI^IB)JPT&M8E\CJ\!L17P"&)P YR#7@6;Y_ M.+; PJK1EDM'BU#1-E1O7[$9OZ=,B)Q$]GZ@]6U"Q MHY/%?_\#?>=_IAB/Y.P@8K>)V+5Y7]RJ"L2RB*?4%&8UUB_'ZD*S6P30\\]F MNR[\H1%$,/ :JP-<7H/+LZ[$1?Q_M:E4'9(%D%P5HHAG$4LHR!K ^KZ^BDBQ M ;G@.Z9R$CR^ &Y815-TWC$7\4C.#B;+;R;+MR[B)8E527R4@#XKVBB,2UEY M\#JK-'>"WDH.;2 *1Q8R:+ %5FQ75 4<,5*1018#DG(AV=_5#0O@8 C&F:.P M!WEH%Z$9(G1:[G+>R($U%4)M3DF>S5NQ M=M#]X2F>^[@'SV3FX1"- .R0*[0"7$D>_9AJF1&K]4WU'+Z9G[7++A9-8K / M>6@&80A'4A2B%C*R0K[))%65I-GS)[H6&G&B 0"_GY?VW_K)Z@5;UH56BEO< MR0T51NQXB#WH5RV#T70L(UI:A*Z5?Y8;DCW10NNE#IT4!55\I*M8PL@C2T:I M!5I9]Z/<DY&(O2'!^*BO%0Q6T]#QQI:K M)4!H9\![07/"XM?-4*T1UVE5+YH1\I#OIAZ"?8HQF?GA6.&&+3%".S-6TYJ3 ME_$Y';*;Y_71#6UPX#@CX%H*A&]P8!2)+35.Z%NI/R2Y*72PB_K AW;(<<>X MIN5#^ 8A_AM%"(?\AV$PH'&#&8)N)]D/>Z&6)Y%C+3HWV4Y5]'>T'\C*MQ\M M+\?R=AAU2[[(3K[W6Q%MM'A14DLMFEHJ^7("\H1DLLPZ^M>6Y;H3,,[$D%ZG M/I[WA8/)S'7F\Y$5:UD8V5FXB[W8*-DX5:R<*M;0"UEV+T;00TJ>8H1@7SO8 M?_QG%Z:E962GY68K;;4N4DS(#/EIC,_ R#CTG?X^,ME95J4E;V0G[Z\L4U+] M/?OHJ#1]+&^'4;PT?2]X1&E<@+7@J:+K'4]V>@XBI;R9!&L2Z:K]8IR' MH[;":$CRGN.,<1)J21Z]0?+DI7,@\)'PK'X_')Y)-ECB:P4!L@N"PP54?4BJ M.I!"MR9E]ZGVX#8O>Q(J(E;7G/);GNMFQ;P5#6VT/^^+")-5X(_Q62LBD%U$ M5/N0UKUI7B^?$:9!-(1P --@Y8VU4JB5#,@N&58;HI9=I51>5_,8K+D 2C;* MA&K(>J9IFB?\A5+=PX(]DYL-3V*5?^9PA@)A"H-Y7P*9S((P,,>#6QF![>UV M4[<_U87[\X$86ANJH_&,T]!LSV$_!H.5.Y8YN-4$V*X)KM=K&E7S_AR5K1A0 M HZ"J&[+U#8H(]3ZH/R@1<*.)&5YT#=U:RQ8)&GUO3$^@R; @^[28 4Q'(FO MU0W8KAOT$GV*J:I=*MT^ZP/-\I,F60WW9!#4R;NC,FB+$,+^08_!3"?H2%.# M.P?H=LVP?#]Z, 67](EEF4Y%K?VH8#PVQC34"1@ZR!NLU= .^<$Z(^TR[B5"MA^NK[:YGE5VDA2H5XG MR@?+JN>-BDS,3SV.*A..Y>UP#EHU@>UJ8EDVB?K00!?[T9-);#@4QZBO9$U6 M@3.6=ZTBP'9%<(B1U4=^1IA#!A^TK08;-%JJ6Y+'H367FA/H3G>@-H")9JJ8]_6XD#]*HLS*#JIA,[V>&=UW3B8J MD=0Y7"E/='4A8:E* 9$VW"9IIGMC=5NQ>B502*+VK]9:YAP>Z@P?#9[^&*R@ M"T<>_[BM&G'M:F1)I;M _%C 8*>[N13;KO&N04O%4OH)1@'+"J^?SS=WF-8^+\N6&WOU+>+JL M7M9HW53OCGPC0M%WH3)WK5PZ7P(UUZ)Z':.ZD#POWVAXY%+RM/RXH22F0ANH M[]>GKJO2' JJCD4%);Y9"EE0C:%-[ +2@KG6AD]^YD M-!)KS5D)=Y*H=5%0^>\,N-B.'=]YW;AGJUR;#3<:570%">A%=2')$#PDHRS\5:T3)3 M(U>C,L/OIHV*LUI%\(&*&RJ/2>C_(H$7]#K@\=?AX3[W5)6SK$G[&'L54 MY00[3%*S@.[L>$TUL%1FEFRBT L\_V3D;G;]O$\+AOV3<-BF[2GM MM4I[GRJ]!Z4E2S4T6@]9F?)UAB'^4;$R%649@1>4TS(%DIC3ISI;7ZOL[[CS _]-!;IR>MWV M^ZW]_J?VYT)37COO:I?=E/LEZE+?[VJAO].;VL#[-&SA#N3"ES0^"I M7;%2$0Y+!'K')\@CZZE;!UI4=G ]"HUCT"YSO*A F@1\OQ1"OP9F%K977_0? M4$L#!!0 ( /2!IU@@CK) TP8 !\0 8 >&PO=V]R:W-H965T&ULI5AK;]LV%/TKA(<-&Z#%CZ1MT"8![&3=LJ%;T*P=]I&6KF6N M%*GR$^=22KM*G1X]ED\GS<2&5&%V?IW8V[.+,Q:&7H MQ@D?FT:Z[8*TW9R/IJ/^Q5M5KP._&%^K M\]%\^G)QPNO3@O>*-G[OM^!(EM9^X(?KZGPT88=(4QD80>+/'5V2U@P$-SYV MF*/!)&_<_]VCOTZQ(Y:E]'1I]1^J"NOST>E(5+2248>W=O,3=?$\8[S2:I_^ M%9N\=G8R$F7TP3;=9GC0*)/_ROLN#WL;3B>/;)AU&V;)[VPH>7DE@[PXX?PZG!LUGOV6+V). ;Z8[$\;00L\GLY F\XR'2 MXX1W_/\CS4 G#P-QF[STK2SI?(0^\.3N:'3QS5?3YY-73[AY,KAY\A3Z?W'S M2:"'W9P>B4<,B"L;EYK>DU.KK?C)ZDJ9VA?BVI1'XMNP)O'-5Z>SV>35I6U: M:;;I:?KJ.Z&\L(88BAOGCEA892 $DT5"DI:+6BU(?)9*ME8%WQ MV"H#EMZ1@Q)X,;\6P8K*82'DHH5/U@E(2FD;?,4646N[E%HLG325/Q*+K2BA M22%9LHYVA@H1L :)<&2"D%5^E$D3$-Z&T$T?*/E>J5H%@,H*?@3E&8Q*Z[<^ M4",0E34UN4)XN2(G8#B;\E1&QW;6Y&BY%5VV>3>CKJ1RXD[J"*?NR[4$AEA2 MV! 9L8Q;>S]2RH[$[P#92WK*JKBBRAN,.P2MH?B8(.(0E'#69.X4RLF^%6$6MM^(. M0L_?"H':200(+##.\\@P"27S.A +FZC)UDZVZ^UCA5F%#;B6-K@5VJ_@\&^4 M,;)D(YU_7 S0I(L[E8!3DA6?/RN370D8@860&M.S8U3#BV59<@>ADY'3['&: MT*:D7/7/*K3/^R_XOF-7'PE"#@A>ELYZGSF"8KHO]$S!M-(Q]3^*#1!,?N; MT/AH)ENJH=K<'H9T[H@>NH4N*4PX]ZC;^]XB,2B^8F]13_;T38)^F\7ATD93 M*MWS*>4U!_0I;,HB,KTD$;F7P"TI.#[-"8H.B?8!?DHWD(2XS64^;; Z9+(R MV?:)+:O#0!)MD2CK6IO3C/WS6(,*8OJV5GA5?L2_T95I>WUO=-VO+NTO;+W.5*)C*GM_P5LPOMM%\!I M'\#GJ\CTP3"AD;/:4;]PW]4LOGN53"@WZIXT*) P M;N/RTX"'#SLH"3 +9?C>;@RQ=BR] H/1";?E_RU,E!UULCY;O%MISQ>+"P+4,_G MU_/;Q1#([[;E>?O0KDM;J57O4[]Y?GLY[#V=/!/%@4I!!M8XRV$@NT&#?L6M MZT_DA1$A.# J'<7OP5G?*5ZD]CNW%Q[9TDG2GPSB0Y_P7O M*]L*Q?"UXP%:B)\E0@9*BUMMP16 %E60#LAWEI5K< Y _!/WXV2= MX^*#L"/8S:<-3W7NTX?N!>.]2ULB#E]-,=&Y6/G^-KP=;K_S?.G;+<]79UR5 M:O >5%QAZ^3HQ;.12'"_ ]Y6UH7]@ \/_"5S\ M U!+ P04 " #T@:=8K5@/L00* .'0 & 'AL+W=O?J6Y* MS:2;["'9*[(L5T/IL]GU92F]'9"7]V[.U-<*IU>GH_/#5Q3&=YP-_:'7K!Z\%>;*T]C.]N3/,Y*7V=+S7W$;SS[_922RQ@=;IZ%LPOIM1=V):Z=\LH$&6-E MJ4S:8(XSS+;F*#-6ES;4F=:^9-I@"4D;YHEK1=1ZWR/UB/Q MWII0>/'6Y"K?OC^%!YT;\]:-B_F# M]+-Q%'AV,QG\V/'Y!WU(7EB.4=_8_# M$K4>[]9* 'SE:YFITU%->MU&CSU SX==SX=/R3]O^;3PUKG$_$C M%&\)J:7K95P[;3)=EXJ?7EKC<26/SS\6"KC/;%5+1D/3R0PV:D0 V@R2Z3V5'YDDQ4IJ)^IAB4(L68J/ MP/&]Y4BDMKD7OK"W1FC#)>9RKJ!;'0I^G^JW[JMSK0PJH"SOZ+FJ*4BX2P)O MC.Y"QN$ZKZ BD^()Y6D^>_WK^?DUOSQ\_;0+O*QK8$,N2UC8D )ZX-2Z*5.9 M)?,7;R_9=&T"I%9BI0U,U1RJVKIH9G1IPM!S.3XJ[\8B4RZ@K^-F[/XMY%;6 M!F.#$KGV66D]HNQ%(5''2Z4,Q3A5!+3:2@=RKFZ<;PCEO$3K]C)*F4B',XD)S7E&N/N<9@$*3# M5"65_*R$VK)<>@R/=:SN".G5BH@AHI2"!1ME1>#C\L=YE0)>:KG4I0XZB=IW MQ:F-,DUD#?6EIAB(O&$^Z:]L06;8N;;-_=0%FJA'FP*\@T,IZG"VO*.F1DR\1A0(![^+%,\6FM*]"5.SWV#/W]!8]0%QK2J#.4 M7)M.*S*7#EJ*!@H2F;2PP<&(#$<'/7*I2HWL4NDD;O/6(%$N69]IE307( M0BPJ^PT\P&EZTA4O>#!V!:19FXTM-S$(0"OYWYD_IH6KX283NV<'-AQ>-=R9 MVT9:2>;\"&:<6-Z)K$#!J,10U@^(H"7Y0:#(.XZO-L%?#B@=&-DVZAV$'FCED$L:/"(!?=Q5W_HAP*N+[KB^RN4/?S+%0J$ M89M\*=4:1I _K<7I$OJS;6)7YRY DUW/2UV?Z$^WK)?&HB0M.(F"S&)%#GWB MG+K/*G#P[IN;.I:XF2PFD,'LA20"\#%!K?L=DWB>WIC:_$."D:4^9>0$4,:= M T,=$\76&,W(Q7AHG<*X4@(N8&*>*ZA$ML4.D,:GB?_'F)GY)/K 7\3M\;L/ M88/8(OI,M8A4(4NDZ(%Z^V,H:,M[\B=NPLYXM+<31_ M/A9IY>@)\,KXX)KH\X&XC.K^R>K23M+M*4E(NZIL6]V0?>D$5RYW_T38+1X% M-8D5PFWCSH*KVO$#&=+17&]T3IVEI39PY$;%04/%L41%MKGGL4&-=9CB&:.V M/HY-,*?MXE 1F7&@&S64PMPB[\FVH Y>T(/!G$8!H 8.&&L.[E^]9\53*I$, M:D &5^CW^'CX!8BSQE+3C0E8*)XHTVI ![C!( =7J#W,8&DSMND$8Z:]]&:P MKET9\1L=I[VA_R+AW?GB M[>-P)5;W+IT*IO:FZ>?<)ONKWT-SMA20>S%UT5 M?6WNDX^VUIF8OYP]??5(FY.FL;@M=%;0! 2K"'F\+*4YD]>]?B]MEXNH@DK* M]3I\U(%9!>-P%7?/4#C;K"'=% 2.?&O'E4N+.=P/!OXDHET54O-KZL@6/L6- M"DCQ=$/$P!B'5!A-6YS'[+/6AL='N8(#_4)W^"PN=%O.M5,3P99FJ<=(.IZ( MM]+15Q"YY;&2+*NI[GE);T>$:'^_F#D5G/5ULC]]\= "AY"&^,&IUK+T)0JQ M^) "$6QBY=W[1*$_-.W,$2F";OM%$WPRV*WP=C;A[+CY^WQZA%SW*1M.1]I MG=D+H/[0?>!T4=T#G,7- R_=TIIP\.)X%PYVJ_Z:;6]:'2T(]V!C'QX& MO'BNG@-ZI*N37_$D=E@A83?Z[J/NU^[#N/OW'U MQ^,OA9C!US00EVJ%J[/)BV*O;_%-L#7_XK6T(=B*7Q9*8@FA WA.WU^V M;TA!]Q/HV7\ 4$L#!!0 ( /2!IU@:C!Z)!00 '4) 9 >&PO=V]R M:W-H965TS+K MI6Z<% J>#+--57%SN .I]ZL@#HZ"9U&4C@31>EGS E[ _5$_&5Q%/4LN*E!6 M:,4,;%?!;7Q]-R%]K_"G@+T=?#/R9*/U=UI\S5?!F P""9DC!HZO'=R#E$2$ M9OS=<0;]D00R[]$[LI5, ]8#EO>2/>L][]#Y\^4^#(M MK7^R?:L;IP'+&NMTU8'1@DJH]LW?NC@, //Q#P!)!TB\W>U!WLH'[OAZ:?2> M&=)&-OKPKGHT&B<4)>7%&=P5B'/K9]B!:F 9.20C491UP+L6F/P F+)'K5QI MV:\JA_P]/D(C>DN2HR5WR47"1VY&+(U#EHR3R06^M/5$8*+@#B^W2:F[ [0&P^/,=&"?0F:ZHP-B0[4LPT.L*RPI08) @ M]Y6>,VP;AV>IIMH@4F^1Q[(*N&T,[N*5P![;!;:I8[CL][C*6=V8K/0\I'E+ M_<>I%4._^]+4M3S\8D4./VM3AI5GL)\M-HLKJ2U$U52L:+CAR@'ZC^>=E%S) MG5_B'<4T!@)O&\OXUJ%/9[ !G'-3W$]]#8S=ZB![3D";9<5 M>\T^?9@GX_3F?WN_E@;@7EXW+=;-RVD5AHF6Z40SVA,MGD M<(X9*U\2U!+1Q^ET%&/=2NFG&G822<8GB=!EE M0$KJ/'@CB]!]3-/&AU(72OQ#C;_KZ1DQ062M," (!')N\=WC_[]LUBE M(TJA&M9.&4V6M\MD/;V\G@?[:/!%\=Z=?%.()#?F/BQNBV4R"82X9ND#@L"? M'=]P70<@T/@V8";CE<'Q]/N(_B'&CEARX?C&U/^JPE?+Y"*A@K>BJ_TGL_^+ MAWC>!#QI:A=_T[ZWS;*$9.>\:09G,&B4[O^*AT&'$X>+R3,.V>"01=[]19'E M>^'%:F'-GFRP!EKXB*%&;Y!3.CS*QEN<*OCYU77GL.,@-/+*CKRNLQ1\)#E_"?W7 M2;X,,S^G)Y%H(U6N"D>?65;:U*8\T&:]H;\UK;L2N4;3>11\=D:^XN#;"GU MY7SKE.6"1%V3V<8SU+?S0A=*EX0DE??AX!G\WUZ_NLBRR=5P'%?3J]_/2%!9 MFUS45*.=L"6%*K5>;954V%3:HUA5R5KRB+&^/;J3?[P%S8D*52H/-RG 6I6: M3.M5H[['V,_I,TC'0)R*[4!&8=C1>]/E-7]AJ[:'@#U]=^6HM::UBCWZ%!6H M*U2EK^@D %C1^O:/UNPY*'-ZURDQ;P+43A6XO-@Q@D/.#'7-UO6PK"N!& M$ M[$(3<01A05![BWY@X!8D5W:$"**W;&-+AF,?'/*Q!@<=*..AC!P>?7BPMK.R M0ON"G8*>0;'C\ M$-J3PON":1 Z@L@^38,H-P;M1SO<@B]G:A5@"_H 573,J8W'!F8*!EF?$3\5 M:J^0]#EB T:MOH>W#OD82N%9072(TJ'\N#@C;:*J_" Y.C,=6%C:6M,\H\(Z MXO;(_H?W!)>3YXP/TY/O38$=)F702XHVUHPHOB(E>UV>ZF/I MR8!!WI9QC#JD:*=]/VO&W7%2K_L!]6C>CWF$52+/4?);N$[.W[U)R/:CLU]X MT\9QE1N/(HF?56P/P0#G6V/\<1$N&/]_6?T'4$L#!!0 ( /2!IUC$7/04 MV00 $L. 9 >&PO=V]R:W-H965TKJ7 PD:;?EH4709MLS+=$65TKT2"J.^_4[I"Q9CFQO: OL110/ MS_W&P^NU5%]UP9A!+Z6H],VH,&9U.9GHK& EU6.Y8A6<+*0JJ8&M6D[T2C&: M.Z)23(CGQ9.2\FHTNW:P1S6[EK41O&*/"NFZ+*G:W#$AUST27[PLSOJT<%NTG')>6;W3 C+"-3X>\MSU(FTA/W_EOLOSG:P94XUNY?B M3YZ;XF:4CE#.%K06YK-<_\:V]D267R:%=E^T;G #D)C5VLAR2PS[DE?-2E^V M?N@1I-X1 K(E($[O1I#3\CTU=':MY!HIBPW<[(\SU5&#D9,,/U(U1H&/$?%(>()?T!D<.'[!3S.XX1<>YF>+YE*O M:,9N1E 5FJEG-IJ]?>/'WM4);<-.V_ 4]^_0]C2_:(R>"H864D U\FJ)N$:T MK4@D%R@K0 33R$AD ''9RL^H4AM+\$Q%#0R4+-%[EK%RSE0;GL!20;RRH@O8 M)7K[)B5>[;-&O!MSW/M+!/<%<-$'^4_K:4=67LTGF_!SMV]*1H#KW<[@$]=%H%2NN"KG7#H M0#A.DV'$XAB',=GQFX:8D*A'YV,_"7KX!$^CJ(>?8N*G$-)GN-)7X%?#LJ*2 M0BXW.QR"PW 8Y'/0B00]7E!8!*JV(PNPY_=$1S&>ACU5;9$G/OHDJW<9%!@S M4$U+Q1A,"48/I/4J=J= 3WA_]PK(7F.,TZUH.M.JAIC#D MN>YE"G J*IN;G-F;_'5!VVS? P5H334Z2\8!C"E"N(D+<,[B,6D!&(3K%7-S MF-B,T0=M>.F46=2F5LSIF+WN@9WF<#L=Z*+:PE\IQQV\Z=#ZAZ\@Q_+W&X3=?C:6=ON;6;:EG^CCXS!4-ZSP6U9HM: M(,$7#,TW,)/^!1YR44&9L.M/#LY#A3:,*O#WX::;'FN(R>E61?H&*VLR?"KI M!@>NFLX"5G2# ECY,$A#G@,>7W 0D=?*307?64;C0U/CI#?@@X%+]XS1*+-W M4#/K=]#NI73;/!!VZ,TS"Z0M>:618 L@]<9)-$*J>;HT&R-7[KDPEP:\Z7X+ M>.TQ91'@?"&E:3=60/=^G/T#4$L#!!0 ( /2!IUBMRP LRP, (* 9 M >&PO=V]R:W-H965TI%,\'A_0?VNY$Y<;9O!*B;]Y;LN5-_<@QX(UPEZK MW0?<\YDXO$P)TWYAU^U-)QYDC;&JVBN3!Q67W9_=[>-PI#"/GE%(]@I)ZW=G MJ/7R';-LO=1J!]KM)C0W:*FVVN0[K*#2YZ!2^&CDK8T\%[FF#_4#\FUWK_DX-]EGT%_H\6G,:0 #;-W#X@#+92::G,OM((2&OYHG4?KV?_M?&&?DC$LRI!I#;IHW_2(56%;V%=:+WV&&U0W1 MW:^D<*6JNK&H.YX4.UZ7J)DX"M (DHF_F"?=((I3^%04G&)5-%IRVU H'H2Y MMY;Z:3H^FL6S"/YP\2V5R(%7M5:WZ#3,L(EV3=)AFOB3Q02N_E/X!ZV%/XOF MPY2<3A=DV1#)+&NJ1C"7HARIKC/.NG.4&+!*:3^$@PF?M1$O4".I+;LK&E1H2J.W30'3J/ M,^K,/!"E/MC6H0>T\([N.2KH'3,P2H,I';9"'/B.DF!V$/AT%YD:V]M$W ^- M]"BU_](L?0>X%J/JS/;5=1R1UDLB-(IGP7SPIZWF)TC^5+*//;WX!7,?J5RS,*Z[ M7B&V)X\YX#E]><$=R4:[5+RTIH*G3OKPZ%ZN4&_;UX>A7#?2=E=T+^T?.!?= MO3YL[UY'9&W+*7@""U*-@AF])W3WXN@F5M7M+7^C++T9VF%)CS34;@.M%XK" MMI\X _VS;_T/4$L#!!0 ( /2!IUC(HY,/- 4 *H0 9 >&PO=V]R M:W-H965TD9$F.'#=>UR^62-T]?'AWO#MZNN7BFTP %'G, MTES.K$2IXFHXE%$"&94#7D".7U9<9%3A4*R'LA! 8Z.4I4//<<;#C++/@17LJ 1S"R,<@EB ];\W1MW[+P_PBIH6 7'T(^P.JX7#DBE2AX2 M("N>XF%B^9HHNDR!&**YDB35,B3B4A&:QR2B,B$%93%J"$(S7FHAED=IB4[# M%Z(0+4.E4@">-$7XJL9(&5VRE"F&2VKE%:%F .9+ITX"\>S/Q'/_]#S\?#(-N:'88G)D- M\U(B"WG>Z!ABG8%?F=J8\>ID!G_L&Z=RQIG;+O<+\>RQ'^Z-1Y.0?*HMG/[ MXA\!0R%BU"0\].5J#Y-*">C_,^^\ISAV+WMSGAN2VUP!>@H#(W\&U@V0,_\ M8M '],DBX4)=(&;VDGEV3]\-^P#!F"S*9:6)8D&W+T6!,6N3>\'C,E)8\C%E\<(87TO^!CEN M-S7O-,82S:32V]\ @4?LG32_VF\TPI M:/ZD5[GAF)[P:ZS?)$]93!4.%@H? MF@ BNEZPW:\N#Z.'@MZK-SVL'T M!FX+.0CZB'N6/D1PIQT,PK>=P>CM][&>T1H-@A;![\+=456**J<>3+0'W;O% MB-=?J@"4I_OU^_XVZ[S0S[3I]_.^H78=1CU=8>@(;IV'/[L&KMNQA%@'O;V\ M[WLC#= FVTL[<)TV_FQWY&B!MCI,;#=H!2;8<.#GMMB&V 3MEUI=P5%DTA$) M??>02+]WP<5&_09DIX+9 2^P*XS1?ML2HF:_\V@T.[U#09^JY-2$L3NR+R?M M'D>V=QF@M:6L*SD:NDY"VM9LEQJ;]@0]Z[B=[@PGG',L/$:%;&A:@@XW=8P$ MEL# OAQ/.A,XGC3&.'2)&7;NCUCSUN:6+(DY,M55LIEM+N(?JOMG*U[=XC%$ MURS7-Y$5JCJ#<&014=V,JX'BA;F-+KG" FM>$Z Q""V WU>9EDX6 M$8I422BXT#,O-Z8\ M\WV=Y%!0/90E")S)I"JHP:%:^KI40%-G5' _"H*)7U FO/G4R6[5?"HKPYF M6T5T5114;2Z!R_7,"[VMX M;YL8*_/FTI$NX _.MO%4X\EN4E!4@-)."*,AF MWD5X=CFR^D[A.X.U[GP3&\E"RGL[N$YG7F ) 8?$6 2*KQ5< ><6"&G\:#"] MUJ4U['YOT3^ZV#&6!=5P)?G?+#7YS#OU2 H9K;CY(M>?H(EG;/$2R;5[DG6M M&\4>22IM9-$8(X."B?I-'YIUZ!B%)C(CF%I)WN96 M3^FO2AJ,![7N\:?X6E1N%4MPY9D@%^[']%.#.[84+&,)%<\G5<> >RC57IS/ MN.&[F6]"+FQ"VYQXMHOK%/,!T3@NKK:^MA.?=UC7HJPZ,T^&7Z5!ZTZZOK.K M8G)9:2I2_5NK^.Y/6 $G84\2]23Q3M))?MUP_'DB7E&=$_A1,!/C'YM<7V !(H% M9E537W%/[W7KZ_]>5[UZ>E$=A8_JZ.5E],SRZ97'"9F$@]'D>6714W[M=X]N M(K&KU#8+,6.-I%<$&05RJ9Q7N@U4_&0?#$+LYSEUCBGHGDW X MWDGV'5-6K5=< SQC=0DNT_EF>.@'RR>.AO%1[\.]1^> 4,[K^/M]PP$J MMF= .D9A/UZA^8:DF*IVT3%;<;7(!FSGM_>D/K $UCLMT!O[!R-,I#:'.#T) MG9:ED@\,]QCM=LT+]DZXA];^T;Z"[6Q[*]!Q0U*6$B&-[7NDPHX(195 E]P1 M6^(520^Z$BZQGE"$WA)LH9AI),-]G:3?:?(+4$MWE;%;6PE3]_NMM+TM7=27 MA)UZ?=7"&#"[-:9IAJ;!\/W8(ZJ^OM0#(TMW95A(@Q<0]YGCC0^45<#Y3.(O MO!E8!^T=&PO=V]R M:W-H965T%PZ+,%E=(/;$4&;PKK2AFP=/.AKQS)/#J5>C@9C=X-2ZE,[_0X/OOF M3H]M';0R],T)7Y>E= _GI.WJI#?NM0]NU'P1^,'P]+B2<[JE\$_US6$U[*+D MJB3CE37"47'2.QL?GN^S?33XKFCE-WX+SF1F[1TO/N4GO1$#(DU9X @2_RSI M@K3F0(#QHXG9Z[9DQ\W?;?2KF#MRF4E/%U;_J_*P..E]Z(F<"EGK<&-7?U*3 MSP''RZSV\6^Q2K;C=SV1U3[8LG$&@E*9]*^\;^JPX?!A](S#I'&81-QIHXCR M4@9Y>NSL2CBV1C3^$5.-W@"G##?E-CB\5? +IY^MF;\-Y$IQ2;-P/ R(R6^& M6>-_GOPGS_A/Q1=KPL*+/TQ.^;;_$%@Z0),6T/GDQ8!?I!N(Z;@O)J/)_@OQ MIEV"TQAONE."@ZW)+ZIV^_FW\;G3T KS]#M[^ M2]%WJ/_+_A\'8CN$N#;B.@MV1DZD*H[ZXM+6,TW?R:GB07PRV: OI!+U;Q\FD]'1>?,P+L=';V!IQ*N5!8PDI( MB#7'GQ!=4*L@ Z7UW%'ZM5)A(7B[F31W/AI:+)THE)$F4U(CG \JU"Q:+RKI MP@,[. H)@,8FY'S"=2$K%>!S;:@OODKVP>K,>XM0O(HN,H=RE ].\@@ &B#I M(U ?F$+D2$+%83ROL8#CNM7RLR;K?IKE-@5J>ZI-RG7S3QC4A>VK*1YX-J- MWQ\!O5/6M>&[(B1,'("V0F"31[W;ZLU%"G36!FI[%(/L*#,1M/?L/IP ;9N0"CBK!>DGTRZQ!3"9;/Y:M%0#HP Q70:,2\'3T MHT:?0*9D#N11=-HBKXURHG[(# >DQX)W0LQ'A[&2 _'W MKTP87@AK72$A052](=,]IHEEN,XIMR0]T=,7JZ)5OB>/4)/Y\P9 M;%B2F^-Y6JH^ MND2S0MVC^F@V:!\UNK;$!Z7$%$3=<*O"9V[>GIZ/1^99*E&M)M.-)SR5XE-[324=T MEY11G)W-TW2 @.\,REB!NSBS+>>M>";M_L7!C!I-G[SG##?NG'&(\%M:%=\ ;=?VF<_@]02P,$% @ ](&G6.V_"U8V!P 11$ !D M !X;"]W;W)K&ULG5A9;QM'#/XK [4I$D#69:?8Q7%WXG*QQ]#&HF-M6A\T[LGY].9@.M@]NS;))_&!\=;'22[JC M],?J8\#=>&>E-BVY:+Q3@1:7@^OIVW=G+"\"?QI:Q]ZUXDCFWG_AFYOZJ MIH7.-MWZ]>_4Q?.2[57>1OFKUD5V>CI058[)MYTR$+3&E?_ZH1.IT. MU6PR.WO"WNDNN%.Q=_J_@BNZ9\=UN1G>QI6NZ'( MD<*]S2X^NF'Z<^3\R>0 MG>V0G3UE_5^0/:T[G8S47E]]:DB]]^U*N\U//[R>35^=1_4UZY HV(TR13!! M!:6"#*7 / T;Y11\QO[C7-G>)M1BM&NC$A\,DQUBB M$! /H]'%+ R7*U'+<>JD=""578Y<,"X0 M9QAUR2%PBE!7IU.&#+]+V#])\A,E4;6)52 DC>XY@.*.,10&"R*1?23(G<"% M1@X84B#I&(FE:R&^73>F:OCA1OD*@$;JERR@6"XU@4BU91 2#T*%,0;Y[1PK MB=_&CHA\J(6:QWL34'^25][M)'%, M"$+'6/I+9(0Z8^MY%$">=4LRP7T>JH"@B_T]=9YCOKUY]N(_)?GT?R3YY>CE M?TWRZ70T?392W-:3TW-U?;0'&_!Q3B3C5,^MP6X&D"7.1Y&CC2U$E6Y]=A+N M-G^57IF$-%F/=HUE1%%(4-NGF]]!,(1--T?!]&M8\PC^NXT/0 A#$-5@?L A M@M][/$)&T5#6?&'>@SKH,9^0"VW--T"GP[8-M.2Y9?GJGD]'Z-YXU"./(:[! M/2@Q-]:DC<2S]MG6^[0@&O..$])ACFGK0^J47[] MI52/=P%(:.J.COUMU'$4H",/[BH5XDHYL@P9TL%!#@*]Q<+A/J:YM)C8 M8*RF9>-EVG"6*$1MQ2X] (;0F5J,?9Q_^RUUF&A=5O3J;G$PG0]6MYOT1 ?:[)=V34Q5J68;PNB$A$"\/)!89Y,0N MG?E&VZ3CE36EEJS!P*2C?#0E=<@_N5(L+A"*@\192\A=K>:(Z6!I;'""2;R6 M,8W-G.F^=2DEXW:/C;>UI+@E'5&35J9%2E#(J:RZA7&@C$%E9="(!$]X] D7 ML=M#CT%"<5\Q:0-YSC4P7&?T")"E+2^C+X.#!^HRFUI(ZKF9>I"'G,X8D<]* MEWNQ0]SRCH\53MNR*KOB=J-&I$S;G0 Z3NU#Z(BA5RO;&>:@>D4,]#5C;47U M.==+B1\[3'>1,0F?HH_,&.G);OJF8T>P?TS"_0 \("V,<8/$/$?S&7"+>6+L MX=F1T%VN.V"PMQN.'[E1M[R0<92[PT';5/L#YLWMW>Z "?S;%2;U+CZ+!$K=0'V^Q M=:8"@--=NF&#J?'XJ!,+@XZ8AP@6VAK#%KE 53^ /[IJ,A_$8L_-](VX@;_) M(R^11X_&R.G&%S>>Q8O/S @!/#$DL8*5I =3)Z]7*@0OEH+S?) MK^1#>>X3/KOELD$Z*; WB^\3]L;=K#[Y>3J;U!+ P04 " #T@:=8(-=] M$VT# #"" &0 'AL+W=OZ5K9DG4A\@T&EGI ME6H1I7&<1S7C,E@O_=Y6KY>JM8)+W&HP;5TS_;1!H8ZK( GZC<_\4%FW$:V7 M#3O@'=I?FZTF*1I02EZC-%Q)T+A?!=?)U6;J[OL+OW$\FM$:G"4[I>Z=\*%< M!;$CA (+ZQ 8?1[P'0KA@(C&[R?,8'C2*8[7/?I[;SO9LF,&WRGQE9>V6@6+ M $K=_>09WG#+%LOM3J"=K<)S2V\J5Z;R''I@G)G-9URTK/K6Z8EEP<# M6]1P5S&-R\@2KCN-BA/&IL-(OX.1P4>*?SYQ+,<"1E\ MZEUUSO03M= /DOR$\..99WX:KOT \S"9Y2,Y2<-D/H.;9[?_M1N^^G:#Y1OV M0'P.Z.)#K@;C8DX!:JVQ]+P+>:^2S),PBY\?3O)9F&<)W#B&U!H!]WOJE2ZX M'N6-ZW8EL"/3I1FTIN$B60Q2'L9I?DZF["$OTLG#9.1>1R^?S6'C78=](C>4 MR!YEY+!X$D]?BO/."J+[CQ5[\;IIM'KDU.A1/$$^2:G="N$G!X5Q/DD&^7@R M%WIS3U9R8UI?7BVE&3UN57'_THE')#I262JH0K1E5UFN5L;U4S!1M,)76G_\ M;THII"HW#?JI)YY"V&'!J)@=WE-'A$G+^TA-OM7$HM%&PO=V]R:W-H965TC,5=; M(;^I-6.:/*1)IJX[:ZWSU[V>BM8LIRB6CL5F4)KV@ MWQ_U4LJSSLV5&9O)FRM1Z(1G;":)*M*4RMT=2\3VNN-WW, GOEIK'.C=7.5T MQ>9,?\EG$MYZ%968IRQ37&1$LN5UY]9_?3? ^6;"5\ZVJO&;("<+(;[AR_OX MNM-'0"QAD48*%!X;]H8E"1("&-]+FIUJ2US8_.VHOS.\ R\+JM@;D?S!8[V^ M[DPZ)&9+6B3ZD]C^RDI^AD@O$HDR?\G6S@V&'1(52HNT7 P(4I[9)WTHY=!8 M,.F?6!"4"P*#VVYD4+ZEFMY<2;$E$F<#-?QA6#6K 1S/4"ES+>$KAW7Z9JY% M].WB#OB*R1N1@JX517%=]310QSF]J*1T9RD%)RB%Y(/(]%J1^RQF<7M]#U!5 MT ('[2YXE. '*CT2^ET2](/!(_3"BM70T M_ *N6TN X)724URJG$;ON@"L<_/S3_ZH?_D(SD&%<_ 8]1?A?)R2'WCD%#5RG^:)V#%&[K\77._(^RQB M&;H(F24T(Q\S,F>Y9NF"2= :L$?=XE>,T.&9CO"E*:+A(/QQ81K96:0CVG& M%X4Z0E6*E:0I.4,2/_\T"8+^I5F!VYEW__*<;-<\6I-^P%R[=P6RS7U*=Q86R41V\;V@"5]R0*10X$3D M*&2@;U]I#H82<2MYB9$"/H'I:,DC72TJ,H[C"$/ 5M(.MSCU4#&WN>0)\:?& M-?RGE!+XCR@%57U6:0.FEE.:2O'(9R.&]M<32D(-M41 SG@6)46,VJNEQ"L( M[F/+Q7PDU-I18?*@O#% M(U9*GB2P):H3%OK]$@]=:M94,<+RR*W+Y/LJMZD6[80J_(:4G8WHM820D]I, M@?X8$XCSX/(NT!.N<-E2)% OJ-N^+TP$1S4\"2X-V5K;U4JR%=KD_A=G^N[]WMH^ M1GVT+3=\]F^TI_.#Y>]A8PZ%7D2^TJ1@Y&.A(8QE)F98&WK+(IN*2CL)R;0[ MG085A5?$'WM]OWH?>5._^7$Z[@ZGDPJGL6,0@?&)X+CT3HT?>SJZI<\#Y3-_ M.CAD=.*-)R\F"KZS9!SAG@7A(W"+KCP:!!)1AZXWY#1OWF%L&H&PS'^Q(V4?4H\5%W MVA\U(8;><-+ WY\T/PZFW7!<;S=O)2.;N,JH9XH,V#TJ, 4H#)&VE,#XNX"\ M 16!_,:T2]<0]'(FS;$)\D8YZH(_K(NYV<0D5\G(%O] _&VG0V>G/V@S$A<2 M1YX5B3WR]@6S315RDH_:+Q"J#S(/G\-!FX@TP8^()RS8EBM:: ACO HL&Q-8 M8/(AI)<(Q0!M#85D"RA>#3T?SF=)8O(?S'D%Q??$C9A*!#T#+"?968!EP59E MY86 F@(!5E5KJU2^P\]5F1QS3-:0B5F44! X9-<LI[R!>NIJH#\-/^B*HCX0A#;WUW['!8]KN)I5#I[Y8H%]P\J4PR@ MOY"[JP"V!I'7E'XQ@GN+HGQ'N7Q!>G44!A#?^\UP#.$YM'0!1M -)^,#$&'H M32;D*^@%<]8@'!Y)6I!50O*NSFRC8Y,@LTV>SEBC[JB5,<*^UX!"5+ M%$85$HSP38C=6,PO[M'9G4D.^HHLZ:CS!YQE+VPB+^YB(T0K.?@ M04@\\!282G8EV*<<:<\79O\T7W#/V3&?.%EJ/S71>8QUB:==K7::/=_Z$SXT M:7K0P/="O_(@-^Y/1@>@8&90^=%S2E,=K#1: ]_V[V,-]ET7CN5 MT=Z6'RM5RB/GZ3+%E3W.!*U%FUZ;&5]3/&6S#+L=QO9C3'CM RHIE/-A;$Q" MPJ4R$63.TR*QA]]4Q"RQ$'&6M5\K!' /6R8\WYJ-I#YQ]D]";D@LR@++AWA7-55MBQUD2MZ<[9563-P+92-!G6Q,' M(V^OGBWEW.[^/>!O1CZ;R-CL,T7-::R7;(T-_0W#'A0V23!X_IW'_<\F>#4[TP=3:F,_,]R) M0@%<.*7:LPHZ\DR*N(BPW(+Z3>3(8<,AQJ:<;3@(O$_)G";8@[3&[V*Y[>AC MAZG(T8<&K.]DVUEQ0[56MAD :B6 M!1ZK:N7N)(0L" @8%ZIS/,F=[>6F[V4XK/9LT7TNS#&A!Q<9X HJJ:I%7DV&[;P"'EVK@^27XX6E]K^=P[&*RU[@WAJ2T,K?CZ =%INT5 MKJ]O8>]5QP2?<*6L+3OC8<=>R_C7K3(S2WT0FC(@.;GFE&P M?)P WY=":/>"&U3_EG#S/U!+ P04 " #T@:=86R\2+)(# !/"0 &0 M 'AL+W=O#)MM]IJ6Q)40BM205QW^_0TJBU20UL"CZ8I*CF3-G+N9PN1?R M494 FCPW-5Y2Y0K0166*.F#F@8ID'# M*NZMEU9V)]=+T>FZXG GB>J:ALG#%=1BO_(B;Q1\JW:E-H)@O6S9#NY!_]W> M23P%#J6H&N"J$IQ(V*Z\R^CB*C'Z5N%[!7LUV1,3R4:(1W.X+59>: A!#;DV M" R7)[B&NC9 2./? =-S+HWA=#^B?[:Q8RP;IN!:U/]4A2Y77N:1 K:LJ_4W ML?\"0SPS@Y>+6ME?LN]UDYE'\DYIT0S&R*"I>+^RYR$/$X,L_(D!'0RHY=T[ MLBP_, MX>Y>,VVEY);WE<<4+@.-'HU=D _H5STZ_0EZ3+X*KDM%;G@!Q8_V 3)U=.E( M]XJ>!/S*Y#F)(Y_0D"8G\&(7?FSQXM\4?H^>O(UN_E 7JF4YK#S\QRB03^"M MW[^+TO#C">Z)XYZ<0O]E[J?1H_B<_!\/Y#+/90<%N7G&"T.!<@(8!4P1L258 MPKQT-22,%^03Y-!L0([2F.Q!@M'?BAJO#75!WK_+:!A__.7UTG+X4'&B2]$I M]*[.W,<7U%[3^@Z\$)*T[&#"5\[P#S+W9V$Z.:<^S5)RT[2U. "07#1-I)\5L#H4LD B.>A!IKX'+K+*/(G]$C MCRCTTY"2)(P>+4H[W*:OS/QP8D7]14;)7]:C9L\3FHD?IW-WBOU9-B,/PG0' M>UGL8RKBQ*=1-A$D*$@3)^@=W7+,$?CD3QQ$#Z7-6"NXS3(6K->I!AV..A)R M(?%2(;:40*X%7C'HN3 [)>JJL ERO=K#M"!MM_95N$8?$DJ3E"<8&/R^UAO7 MAU)B!:<7XRN58R.^Z%3;E[85;[E&HDH/29FD]T/LT_GB;"JA_GR6GA&<8SBE M.,X5*8'G!ZQ67C*^ U(+-6G&>39IQ2'WV+XYSD[& Y+X707Q^T;%?N! M#YW3EPSCQ$G>NAV#R9!K0.[L*%?8)QW7_;QS4O=:N.R'Y%&]?VI@>G<5]D - M6S0-S^2J-W@PU=J$2,\=];1/FMC/-[F.>D6.T5+?T3' M*[4/G8ILAB:G8T!5I:#.YL5J]3;OE''989?F'L-AY_MHC[1^ MV&?K[#SQV31ME(G\L#NJ!K]@_/7X&-C*9Y3*=.C(> -X*GO:7TA6'TW7!&W5/TW13,=F?< M^%?/4QTN FY6WPDHIH B\1X3)98_J*@.N^ '".+-:#)(4E,TDS-.-N5+#+QJ M."X>'GS7F-N7\>3. MW-)1:=QG?"D(PQ-FA]>OUF]7[Z^PWQZNX2K>?YA?331 M-"I=J0_!=Q#YCD+TZ;^ V**@'94[@2&^Z^4??/]D_4D%XWL"BXVR< Q>(U8, M.V;45IF.%H"&$0(H8G81*_ !>G>V!%Y%8"!","XE\X%!N)V ]GW@:5]#V1,+ M)UK"+Q=L FKVY?Q&E<:R"-;"38WC+M49IVTOM":>VA/79&C1@8FBB(F7JK0X M49GA3M J@A+%T>D^!"8OPE*H$%6=[UT$K1Q[,1M%WC'0"9"X=(KE+>'C14X5 M$/"9FR\)$LVH2[BSL?5]TX[Z^ZA]EW2+^6^J+!R$WB;BF/FWBE&TPUG)Q.$Z!Z R& MF6%=R[GP[O+$O'YU4ZS?O:=Y!Q=0\^;RSJ2JN,K(L5MP\8B;+DEZ?IU".HPI MKU;40LT/#>_]2]*&U-CG!2Z MYM#5\MV;#,+X!(Q&],?4=DL?N8FG8NA0-%TVUFQ&5NH+7D2T[3_ M?I3L>!F0!@-VL<6/]_0HD4H/QCZY&I'@I6VTRT1-U"VCR!4UMM)-3(>:(SMC M6TELVBIRG459!E#;1$D<7T6M5%KD:?#=VSPU>VJ4QGL+;M^VTKZNL#&'3$S% MT?&@JIJ\(\K33E:X0?K>W5NVHI&E5"UJIXP&B[M,W$R7J[G/#PD_%![";_5^5/)\TOL_RKQ,LET,8$S1/!8(ZQ-VTG]"K5TW+:$EKL)2Z!:$B@"'G,K M"1UPV&@<;*4KD+KD\>N,);EM\%RIT4G_M6BK,&4."K/7U+?BZ!T'^:;OWS_I M_2O -U\I[:#!'4/CR<>% -M/5F^0Z4(W;PWQ;(1ES8\16I_ \9TQ=#3\!N/S MEO\&4$L#!!0 ( /2!IUCEP$V:/PH -8> 9 >&PO=V]R:W-H965T M+K M9XB$1"0DP - .>ZO[[,+\$6.I(MOTFF_V"()[#Z[V'UVESR[M^Z++Y0*XFM5 M&G\^*D*H7Q\>^JQ0E?036RN#)TOK*AEPZ5:'OG9*YKRI*@]GT^G+PTIJ,[HX MXWNW[N+,-J'41MTZX9NJDN[A2I7V_GQT-&IO?-2K(M"-PXNS6J[47(6[^M;A MZK"3DNM*&:^M$4XMST>71Z^O3FD]+_A-JWL_^"W(DH6U7^CB)C\?30F0*E46 M2(+$O[6Z5F5)@@#C]R1SU*FDC>V&7XM8IKTR0T52!:%L\^*[O!9UUN5J6JA7'OW>"P"5.R0.L?Q*G!.8'&_UBJB M]BSJ&J"<*HB1UDK<&(!4 KS( D/AE!)5C&5%L;P-S1,!S(/-OA2VS)7S/__T M:G9T^D:\^[W1X>%/Z:5?WZW[6OI"O =I^S^AB_B:B%?(LA0R_PPBBX)#(7'3 M*=(@A2%B+;$X:YRCPS8R-'@8@::5&3!J> #:# [3>\HY@B3%4FHGZF%>0BPA MQ2W0UC4(02Y*(&Q( 3UP:M64 M*Z955(FP?M)9394L UE.J>2%Y ;/71D M99/'@-!8<6E,@ST?^7P$M%+3((ZF!__H@O!!29?2YAM6F@A"-3W>Q^XO.G9_ ML9=W[SRGUSL?=,7A2>C_WN2K:$N*X"$II[![@LNW58/_/2JN'O6FB*WG&2.$ M4H2XE .$XS7%L$>+9="3TF**_DI^44)M()<>?6P=LS92U7))A!?9AX( &&5% MI,)IC?4J!5*IY4*7.N@D:M<6I];*-)$-U=>:?"#RAGFRW[)!!<,V9!/NY\[1 M1*G:%.!3+$I>A['E Q5K6EHI2?3 M@,%,J1JPQW*QF+1!,H!F%%Q]@3[NH,* M)K> P+[/G*9,EOU>UI6#"N!VTQU0XELR;'JF(P@0%%W,S=G*VOQ>4R$R3"_2K#11<#R2*(-^>]_:7"/%40P M"52)*N)L13C(V.']XD3"0A3)+)+CKO&E;9(U%XY$B$ ][%LD?+9H2 M=9>+$W%';IM%6#9E6Z3\^)L(;'R4V3JW=3872,+&N>>IG3B@(29G5D9$L=8) MRG@7[O38,Z7M#GBXNM"01A6OY-AT6A%<6FC)&PA(G*0%!@<0&98.:O]"E1JG M2Z&3.-M;PU4QE@Y"GFF7-152%F(1V6]A 5;3DRYXP>^QVN&8M5G;L2OHD@V+EPUW'&V#4$FN93&9L6+Q(+(" :,20UD_((*V> T< M1=:Q?ZU)8 =U>"UU*6/DM>1&7/9GB&ZRITZ\[.K$R[V,/"_@A0,*S:Y5: MM&W,OE?.]EEENW 4OD40<^KW8CY\VE:6^UZ,PY^V^'X+!1?^Y0KQRZR27%VJ M%7Q$[FX=FC:A+;)-;*:X^%)#W=-F5Y[[U2TIIVXT20M.(E^RF#!#FSCDW!<5 M^&P?PTV-@KB;S">0P>2*& ,?Q?AIS>^(SG/3S,SK]PE&$/4114: !+BPH9=F M'MN87IA8T)5;I] EELAF% INYRB"-\4.SDX/[$Q^_JZ!C"AE-W+JZEL(^88A M!P!XX&49J236*DU,C!Z3F-W1 8)&>F*;H!>'5TO];SQ9@0T2Z5IB]*YI W=L MT;$-6*\%UWC(O81BOK0FU8=?F=>RC7GP&6E\GLK3&*,*KT29^@._/7WDI-P@ M,HLV4RSBJ'!*I&A/O/RAQ_6@JV7CM]B\8=Z/M6N"YGE)[&_1.Z=IY=58O*>3 M_HU+V(>^,QESQ"\;EU!U++N94VW%C(,(ZK(.;60,"7EW1&P9%2_GU^)X]G(L MTJ37\_.-\<$UT>8#<1W5_9/5I5&P&P^3D'9"W$3=$+ZT@B.7FY-43]I\%%3# MEG"WC:,BMFK'#V1(2W.]UCD5OI;:P)%K%?L@%;LF%=GFD<4&,=;E%+= M?6Q MJP.3F-O.>;0KJT@MZ, ]1IX*L@0'&FH/'6Q^A@)OVE+W3 MKNR=[BU['S%[F0 ^N4%' \G#]W7.&DMMQ^DH_=2N>6>G)#5E)7\YJ9M8"+^?JIU*CCKZX0_ MO8UJTYIX /Z#42VR]&:-:LR0GBC'8X]1/K03),Z?7LT1U2=F:4<0(HM 7Q$\V".Q.H7_0X<3JO[DB<^=T@&?[2)<.&UI0'IR?; M\F"[ZF]KP5VKHTW"';FQ*Q\&70Z_&8B'CH8RP]S9C\;#T5F LC>28B(&./J0 MX:[4TS@L$"IJ95W[VF(%;J;8A RYPL6JF^B'0T^*C^^'%&?"@= XA7U&??*Y MSOH:_X.3\VDIU3TQ)7U'@1;,U? M+A!\ M @ V 4 !D !X;"]W;W)K&ULK511;]L@$/XK MR)VJ5O)J&SN)TR:6FF[3]E"I2K+MF=@7&Q6#![AI__T .ZZKM7G:"W!PWW?? M 7>+@Y"/J@+0Z+EF7"V]2NOF.@A47D%-U)5H@)N3O9 UT<:49: :":1PH)H% M. RG04TH][*%VWN0V4*TFE$.#Q*IMJZ)?%D!$X>E%WG'C34M*VTW@FS1D!(V MH'\V#])8PB2;:0XH"D]39L=N%2=6@CCG+[*!LMS2DU.)VMX0EX"^AB2W8,U.4B MT(;5G@5YS[#J&/ '##&Z%UQ7"GWE!11O\8%1,TC"1TDK?)+PGL@K%$<^PB%. M3O#%0XJQXXM/I_A>9ATP>1]HZ^%:-22'I6<^O +Y!%YV?A9-PYL3LI)!5G** M/=N8^BI:!DCL44$5*4L))=%0F+_^H>#3E.=G*0[C&_2_YFTE =X\[S\NYK'R MRKW6!:($1]@G-)O[,<:CC>G<3^<8W0-1K013 M]WHX3.8^GDU>SV==M5ZZM[U_/,[964 M*\1@;Z#AU6SB(=GUD<[0HG&UNQ/:Y.>6E6F](*V#.=\+H8^ T\^PO4$L# M!!0 ( /2!IUA6;^2H1 0 .X, 9 >&PO=V]R:W-H965TZKF3&K.Y&H]UG$(A M]*7<0(DG*ZD*87"KUF.]42"2&E3D8^ZZX;@06>DL9C7M7BUFLC)Y5L*](KHJ M"J%>;B"7V[G#G#WA>[9.C26,%[.-6,,#F-\W]PIWXY9+DA50ZDR61,%J[ERS MJYO0WJ\O_)'!5G>^B;5D*>4/N[E+YHYK%8(<8F,Y"%R>X!;RW#)"-?[:\71: MD1;8_=YS_U+;CK8LA89;F?^9)2:=.Y%#$EB)*C??Y?8WV-D36'ZQS'7]2[:[ MNZY#XDH;6>S J$&1E N [P"\UKL15&OY61BQF"FY)1F[VHS:U M1J-R66F#\F 4GF:(,XM?I4RV69X342;DKC2B7&?+',BUUF T&3T*W.F+V=B@ M, L9QSO&-PUC?H*Q1[[*TJ2:_%(FD!SCQZADJRG?:WK#SS+\*M0E\1@EW.7^ M&7Y>:[E7\_/^D^5#!C?\_&%^MGJN]$;$,'>P/#2H)W 6']ZQT/UT1EN_U=8_ MQWWQT!0-D2L2IZ@J:&(D,2F0]=Z.6"CUDI5K\B3R"H8,."_BP[N(N]XG\F_K M*"M1L*PT.DY?M.2#/PWY##$42U#[>'GMK??$]T+JNA'!HL*2*0D\-P:1K$#O MF;XXCS+?NSCBC[D0IVTR'#'G- J#,PX/6H<'YQV.[2^I,!_0X]DA.T13%S9G M%.3"0(*-):Z*:O==2&6ROX7M.$,1."_SK1'XO]81&0[]JW"I=_%G\=>%K$ICES9:'=JIHT)W[G$Z#H',_HIQ%&-(G?+\WZ%<#<5K*7*Y? M#GH$_#^WPW#(>:?QC]*(?* S' +'0Y].>=0-+D,7,.9U MPVM)$0N.< &=1N$1CF-:N,Q[JO.<5^,FWKVY[(QR1 MT75V$K:]!G^ %/4,U(T;9]1G$XOH)RP/Z21@]JR?C(B;3FMO/ M%/^0@+(7\'PEI=EOK(#V+\[B'U!+ P04 " #T@:=81$_:4O " #?!@ M&0 'AL+W=O>>XX_+9*7T MDRD0+;R60IJI5UA;G0>!20LLF3E5%4I:R94NF:50+P-3:619 RI%$(7A65 R M+KW9I)F;Z]E$U59PB7,-IBY+IM^N4*C5U.M[FXE[OBRLFPAFDXHM\0'MKVJN M*0HZEHR7* U7$C3F4^^R?WZ5N/PFX3?'E=D9@W.R4.K)!=^SJ1<%KU$(1T0RGM><7E?2 7?'&_:OC7?RLF &KY7XPS-;3+V1!QGFK!;V7JV^ MX=K/P/&E2ICF%U9M;I)XD-;&JG(-)@4EE^V7O:[W80T7GIF(I3CUZ)@;U M"WJSXR_]L_#B@.*D4YP<8I\]T*O,:H&@FJQ7X<)SM1?QC"#Z0W7BB1 M 2]I@U_0(LXI8)_HX9&)7;%:.:&;Y0SVLKILKLDHS] M83C:AB0Z'E-E0R;3M"YKP2PQ94@7*.6L;5_D@)5*6_[>3FS0O:3OQ]'9=FM[ M\= ?CH--Q380U\LD>+Y>*[\CGFY MX^*KC $4^98FF;P:Q4KE%Y.)#&-(J1SS'#+\LN8BI0J'8C.1N0 :&:$TF3C3 MZ6R24I:-%I=F[EXL+GFA$I;!O2"R2%,J'J\AX;NKD3W:3WQFFUCIBB?:DA7G7_7@-KH: M3;5"D$"H- +%QQ9N($DT$*KQ5X4YJK?4@NWW/?I'8SO:LJ(2;GCRA44JOAK- M1R2"-2T2]9GO?H/*'E_CA3R1YI?LRK7!=$3"0BJ>5L*H0R39MEYW8S7:_$,>:N4%G[,\#\I%E- NA)7;\YN\!TR!D940P:NL. M)I42%-:1<]H3G-GGO3G'#LAMI@ 32Q'$ZX(EC*Y8PA33E>D>0/3Z@"Y9QERH M,\1,GW//_NG:01_ FY%EL2HE61;R% [*ZJ?M]-USXLR"4_+ %4W:VS>1<'N1 MF4]G+P_]TZ(X/H W5,8DIRPB"$)HRHL,(X:F)H7.99/ 0%+4O1" O*.:VFP' MY-\G;:@5P$I>(Q-*LA8\);R;T;+C']^>M<:VY;JS8;1.%K6Q J\-[%;U<"S* MW/9;(]]V38+O0C] ?GY-?OZ+R6]G^B:(SN@6==@ MYH[N)9M#7A]HI5H1DZ$N6H*Z'B;"X6T?T#=KGF"F:W2E.QYBJ%U[X0@]>DN[ MBIGC95]$AM"?%CDU3F_(T["D7JD9TL*=90ZF6TT>CS_F&MC>$:^W,23\Y27& MDK.^YIKF'X$*I'C;&3>\9KLX>"GJDP.FA>F,[09R[/41.YX^I.!>VAL'KUL# M__7WL9ZHY8^]!L%%N('$G]6)/WMQXNM*71<*N>:I%?<0V]+6?5+Z.CJQ-2^9GL"JIM MC.S4;O7 .#$]17HW(F1+DZ+,_2$EL-'PK//9O#6!XWGMC($Z#.HZ#%Y MW6&*;A@VCPFL470Z#K 1$^5]6#E0/#=W4"NNL/4WKS%0I#:] +^O.5?[@=Z@ MOI1<_ -02P,$% @ ](&G6(P=5R@? P / L !D !X;"]W;W)K&ULU5;;3N,P$/T5*XL02%UR*P65MA*718NT")8"^^PF MD\;"L8OMM.S?[]A)0Z&ET >$]J6QQS/'YS@^Z?1F4CWH',"0IX(+W?=R8R9= MW]=)#@75>W(" E4*7)/>0GD$J@N%>")&[)S2T<<]&[/-[B)3?63 M&O"D HS> (S)I10FU^2'2"%]6>\CN89A-&=X$JT%O*1JC\1ABT1!U%Z#%S>* M8X<7;Z1XE= *I[T:Q[JEJR!H#E M)03HB*?$FI(9C5-G2;GE:14BHFQO:],KY*V?O/M M;X=1$!^1KWH>:RL;7WR2-V]^*>EW*0VJQZP'_'9]%I5KQ1+0>/#DV'T_WBT8 MLK%@&4NH^#BI2H,F^(U=B7-EN1-R9*^;=>B'M[A(\=(@&L?#U7:O^<+5 M,]:%F)0+*Z^FM])@]8)[=NRIF%R6FHI4[S:).[]@"IR$2Y%H*1(_1Q:\J&N. MW7=5G5*=$W@L&=Y]5SA?V"+[02LXC!<"=A1&1VLC==$PE\I\-Z *E#@%;8I7 MX''4BL-H0_!715]KKC-(H!CAK:K]%2_E?:Z__G=?+?EI(Q^%+WRTN8T^:)\E M>VR13MAJ=SYFBZ7D3WJN^K?T%SJ: M38]6V:)+(4IFINFFC3&AY7'=%S>M57 MXB48X_\FX9!A:;!WL.\15?5JU<3(B>N/1M)@M^6&.;:WH&P"KF<2C5!/[ 9- MPSSX!U!+ P04 " #T@:=8>TL4+-L" @!P &0 'AL+W=OU0]N]W=MH0:*DV:5]BGWWWW'-WOLMTP\6SS $4>:U*)F=6KE0]<1R9 MY%!1.> U,+S)N*BH0E&L'5D+H*DQJDK'=]W(J6C!K'AJSA8BGO)&E06#A2"R MJ2HJ?L^AY)N9Y5F[@X=BG2M]X,33FJYA">I'O1 H.1U*6E3 9,$9$9#-K$MO M,@^UOE'X6A ZWF)%NP>0OF M?P(6D#O.5"[)#4LA?6_O(+&.G;]C-_>/ MY1,2"!9Q/?]<,C>$$7;6#P@K^. M]E"0+49X&$-WR436-(&9A6T@0;R %9^>>)%[<81AV#$,CZ''2^RZM"F!\(PD MO*H;1?7KE5I6.>@76"2$LI2D1=DH2,G-8GDHB.-N3D_&OAMW+P3DOJE 4,7%9$_Y'@?5+]T9!< ^/81X?!/ZY/IJDA/:I1/97B^]FEXT')&Y21WL^J'&?C HO82Y S=\+X[:*)#NOQH>Z@RG-[6P MW&LSFR6FN&&J'6#=:3?^+]NI]Z;>_COP;:T+;)(2,C1U!Z.A140[CUM!\=K, MP!57.%'--L=?& BM@/<9YVHG: ?=3S'^ U!+ P04 " #T@:=8YAOI0"L% M !R$@ &0 'AL+W=OFH10JB;L$EJ+UGRA7 M[AE[4(-O\>G 4!9!"I%4$!0?"[B -%5(:,??*]!!\TVEV/Z_1K^JG$=G[JF M"Y;^2F(Y/QT$ Q+#E):IO&;+WV'ED*OP(I:*ZIK M-9+3C:12YD@4-(+3 >:$ +Z P?CS)],SCGOL=!H[G3[T\0VF8%RF0-B4"&4S M8<6&RHE\ZC*X'_+SI\ R[&/R?SVK4),?M=GO!?E5I18NUMD".):*#[/N&E3= M2O+9WAI_EMD]<+4@KQIW@4G <:5*FI(_DNFNU6>S&8<9E;MOZGB)9OSE$7B4 M"" 3GD0;\>%?0+DXV%'_AA].L&Y&Y(ZF)9 ?I122YK%RE IE_"5$4#FRRBJ; MA%H86@W";\3T=<-LQIX>FNV7H:^Y8=#8.>,T5R%0$J;5';V7YKN>:UQ8^1V3 MH1DZNXX&NA^\&11WLBDDRMRA9>]B6H'NA/N#[H06BU4T;ZH5QM7WW>VXFFXK MKIZ_]=+3?,MK^5_@YH662D86(&3W)RS-=YP6BN7JOM&*D='^A.5IENL_C[ J M]=W@GA8:7MM$6W>#EOU&T'[IA)KM^SVESVU*G[MWZD[1K!0=X8[67&9;=K7#3# MTNS WS'"MO4@('<8794+CNUV) .RU297FXSQNH0P8X+7,\'3O"TFVH9N&3U4 M\1JJ>'M39:+6IX\>_5 ?M:],NFCRXJ[VFN":1#5+7F??AD?/Z/8.6@5M4CFF M;IL-J=;S9N#M&(625D.M?78!-;^AV;X:KW/.\Y[9W\%]=9:, MVN=G5;MS 5TD[$?_*!*NG[=S#K!U)-\1V41MF.1$SEDI,*IXLJCW%\6("6=Q M&4EL>!;8R178E\E69'TL^W8[TC@.R0W%!D+#;H4_@*S6*(]7/0VHQK H&-^@ MN%IH;U;+UERL%E\A1^ZGE2*-L?U)<"N@JH_;;$&H9K740LLGMTRBTHM+TRJ3 MAF8Y6R<;4PM,NXO'>V6F$ MC;7AAW5$X7]@IVELVE5C[]Q;8#VK5Y0*46;UD::S7^W'W#>3JFRX3L1#-1$> M3U5B)5@,U0F%<%5VAP6>IS WL%X?$%L/R2%Q=!,/\*N#7(P[4PS(YJ<$TGA; M?%W5&N$%2]&]%+>R;4''TSO/6*/6-0!FV*RZ[!#(_3*7]8U ,]M MJ \TUTSC?P!02P,$% @ ](&G6!:S'%-< P H@@ !D !X;"]W;W)K M&ULK5;;;MLX$/T50ET4"2!$$B7;&R[T M,JB,::^C2!<5-$Q?R18$?ME*U3"#2[6+=*N E0[4\(C&\31J6"V"U<+9[M5J M(3O#:P'WBNBN:9@ZW *7^V60!$?#UWI7&6N(5HN6[6 -YN_V7N$J\BQEW8#0 MM11$P789W"37MQ/K[QR^U;#7HSFQ.]E(^6@7=^4RB*T@X% 8R\!P>(+WP+DE M0AD_!L[ A[3 \?S(_LGM'?>R81K>2_Z]+DVU#/* E+!E'3=?Y?XS#/MQ @O) MM?LE^]YWD@6DZ+21S0!&!4TM^I$]#WD8 ?+X%P Z *C3W0=R*C\PPU8+)?=$ M66]DLQ.W58=&<;6PA[(V"K_6B#.K==>V'##+AG'RJ19,%#7.UH899R5WHC]Y MF\*+![;AH"\7D<'0EB JAC"W?1CZBS I^2*%J33Y*$HH_XV/4++738^Z;^E9 MPB],79$T"0F-:7:&+_5Y2!U?^AOR<&K[/7MVFMW>K&O=L@*6 5X=#>H)@M7; M-\DT?G=&>^:U9^?85VN\J67'@<@M5GFA.B@)/..UU:!/:3W/]O9-3N/T'?F_ MXXVV>BYJ04PE.\U$J2_]1SR^HO+G1SY ^A6-PSR>DWMV M4))S!Y"F0B%PY%/ L01\0CTR2<()?=&1Q.$TIB2+DT?'T@[OUD^P,!ZA:#C/ M*?G+133L>20S"]/IS*_2<))/R(.TQ?GZA$>I2+.0)OG(D*%A>NYZ3'R)3?YS MB?5R[P1F&D+R)YA3-7:>[G?5V'%\J!0>U?B)^)>E:0K0%=S=\( WDY# M:K>W41XOTI#.YI=C"PUGD^DEP=: #[_ IUHI$,4!CZ6HF-@!X5*/JFZ6CVIN M2"'6:8'MB E ,&ULK99=;YLP%(;_BL6D M:9.V$,A7UQ&D)MFT7G2+6JV[=N 5L&FM@GMO]^Q(2RI*%*GW 3;G/?Q>6WC MDZ 6\D%E )H\%3E72R?3NKQT715E4% U$B5P?),(65"-79FZJI1 8RLJUI#G!H1I/+9,IYO2"(_;!_IWZQV][*B"MZ;#ER-$QJ9&[7P50/W7X%/R(W@.E/D&X\A M/M6[F&B7K7_(=N4/ F^H')&)]XGX8W_:D\]Z6'Y5I2/B71BYMQA(9](MWL3R M)J_PNM5:BV+'.#6KJ/J6J<%,^S'F0[U4)8U@Z>"7J$#NP0G?O_/FXZ]]'L\$ M.W$\[1Q/A^CASZK8@30G14(II*:[' [GH]=Y@YM9G+E1]J$7N/MC.X,3_J>= M66=G-FAG(RHT< ^2)<_DFD>C/@N#B+=NWIE@)V[GG=OY>8[K_)R.SP0[<;SH M'"\&]_=7S4&JC)6D!!GA&<7"A)7CL6+RY7W4.!_$O=5Y _O2>_8;.^[1Q5V M3&T]4R02%=?-'=Z-=B7SRE8*]U]X4V_Q:DP95R2'!*7CT0)/FFQJ6-/1HK1E M8"IKYL##[5?V;X5X M*69!.,QH_'L4BO78&!@HA"79Q.*1[GZ&2I"7\P4TYL5_M*O&6@8*-ES0I ++ M&2116GZ3?67$ 4#R= /L"F ? ]PS *<"..\%N!7 +9PII10^^$20R8C1'6+Y M:,F6;Q1F%F@I/TKS^SX73)Z-)$Y,'F$+Z0;09Q\$B6+^!5VCY[F//G_Z@CZA M*$5/:[KA) WYR!3R>CG*#"KN:4N/4UCL%GW..+^)DM6*P(D4$ MT*6,H^)F=#E=4KG=5'ERN.49"6!LR.CGP+9@3'[\ ?>LG[ILTDGF:R)K6>C6 M%KHJ]LD3%216V5;">P4\3X';"7:M_L >F=M#0SJ&V;8W=-O#?.5D/BC5JZ5Z M2JG/Z2**8PBEV@"B+5G$G8)+$N] B>=ARSK2J[S4I0^ =V*>YUD'EVS)[=5R M>TJYCY"_M*)TA3)@Q>LM#0#111R5X=*EO7=Z%YWAB7;E=2_5KHFL95&_MJBO MM.A>^I-L$O0WJI+X%6I<>SAP[=?:M2OT=9_)-ZY\C)ZB)!\GL\Y2[!- ?=_N(_WE;9-MK2WYPE^O*25Z:F722^9K(6C=G4-^<@;[D/M!I MH4XR7Q-9R\)A;>'P7Z6 SHI$3>F@%R"L"SA3 B^U31-9RS9L-26=I4X,9/]_ M2 SJ65[Z6&ME\W6QM>_00=&-]66'BDN7CSK9?%UL;1_MQD=;?XIX@Q,7.:+3 M.B7P8NLTL;6M:YH/K"S,)W=YPWVVE%*#+W[FM#8;KXNM[6/3SV!U0_-F[X9/&XO^T+&/>S=\VO+TAH/AT3!?/9N/JFW:&:SN M9^Z!\ V#!%+1J55G5S+3RN;K8FL[UW0YN*\QWK1V(UK9?%UL;1^;A@0KB_5W MQ-O@))#@>LKO3GFRR+7ZYY%$+U,RITO=.G M:IJ+'QBM780NMO9OK4T;85OZ L_66NQK9?-UL;5];(I]6UD$OQUX%;[]\R,^ MCJA9US#LX/Y1X*EG\U&U34ENJ\OGP\!3:2Y9\CZL5F/=6(/>L/5W;('6"EP7 M6^F4>; ((Y/-JEC,XBB@FU242QSUT7K![*Y8)CHZ/L6WLW+9JZ$I5^'N"5M% M*44BM>=_ +U\N+D M'U!+ P04 " #T@:=80P0_)7 " #$!0 &0 'AL+W=O^F'2E6[;I\=N(!5 M8S/;).V_W]DD+)M(M"_@E[OGY> NVRC]8FI$"Z^-D&8>U-:V5V%HBAH;9LY5 MBY)N5DHWS-)65Z%I-;+2)S4BC*,H#1O&99!G_NQ!YYGJK. 2'S28KFF8?EN@ M4)MY, EV!X^\JJT["/.L914^H7UN'S3MP@&EY U*PY4$C:MY<#VY6J0NW@?\ MX+@Q>VMP3I9*O;C-73D/(B<(!1;6(3!ZK?$&A7! )./7%C,8*%WB_GJ'_L5[ M)R]+9O!&B9^\M/4\N R@Q!7KA'U4FV^X]3-S>(42QC]AT\>F%P$4G;&JV2:3 M@H;+_LU>MW782XCC PGQ-B'VNGLBK_*6699G6FU NVA"3."[=1WFR MFFXYY=G\JU+EA@L!3)9P)RV3%5\*A&MCT!HX@R'@]!8MX\)\@!/@$K[7JC.4 M9++0D@Z'%A9;SD7/&1_@3.!>25L;^"Q++/_.#TG_8"+>F5C$1P'OF3Z'9/(1 MXBB>PO/3+9R>?#B"FPS%23QN<@#WIJ9RH &KP-8(U:X4!=/ZC&ULM9E=;]LV%(;_"J$56PLLD4A]6,YL XFU=@&:(6C: M[6+8!6/3ME!)=$DZ3O;K1WU$LB2*B +F)I%DGO?P/;2.'IFS(V7?^8X0 1[3 M).-S:R?$_L*V^6I'4LS/Z9YD\I,-92D6\I1M;;YG!*^+H#2QD>,$=HKCS%K, MBFNW;#&C!Y'$&;EE@!_2%+.G*Y+0X]R"UO.%+_%V)_(+]F*VQUMR1\2W_2V3 M9W:MLHY3DO&89H"1S=RZA!<1"O* 8L1?,3GRDV.06[FG]'M^6TX^(Y*0 ME<@EL/SW0)8D27(E.8\?E:A5Y\P#3X^?U3\6YJ69>\S)DB9_QVNQFUNA!=9D M@P^)^$*/?Y#*D)_KK6C"B[_@6(UU++ Z<$'3*EC.((VS\C]^K IQ$B!UU &H M"D#= &\@P*T"W)<&>%6 5U2FM%+4(<("+V:,'@'+1TNU_* H9A$M[<=9ONYW M@LE/8QDG%I\H71_C) $X6X/K3.!L&]\G!%QR3@0'9^"N_$( N@%+FNYQ]O0+ M!W$S$)<#WT=$X#CA'V3(M[L(O'_W ;R3X\#7'3UP*%OZK,VB9[-72"MX@]DY<.&O #G(4\QG^?)P5Q$> MZ<,CLAH*;[EQZZ5S"SUW0.]CG,6"G'V6]XUJZ?[Y+,>#:T%2_J^J]J6XIQ;/ MV\T%W^,5F5NRGW#"'HBU^/DG&#B_J0IG4BPR)-8JJE<7U=.I+SXQRCE88L:> MXFP++E-ZR(2J?*5,4,CDS?5A@0)OBL*9_7!:&&VVL851Y?2G85#G;%GV:\N^ MUO+E:G5(#PD6\FLD_3(1_X?SGJQR72KY)S,X@RZ"T.W8UF8<:UN5%/G0<=6^ M@]IWH/7]E0JM^EB/BIR>$X8#%B>UQ8E^:4^6$Y!'"0N< MJ!Q/>MDGKN-T_$YZW[X =0=%VOF\\MX-:[>A?D$97DLJDL14/,WNV=!C1RLS MMO69%(L,B;7*-ZW+-WW+Y\G49%%-BD6&Q%I%A4X#6(Z9)TJET^H!<.)V6ZL^ MW=C:#"3UU'T'GF E-/90J:1:#=YW?=@UKLTXVK@JJ>RY \918QR][JE2Q9TF M#-P0=4UJU4>;5.3TIT.+VX GU"+88EF\EQ F7_R28E7Y+MZK =\H91I5BTRI MM8O8@";TWK+=0I-DN32J%IE2:U>VX5FH!]J7=]P^6U,:Q5EEUKSI M#MR6#<]"/=".ZKE]X#P+ B_H]2.CE*O,BJ:^/V"]X5RH!]WAKMM'VZF'4)?E M]?*C;2J2A@B& RX;OH5ZP(W( TGH7BZO(*M=1A.Z?5*:-@JX1M4B4VKM$C:, M"]\4:&QO,*H6F5)K%[%A7?2FK(N, MLJY1MLB0ZR+^M09]!J/4B M%_\#4$L#!!0 ( /2!IUA.C:AV)0, *D* 9 >&PO=V]R:W-H965T MVV\)^_>PD9*4-Z53M2Q(G?E\_Y\WM]%9V M+<<9Y%B>\#DP?67*18Z5'HJ9+><"\*00Y=3V'">R=8/)\!Y:N^Y5HO)V[)+%/FA)WVYG@&=Z >YC="C^S:94)R8))PA@1, M^]; /1VZCA$4,[X26,FU8V1*&7'^: 97D[[E&"*@,%;& NO=$H9 J7'2'+\J M4ZM>TPC7CU_<+XOB=3$C+&'(Z34'7+5Y^@*B@T?F-.9;%% MJVJN8Z'Q0BJ>5V)-D!-6[O%3%<2:P W>$'B5P/M7@5\)_*+0DJPHZQPKG/8$ M7R%A9FLW8LDX .ST%A0N61EC[%8R>F\P7F-Q@GRW@SS'"QKDPW;Y.8QK MN?]:;NNTZLB\.C*O\//?\+LDC"@X_JP?OX;(.N@+J X:K(=S48;309=$CC%% MWP$+=(UUG$0]HQ^#D51"/\\_FZ(I68)F%O.2G\HY'D/?TF^Q!+$$*WW_SHV< M#TU!_2>S5['Y=6Q^FWMJ;AXZU!\>_?:;[PMA,Z0W@'+.5":/FHHO':/"T7R0 MEJGG!F[;B+/&HB M#[?)W6YW,_-6[SW)HYH\VD4>-Y%'6^1NXB2;F;=Z[TD>U^3Q+O*DB3S>)@^Z M9NHK\E;O/\Z?W_13GL%7&':^-MTMKZ/KN\E;KB!WS0O<)+$K^>59/9: M'V&:./WCG1$F$86I%CHGL:_@%02P,$% @ ](&G6*4P$9=E P (P\ !D !X;"]W;W)K M&ULM5==;]LV%/TKA%8,+;!$'W;L-+,%),ZZ!6B! M(&G7AV$/M'4M$:5(C:3MYM_ODE)DJY#9NE!>;)'B.3KG\O+CSG92?=$%@"%? M2R[T/"B,J:["4*\***D^EQ4(?+.6JJ0&FRH/=:6 9@Y4\C")HDE84B:"=.;Z M[E4ZDQO#F8![1?2F+*EZN@$N=_,@#IX['EA>&-L1IK.*YO (YE-UK[ 5MBP9 M*T%H)@51L)X'U_'5(AY;@!OQ-X.=/G@FULI2RB^V<9?-@\@J @XK8RDH_FUA M 9Q;)M3Q7T,:M-^TP,/G9_9WSCR:65(-"\D_L\P4\^ R(!FLZ8:;![G["QI# M%Y9O);EVOV37C(T"LMIH(\L&C I*)NI_^K4)Q $ >?H!20-(O@6,CP!#D MC-;*G*U;:F@Z4W)'E!V-;/;!Q<:AT0T3=AH?C<*W#'$F_5/*;,7T+AC*NWR#D MT^,M>?WJ#7E%F" ?"[G12*YGH4&]]JOAJM%V4VM+CF@;D0]2F$*3/T0&61//')&;>Q'CF]TA.\=AM' V7O, MX[[8__,>QY,[ Z7^MR]X-?FXG]PN_RM=T17, US?&M06@O377^))]'N?\X'( M.G$8MW$8^]C3N[*B3.'>8(A<8\ZT@: N$'W>:\*)([0[U3:-9N'VT)!O1$?E M1:ORX@25>;-N^L1=?%><;T1'W*05-_&*^ZAHANL2]WZWD)?JV(KSTIR:- .1 M=1Q/6\?3EUP\TR'C,!!9)PZ7;1PNO3/_T+<=]SGVTUR2)Z"J+V467N!/NGO; MNGOKE;5P)R H/'4XM>>^+EC5F]A>GE,G=""RCN4XVA_)T4NF=L,^4"B&8NO& MXN!Z$@^3WM_AF1[/;S_R9QTF>X>)5]DM;/$R7>%4&U@50G*9/_4:]-*?>)![SY#L75CL;_]Q/[KSX^GN)\G\:2X%WFJP_"@W,"].7=5 MF"8KN1&FOHRWO6VE=^WJFV_Z;VP%Z,J8/4U=/N)5.V="$PYKI(S.IWAC4G5% M5C>,K%Q1LY0&#PCW6& 5"\H.P/=K*&ULM5E= MCYLX%/TK%ENM6FDZ@$E",IM$ZH16':FCC3KM[L-J'UQP$JN J6V2:7_]FH^! M ([;9#TO"3C<<^\]]KTLJW-,X915!HEL0T=9V(GB*36!YDB#V_1;' M]+"P7.MIX"/9[D0Q8"_G&=KB!RP^9VLF[^P&)2()3CFA*6!XL[#>N#._221V"VMJ@0AO4!Z+C_3P'M<)C0N\D,:\_ 2'ZEG? ML4"8>,'@ KGI9HQ45)9FDMTR=I,>\/@LE?B;03RS632XB)[U=@':-4 )1& MX.VWG&1R;L452.7*>QE@@4C,7X'7X/-# %Z^> 5> )*"3SN:Z,T#')XR[V3C-;/BE7C>);,"_OD@'P=W B?\7Q7U%?9(C5TTDAN> MH1 O+-DI.&9[;"U__\V=.'^H>#,)%A@"ZW Z:C@=Z="7'S#GLLV$>9+'2.!( M=@?I)22HZC^28910)LB/?OPH7Z0J;-!@?:K5'O#LWF)49IM"ZY+9ZG%W\IQ- MVY"ZKHDUB1:80NL2VTI_]W]H?TWC\H<['\\;]0O5J+97^73]4W7:JG97*V#E MWE^VJQV-(T 2N>O=XU)M*I,VJM&-H@6FT+HDMC+=G3UG?1J2V#6Q)M$"4VC= M?RY;^0_U\O_"^JQ1N_7ICKU>@>J=GTN5RJF4S'>F_8HUNA50.1T[WJQ7L?;1&5*"V;8\B^.R M[/)45,F/.7JC=^Z-ZOJU*Z%J0X1[Q';DI3+S<-&0CK7ONPBK#J7 MJVX$S&PO=V]R:W-H965TS4-IO>O[\Q$!)> M;^^4+PDV,X^?9P9[QNNCD-]52JE&/_.,JXV5:GVXMVT5I30GZE8<*(UL=)"5QZ91GMNLX@9T3QJUP7$_GW \W$<6-A MZS3QF>U3;2;L<'T@>_I,]=?#DX21W:#$+*=<,<&1I,G&>H_OM]@W#J7%7XP> MU<4S,E)V0GPW@X_QQG(,(YK12!L( G\O=$NSS" !CQ\UJ-6L:1POGT_H'TKQ M(&9'%-V*[!N+=;JQ5A:*:4**3'\6Q]]I+:@D&(E,E;_H6-DN8<6H4%KDM3., M<\:K?_*S#L2% ^ ,.[BU@]MU6(PX>+6#5PJMF)6R'HDFX5J*(Y+&&M#,0QF; MTAO4,&[2^*PEO&7@I\,_*,1 H3FJ'[9":31[I)JP3-W _-?G1S1[(,;1 MEU04BO!8K6T-BQL(.ZH7>J@6O=O0DZ7A-(K\3SI@*)(@C?_5!P*N?%L+/9J_?J0"*Z ML6 S*BI?J!6^_04'SKLA95<":^E<-#H74^CAGP?\V<7 FL)3=H MY :3.7FD !HQ4AZ,(D%)2SY1BFJ%9NY@CBID_R+\ ;[KI*AOX^*1#"T;RLM) MRA^YIA (C8!QFV[&R(YE3#,XC6;>(.=EG_.B0[EO8G;Y$.-5PW@UR?@Y%5+/ M@77^BB]_U5O>P]T/OV_C+H)ACG<-Q[MICL6NXL9X)'(ZQFX2Y+]^^'<]&7,W M&/DZL',N2\ZDDB]"D^Q?]F\-T8IR_WP9L')7SDB@\47=Q)-'S):H%!T(BQ'T M4HCDHN"PR2#N60'US11+G5*4@X!"4NA[M-F8O2]\4!:^9GJNA=8.DWL.D_O* M6-)/M=T/%E*I]FWCJUA M[EZ/U;)[4 W8C)U4^%RC\721KNK?_^>]Z'%:8;]+O&_DXS'FY\*-)PMEK[V0 MI@V?BV1>G"H98CEL.VFVU"!WO]=/.%WF4R85;_NBH\ZIW)<7#04G$>SRJD5M M9IO+S/NRA>_,/YA+3MFIGV&J&Q(TH'O&%>A, -*Y70(K65TZJH$6A[)OWPD- MMX#R,86+&I7& -XG0NC3P"S07/W"?P!02P,$% @ ](&G6->]9;6% @ M$0@ !D !X;"]W;W)K&ULK5;O:]LP$/U7A =C M@S7^&6=DCF%-&1ML$%JV?E;L^_NO;.D M)'LAGU0)H,ES77&U<$JMF[GKJJR$FJJ):(#CFT+(FFJ.9@J"" M3!L&BH\=+*&J#!&6\;OC=/J4!G@Z/K)_L=I1RYHJ6(KJD>6Z7#@?'9)#0;>5 MOA?[K]#IF1J^3%3*_I)]&SN;.23;*BWJ#HP5U(RW3_K<^7 "",X!@@X07 L( M.T!HA;:565EW5-,TD6)/I(E&-C.PWE@TJF'<=/%!2WS+$*?3[X >*')#'JU@ MR&_H#B3V#UMD/@+&-Z0R,42#K!6A/":LDJ]3UR-%1E> M-^NRW[;9@S/9?U Y(:'_@01>$(W E]?#PR'<11]Z,X+>C,#RA1?-&)/1XJ)Q MG-EI<]70#!8.;B4%<@=.^O:-'WN?QD2]$ME 8MA+#"^QIU>U&3\'/":PN_TR M=IEQ<@ JQ]M\.:D?M%#B>Z067)>*!!')Z6',Z^5?N,+KN ;N1+T[T:NX4S!. M>0;7>7,Y96]-JX;$9WVYS.-;'A)=;\JT-V7Z;Z8,]O_(MS)F0IO"]VP.<[7L M4F_B1;/$W9UJ/!,V[<,&"N)>0?Q_"H;]'*L_'BUL&KVH?SPLG+VHWSTYL,UE MB0?9AG&%^0O$>9,9^B#;"ZB=:-'8,WPM--X(=ECBG0W2!.#[0@A]G)AKH?\7 MD/X!4$L#!!0 ( /2!IUAER+O@YP( ($( 9 >&PO=V]R:W-H965T MF;!C8%Q+'/N_S'I-SG-%:R&=5 6CT4C.NQD&E=7,9AFI6 M04W4A6B FYF%D#719BB7H6HDD+D+JED81U$6UH3RH!RY9Q-9CD2K&>4PD4BU M=4WDZQ4PL1X'.'A[<$^7E;8/PG+4D"4\@'YJ)M*,PEYE3FO@B@J.)"S&P1=\ M>85C&^!6_*2P5EOWR*8R%>+9#K[/QT%D'0&#F;82Q%Q6< V,627CX_=&-.B9 M-G#[_DW]JTO>)#,E"JX%^T7GNAH'18#FL" MT_=B_0TV":56;R:8$$W*D11K).UJHV9O M7*HNVIBCW/XK#UJ:66KB='D+)B6%SM$=T:VDFIJ!6* ?#4BB*5\BMP#=4C*E MK)L^O0%-*%-GZ 11CAXKT2K"YVH4:F/(RH:S#?RJ@\=[X'=$7J !_H3B*$[0 MT\,-.CTY^ULF-/GT2<5]4K'3'>S5WT4 M,Z=H:W!5YD44C\*5QT?2^TB.^4A]K"XJW6(-$QSY66G/2H^Q,A\KW6$5.-G# MRGI6=HR5^UC9#BM/B\S/RGM6?HQ5^%CY+BL?8#^KZ%G%,=;0QRH\>Y@F?M:P M9PT/LAXK,.U_H4'ZB,,=8I;C-/I:+#4*$)V]1O0U[-L:#]_2;:X6.< M#HL][PW>:I/XH(%;4 J16K1RQU7]UE'\ 4$L#!!0 ( M /2!IUCHJ]G4E0( +8& 9 >&PO=V]R:W-H965TG,+C9_8X:5:6O]DFWKO>!BPM+*HBR:9%!1"U6_^VIS# M5D(4[4F(FH3(ZZZ)O,IKCCR9&KUAQNTF-#?P5GTVB1/*?91'-+0J* ^3.R!+ MEIVR>XZ5$2@HT!F[$8JK%)A?9G>"+X2L%X^O ;F0]H0=,:'84ZXKR]723D,D M.0XT3!OJRYHZVD-]S\T9&_2_L*@7#=GSXS4[/CKY&R8D-ZVEJ+44>=S!7MQM M)UGC1'HG\H^3+L$U\+ ;V-7'A2UY"K. "L""64.0?/[4'_6^'I ]:&4/#J$G M_A2.J]*EMT8<>417?NLD&D3Q-%QWZ!BV.H8?Z8B[ MN.JL>)NK'_>ZN>*6*_Z(:]3%%>]P3?KGW52CEFITD.I)(Y?-+2CY&_45[+P" MHQWJ.#H?=G./6^[Q0>X[L);Q0E<*Z>/ZNZ/0?5^A$"C"+B'C'2&G@_Z>\YZT M0B8'A&ULK59= M;YLP%/TK%JNF3EK+5T*B+$%J$U6;M$I5LW;/+KD)5@VFMB'=O]^UH2Q9"5J[ MO("-[SD^Y]H7>[H5\E&E )H\9SQ7,R?5NIBXKDI2R*@Z%P7D.+(6,J,:NW+C MJD("75E0QMW \R(WHRQWXJG]=B/CJ2@U9SG<2*+*+*/RUR5PL9TYOO/RX99M M4FT^N/&TH!M8@KXK;B3VW)9EQ3+(%1,YD;">.1?^9#XV\3;@GL%6[;2)&DZGG=( =]LO[%?6.WIYH KF@O]D M*YW.G+%#5K"F)=>W8OL5&C]#PY<(KNR3;)M8SR%)J;3(&C JR%A>O^ESDX<= M@#\X @:0/"O@+ !A-9HK$Y>1'*DI%\Y6:NAK%FBG=I!%V60L+#@B[IO*0K:/ 66+SS =Z$4:#7I\E$#!]U 4X435= $9@Z6 MF0)9@1-__.!'WIY,'P:A M'_PELG>V=Z9ZV'H9]GKY#A5PXG>)[P6^=3L=B6S/8]1ZC-Y;,M$Q/1Z);,_C MJ/4X^N^2&;W:C5TE,WI+R8Q;>>,CEZ<6N;&@'_\#N]\A"F3]2E<=[0H[$'V(#0>B[:9XL4%I G \;40^J5CSL;V*A3_!E!+ M P04 " #T@:=8\G:'"M," !$"0 &0 'AL+W=O= ACRFG&A!TYJ3'[INCI. M(:.Z)7,0^&4N548-=M7"U;D"FI2@C+N!YW7=C#+A1/UR[%Y%?5D8S@3<*Z*+ M+*/J;0A5HM9B=5C-&NR9=4)5BX3^.0F\H+T# M/CH,'T/5=JES&L/ P5+2 MH);@1._?^5WOXRYQ1R+;DAHV4L.2/?SM?I^3*ZW!:$)%0FX9G3'.# .]SH.$ M8)4]0%PHQ<2BC+J30C4#0ZJ9)E]O<0)R8R#3WW89%Q[3N".1;1G7;HQK'\R1 M:2J5N3"@,DS])6ACZV1GKE0\?E5Q]A1=1F'0PCQ=;FHY.-L_:NDT6CH'M=S" M$CCQR7\#Q1SWAAS N15.E@\*#&PS"7FNW6>)#_;[?U2&1;5G0;*[K_ M53UTCVGJX=9I*H[N^H8F9?7WDP:O$3+9HJ_.:!L 'Z? M2VG6'7N3-C].T0]02P,$% @ ](&G6$]="'?:! I24 !D !X;"]W M;W)K&ULM9I=;]LV%(;_"J$50PMLEBC9SL=L VFH MH '2)4C6[6+8!2W3-E%)]"C:3H#]^)&2(IF.S-C Z4WT>1Y*[VL=Y04UV@KY MO5@RIM!SEN;%V%LJM;KT_2)9LHP6/;%BN3XR%S*C2F_*A5^L)*.SLBA+_3 ( MAGY&>>Y-1N6^!SD9B;5*>)"K664;ERV>6BNW8P][KCD>^6"JSPY^,5G3! MGICZMGJ0>LMO*#.>L;S@(D>2S%;Z,P\@4E&?\R=FVV%E'YE:F0GPW&[>S ML1>8*V(I2Y1!4+W8L&N6IH:DK^/?&NHU8YK"W?57^DUY\_IFIK1@UR+]B\_4 MVC&YG2=JD>Q_<+J&QH87B+2HOR+MM6Y@]!#R;I0(JN+]15D/*^6]+D6 M8J< ]P\4A'5!N%<0'AHAJ@NB8POZ=4'_V()!75#>NE_=>RD/#<_E";AH%DQOF37[^"0^#W[H,@(01 M2%@,!+,LB1I+(A==_V*>>;;.D!**IBC7K3IE&R9UTT22ZM[698N3>*HMD#!2 MP7#UNS8OC\V@ M+7\(:0DDC$#"8B"89D&PWT8(Y* Q$,RRX+RQX/R8MVZ7L,[" M4X6%A!%(6 P$L]2_:-2_ .U)%Y"60,(()"P&@EF6X* -9L&/[TKN,4ZUJJ:] MZ4O]O;8$.FH,1;-]V G(V.G#'5,Z'QL/KB6;<=4ILQ-QLLR0- )*BZ%HMAEM M7L:P@1F#)F90&@&EQ5 TVY@V->/C8O-42%W+\P5*J!Z.J^ZV!)J8:]IP-W(- M@B#8[TJ0@\90-%OO-C9C=V[^G6W1(]N(=&.TKCH3NM&"IX\!5-$QFKLSM7W:U4HFL],AW((#9J<06FDINW: MMN=8[#S%%JX-P]B=AIW-'?V'GNYO'CNE!,W*H#0"2HNA:+9!;5[&L($9@R9F M4!H!I<50-'LZK0W-H3LT/Y6SY6;>@'7.GU75%W9^#>U'^MH]QLDS8Z!A&(IF MZ]N&X= =AM_K3%>ISLJY><=^I@5#CX=\ ,W+H#0"2HNA:+9?._/+P!/,L#/, ML%/,L'/,/R(OAVU>#MUY^;U&%74U*KS?J$#GBD%I,12MTM??^<+%?,#TE&PO=V]R:W-H965T M^JB7@PH$8]:,@2'R&"?>RU*W=R"P5*TT)AQN)U(HQ M+)]G0,5FZH7>=N&6+"MM%_PLK?$2[D _U#?2S/R.I2 ,N"*"(PGEU#L/S^:) MC7H$5!!1R;1FP>:UA#I1:(B/C5\OI=4=:X.YX MR_[->3=>%EC!7-"?I-#5U/OBH0)*O*+Z5FR^0^MG;/ER095[HDT3FTP\E*^4 M%JP%&P6,\.:-G]H\[ ,3S\@:@'1:\#H#4#< F)GM%'F;%U@C;-4B@V2-MJP MV8'+C4,;-X3;KWBGI=DE!J>S*YX+!N@>/Z'!!6A,J#I&G]'#W04:'!VC(T0X MNJ_$2F%>J-37YD@+]/.6?M;01V_0Q^A:<%TI=,D+*/;QOI':Z8VV>F?10<)K M+(9JG$.4\\4H *Y M!B_[]"%,@J]]QOX3V9[-46=S=(A]:U.;OZ268DUL#?<9;E@2QV+[QSH+)Y/3 MU%_O&ODS:#P.)EW0GL!Q)W!\4.!E68)K"$ZCQ!KZY#4<8;!S=# ,3U\+[ V+ MP[!?8M))3-XID;QD4T(N>$XHP;:IG:""J%R"-C$:F$(#K!!&-<@_5^LS<"4T+ M?Z%I+A13NDO"%:)0&LI@.#&?239-NIEH4;L^MQ#:=$TWK,R]!M(&F/U2"+V= MV .ZFS+[#5!+ P04 " #T@:=8>L32QWD# B"P &0 'AL+W=O4]WP##-SD7-56X%&M7;@30S#C5E1MX7N36M&1.,C5[2Y%, M>:.JDL%2$-G4-17_SJ'BNYGC._N-;^6Z4'K#3:8;NH85J.?-4N#*[5&RL@8F M2\Z(@'SF?/8?'GWC8"S^+F$G!\]$2WGA_%4O_LQFCJ<9006ITA 4?[;P"%6E MD9#'/QVHTW]3.PZ?]^B_&_$HYH5*>.35]S)3QX4@+?ENBGDB>5PORX>8CN2$ND?JM)"4CSZQ4\G:P\5?!&TE9AILW!^NIJY"D M_I2;=H3F+:'@#*&0?.%,%9(\L0RR0W\7Q?4*@[W">7 1\ L5]R3T;TG@!2,+ MG\?KW<,+=,(^X*'!"\_@?6UJ$%1Q\6"+3>L[LOOJ*_T@-S2%F8-W5H+8@I/\ M^HL?>;_9A+T3V(',42]S= D]^8H5J&0IK\$FL_6-C*\N--LD]L?1U-T.Z9\: M^8$?CWNK U[CGM?X8O@7P#A>H[,','[/ W@GL .A42\TNG@ WTT!@^R.;C'? MUD#P+&JLF]VEQ8HN%=Y0O/NV,+38XV'L8S_TCH_(8A:-H]"WGU'<4X\O4E^4 M5:.+.X$\QVI/>-ZROM/U.B-T1X6]LL0G=$83?W+$^=0H\H+(SGC2,Y[\OV!G M>PG7A7MB"7?DZW)U0-UFA@&/[>0_]>0_720_I[),">P;P08;@6%M(]HB308, MO'OOF*;5*/8._LZDB._]Z%O>SY,$L^$ZWAW83XC;K:YD/NBX_E7)0O;)LN^C M4C;TI0+28.=#+8JGKPL_M8K]@54KV!U,&]C+UF8(DUA?&J;:MMSO]H/>9S/>'.W/]0!HII@? M,.WTB$UW73))*L@1TKN/D9)H![)VH?C&S#0O7.&$9!X+'&)!: -\GW.N]@O] M@7XL3OX#4$L#!!0 ( /2!IUC,_(%6] ( +L+ 9 >&PO=V]R:W-H M965T:@JB21S(%:&211U0D8H#P8]MS:2@YZ8 MZY)R'$E0<\:(7 ZQ%(M^$ ?KA3'-"VT7PD&O(CE.4-]6(VEF8<.2489<4<%! MXJP?G,=GP[AM <[BCN)";8W!NC(5XMY.KK-^$%E%6&*J+04QKT>\P+*T3$;' MPXHT:/:TP.WQFOVS<]XX,R4*+T3YG6:ZZ \*BMNV>!I#.E19L!38*&.7UFSRM K$%,#R[ 'PZ-7QE<"&8.6Q$7KH-+U(26ZD,O MU&8?:QVF*\YAS9GLX6S!C>"Z4'#%,\Q^QX=&7R,R68L<)E["&R*/H!5_A"1* MVAZ^5N-TR_&U]_!=/K7B9[9\Y415+L!^92*)2/ M& S>OXL[T2>/SG:CL^W86_L.IR 2#Z=_'LZYE(3G:&Z'AND2MNU&9.F6SQ=$ M9O#CJZ&$:XU,_=SE7?L5O#MNO#OVGL(WE S$#(A5NDN<'QY'L$0BE4=)IU'2 M\5*Y2P"BLK%5NY1XX2\,4[<1UWWC).B^@G3X+111V]T_02_?"L,71YK\=O7%:K 3\ M9P>W"E/\CYGQ#,'SJ1$G&S&)EVN$TG5 IF* LA&%>9T=HWW9X2=\:?0V%2YN MO75ZO$9EC#>E,?;6IK])#S]!:W]ZA%O]%$.9NZY102KF7->M5;/:=*;G=3^V M,:_;6M.ZY)0K*'%FH-%1UQ0U67>*]42+RG5G4Z%-K^>&A>FN45H#\WTFA%Y/ M[ 9-OS[X!5!+ P04 " #T@:=8[7G"6NT$ #$%P &0 'AL+W=OK M=KU7>VD2 U:3F-D&VF\_YX$\XP%J^Z+DP>?X_(Y/[+\]VC'^)E:$2/ >A;$8 M&RLIU[>F*?P5B;#HL36)U9L%XQ&6ZI8O3;'F! >I412:J-]WS C3V)B,TF=/ M?#)B&QG2F#QQ(#91A/G'E(1L-S:@L7_P3)N_]]Q1>P; MJ4I$ &8L4M4A<)K?&Y"^ FQ=IIO*#W!Y3R2FH;A2+5Y?[L'EQ16X "80*\R) M #0&KS&5XKKRX.\5VP@U^9$J%D 1B^GFXTRQ<="!<"SRR6*X$>(@# M$G38S_3V$&D9D2>,XO<(ACGW219ZYLU-WR0RWG7B> MAT;FMDJD[?-,(KL@LO5$V:@!\DZX3T5GC4_M%L4-] 8-"FT_9U(X!85S%(5: M9A:$RFX*ITV1? (U"&TW9T*X!81[='$]Y#5VN++<=F6YKMW Z6A4+;]:F,,B MS.&1%;-62Z.:QB4#6R)D5Y##5O_('30+1]O=F3GW"ACOE/+'\[ SV5Z+P_'Z M3H-#V].9'+!?KJM][43\,Q40:CCNMH0K000>\B\:/'':74*YQT^:ES_+6YV_ MHBO@^5,SN%0R(&!AB+D :[5>I6+AJC,I63?#REA#M]>'C<'61W,N+2IIT6G3 M]BF$F6MH51"'/=?UJG]-7&TXY^*6(@-J5_7V_'X*KM7&1H(7X%<("ELH" M'B\M2&WV/X5UT&95U0N;ZT+>[G"1UR%*,0&/51/UM>$4!+MCN.R>VR3X"KD! M2[T!CQ,+W7 M81XSLCLBS:F_0DVA4DTAK5KI_KX/#_;_>-N/$?(.\NH]G,M;JB>D5T]WRR4G M2RP)^*9*G,:"^N '#C?D&K#*PG0Y;2JK[G1DG3G5^F#.A>Z%%%( M+Z*.A:XOQ]W$J+5#@*[CHN8>(6^GR4R=I51(2*^0-"S';-1R[[6=FH/LYJJK M#^+< 2LU$M)K)"VD=@.7.Z[E?>!9;@OP4\]BS,HY:43X,CT^%L!GFUAF1Z;% MT^*(^BX]F#7+YMGY]B/FZLL3("0+9=KON6JH>'9DG-U(MDY/7>=,2A:EERN" M \*3!NK]@C&YOTDZ* [N)_\!4$L#!!0 ( /2!IUBF^9<#?00 "@5 9 M >&PO=V]R:W-H965TV6'%*0AV4 MQ+;K.#T[(5%J^2,]-N7^B*UE'*5TRI%8)PGA+S:$N@HO8+'0OVB;SW4L%*R%9$D>#!DD49K]DUTN1"4 M<)H#W#S /0SH' GP\@!/$\TRT[1NB23^B+,MXFHVH*D#K8V.!C91JF[CH^1P M-8(XZ3]*%CQ?W( 0(9JP!*I#$*WO!;H.PT@=DAA%:58PZL+I+94DBL493'EZ MO$6G)V?H!-E(+ FG J:BIS22XKPR\->2K05)0Q@\V3L?V1(XJ$SL(,_W)LO7 M/9*OA^Y9*I<"?4E#&N['V\"]$,!]%>#&-0+>$WZ)/'R.7,?M-.0S^?EPSY". M5]P/3^-YQ^Z'$NUB5K\?UYR3=$'A"9)H]H*J\Z;D10]?;PD/T=]_ "2ZDS01 M_S3IFZW?:5Y?=8TKL2(!'5O0%@3E&VKYO_Z">\YO3>*T!+8G5:>0JF-"]_]< M2R&ABJ)TH:I!_U.E8USPG72Z!9VNDJ2(4B.XH#R)Q M^.1EZ?5J$N-AYR [XS+O5+A?D.@;262]+GMF@NJS17?JN%'R?DU-U2?P :M^ MG3D>8*]9\T&1[L"8[CW91+($*FD+)-V5N M!'_K<]X2V)X.PT*'X2>WQ&&;4K4$MB<5=LK7N=-ZC>>0U2+W:FVE89)[K*O@ MBOO QG2GE&MG 4T;02M'\#I]!N^:^9&\Z32F;(1]ZRUK"VU?!+<4P?WD L\3 M:$NNEM#VY2H=$C:Z"O\;B"*;WT!Y9+41U^KX(RP++CT+;M.TX+IKP5[?.Z3T M$;8%E[X%FXW+3WF#',-X9XS+O)=&Z7"PV>(\4 $&+(#*RM^P^C,&G3X\/HFS M1DHM>9F<_4-?2V[= ML8 KKQD;\UKOY5(Z(-?L@/)*.D<_](X3/%9D0SE94+105U!()$5S,]%LA4'5 MOWF7@\$AT59=CEW9E&"VV^Z[U)M?!^ V^FF2;=B5, MMH<(9G !7\0HIG. ="[[4)0\VY;+3B1;Z9VM&9.2)?IP24E(N9H U^>,R=<3 MM4"Q.>K_#U!+ P04 " #T@:=8SHN#S?,# #:$ &0 'AL+W=OP!/FX6W UO)G/'4\S0A2B*1V0=5C M#_>0IMJ3XO%WY=2I,;7AZ?CH_8,)7@6SH@+N6?HUB>5VZH0.BF%-BU0^L,,? M4 4TU/XBE@KS%QW*M6.%&!5"LJPR5O,LRKE3<],*$::T4NR?6N+"577Q-E)V=+R:+GZ[F**T;W+%.;+:A) MUS5Z6#X*1/,8+?3@W7N0-$G%%1);RD&@)$=_;5DAU HQ<:7BHCVZ484[+W%) M!ZZ//K%<;@7Z/8\A_M[>53'4@9!C('-B=?B)\@'R\:^(>"1 /R/WR+-\6!#\ M.E6^00@Z$!Y 2)Y$4F7*9 T]YHE4B=%YNFK+@-6=+K=;L:,13!U53P+X'IS9 M+S_AD?>;A6Q0DPV,=[^#[.L^0VMR?Q22"'5T4GR M#5K!)LES,Z(IS2- _[;N6LFZ]#LT?G7/V<^",?$F[KZ%S:AF,[*R^X8RONDSI2/X =G\%>!_ZP'3:L84,KK.IG:TA^A!R>(X\Z M@&]JX)N+=QVJS;]@RV_.F(Q&7D?JL==T/L]:(E]-QU9)N-L#5PJ$S"E JHT" M^D 3CIYH6D!K:_/>H'+P2N5RF_3$UMC*C'# MT_,=#CR_(\ND(4LN*JV^M$KOV#_AY?N#,.S@U31S;._F5>GUI>6?TR+C >Y* M5].VL;7KGI1F7V9!"[-P$'0EK&G8^/*._:)V^U(=GATYWQN0#J)-+\?V9KX M;GZM:F8&'!6E4"^ZA-KNL&\]-R* QZ_6:FP5DKX4&\' =L7H+]?X7$:"L$.N M<:,CV"XDEP@V/I<-'([:D4FC&L3:W/M*6.7U>PWK(M,H <%O)&'$*C$]SQ-I M5('85>%-)*S"/.TG 1[XN"/+C500NU2\4L)(BU8H7J2C(Y-&*XA=*_[_CEP! MOLS@"Z+NR74S [XQEVJ!(E;DLKQYUF_KB_M=>5UMEI>W?G5K4YLO4 IK9>H- MQJI >'F1+B>2[&ULK95+;]LP#(#_BN !0PNTL>,\NG6)@:0/;(<"08-VAV$'Q69B(;+D270> M_WZ4G'CIYN:TBTW)?'RD*'JTU69M@Z,M2 MFX(C+#V'/7@3SE/4>>C(S>,N.TR9L3?*K>FN"$=KJ^GE%?&[G1!9VVY+]^6RJN6)I3,KG6C9Q3T@%])>DL8,C&\+E0*S M.3? *B60=&;S%WLY"I$ 79@P/>](*<\L>5 ;96_N0$FNRBX_9 M3>.S#I^XZ;!>]XK%4=P_XZ_75*OG_?7>JY9+\GKQ;[4FQG"U NI69(L].]6; M\;W?GFRYR:[8(Q?&EQ;>E)6KC#T!YCK34J_V[,=D8=%0S_YL*V--V6^G=/?X MUI8\A7% %]6"V4"0?/S0'49?SM2@W]2@?\Y[\BSLFLY^:0"84 @4 9GA".RB M!)-2JG29+Z]'+S"S K/]\L M2W6EL!X"S6XS0B?UY/BC7L]?NBLK09TH84FF4>>&BF'JF58O4)=^CBPTTE3R M8DZ_ 3!.@;XOM<;CP@5H?BS);U!+ P04 " #T@:=8-S#I[<0# F$ M&0 'AL+W=O%?X^.0;9RJ6Y'<60=3TMS&V*D#O&.#" MZP3\1L4M\=W/Q'.\00N?Y?]W]SOH^)7>OL'SK^D=4P&EJ#E]P0VA"!6"LBWH ML43YBKV)0K>I5Z /VM'UGK^3.0UA;N&FEB#V8 6__N*.G-_:0N\)K"'$H!)B MT(4>_."*ID1>R;&VT N\D<'3I],^T)_4G=G[>DR75JX[WY()M>' 9C?^R?'06%T;!F-/#'T_9CS'5.M[W3279%4Y"? ML8 03Z 2MB5X2Y=E!NCB+L^Y:,W;;MS7?J^^T)HJU&H>]UUSMX3O2XR>T)IB M>"A#7!]P[DZ3O0+JG\- M!/\!4$L#!!0 ( /2!IU@JXJOX%00 ),0 9 >&PO=V]R:W-H965T MKZ8N^JS>[> M:Q>NZ(EE!0<0-*X&J+PO&"R+5*U^ZHN1 TLJHR%WL>9%;D(PZTW'5]LRG8[:6 M>4;AF2.Q+@K"M_>0L\W$\9U=P]=LN9*ZP9V.2[*$..IR."'!*I)8CZ>8,'R'.M MI.+XMQ%U6I_:\/!YI_ZY@EJH+2TFS0!W-S@TQ//P\^:!P7QF-Y]!H]((3>G=)PM>0HL=WM=(%&!-< M*X1F!;UQW(J2)#!QU,X@@+^!,_W]-S_R_C!EYY)BLPN)'64N;#,7VM2G/X"F MC*.2;/4\-B:N%H@J ;U!ODWC@1>-W;?#A%B]G)N0OL<(#_<>CT '+>C "OI8 ME#G; J"$%44F](XLD%J,Z(71]8DI4RL.#N(8Q:.@0VYU>RYYWR/VAM[(C!ZU MZ)$5_9EL.>_5BDHF_/8PAP; N@A6]V=B]SWB$?#$\3#EGAH)?Z[&FM) MWLVS>]AS&091W(&T>C@7LN\Q& P'9LA1"SFR0GYC^DPFS0%@&=-1WWF(_6&' MU^KL7-Y1;Q\+0QR%9F#?VQA;:Z=FI:CC/E%7)D)!U=^[+>(*T1,+)S!LQ5UT0Y\N^?]1U?G[LLZWUW4U M>=;L$:=0^X76-<8Q[M*:NL5!V"6^4 U8$[L'M[4"^+*Z]0I5O:VIK*\Y;6M[ ML[ZK[I.=]GO_]J&^'^]EZNNZNL0L,U4%YK!0DMY-K,:3US?@^D6RLKH3OC"I M;IC5XPI("EQW4-\7C,G=BW;0_A]B^A]02P,$% @ ](&G6 VZ'# > @ M% 4 !D !X;"]W;W)K&ULC91M;],P$,>_BF4D M!!*JT[0=J"21U@W$7@Q5JX#7;G))K/DAV$XSOOW\D(8B=65O8I]]][_?.3YG M@]*/I@6PZ$EP:7+<6MNM"3%E"X*:F>I NIU::4&M,W5#3*>!5B%(<)(FR141 ME$E<9&%MJXM,]98S"5N-3"\$U7\VP-60XSD^+CRPIK5^@1191QO8@?W1;;6S MR*12,0'2,"61ACK'U_/U9N7]@\-/!H,YF2-?R5ZI1V_<53E./!!P**U7H&XX MP UP[H4#I_*C^-=3N:ME3 S>*_V*5;7/\":,*:MIS^Z"&;S#6 M$P!+Q4WXHB'Z+A*,RMY8)<9@1R"8C"-]&L_A)"!-7PA(QX T<,=$@?*66EID M6@U(>V^GYB>AU!#MX)CT/V5GM=ME+LX6.VC<$5MT)^,/]B?U[A8L9=R\SXAU M*;PC*4>Y391+7Y!;H'LE;6O0%UE!]6\\<6@37WKDVZ07!>^IGJ'%_ -*DW2) M3*2]H+N8ZEX$W<7KZSY7;119GA?Q#;,V'2TAQZXC#.@#X.+MF_E5\OD"XG)" M7%Y2+[[W8@\:J1JY%M0.43;' S#G6*/:*JCY7CP4\XP'7LP&E9UX=[OE75=%*:M>[9 >P>W7RMECX9/,#V$Q3-02P,$% @ M](&G6(43:&ULW5A=3]LP%/TKD1D3 M2!-I&TB;T5;:*B%-VB8D>-@;0XF>.REE^/KYVF'_A6'0^#+A7$OL?G MW&/[IC'T*[T4[&[&F X6N9#5@,RT+C^'8369L9Q6%T7)I$&R0N54FZZ:AE6I M&$TK(.4B[+1:<9A3+LFP+^?Y3:ZK8%+,I1Z0;A,*W.U;.B#M^)($3FY4I&Q M'LX^_IX7^OI#X.XGGTY.6@_GU[OQ,PNG6 Z$6KA0L#B(G'AXGOT\:D MN]O2=OBI$7+$4XS6\]!,EC43.A@Y.6@Z>V:#"'=;7E<;GBPQK,MDV,\*N:Z6 MB+B 4:8Y"QZI&) 1%7RL.+ RFG.Q=.$.!":%*%2@39F:5&V(5$\.;KL>5'"M MDW-9*)O;97"_Q_7P'6#5 X-U-VF=)\LAGYHVAYSQ9Z54Z+#/?<.4+/_W:=ITPR1<6F:5/[[WF5 M7^TXZKZ59?NMLFO8Z[%^9[]WDU?'8#(^!I-'49.]8S"9'(')[IM]:QYN,GJ? M"QG6)Z&-X];68:N)!G"H'9"?<#P6ZZ3!>,Z%YK+NS7B:,OGBS&7D-1V;/]2V M],WXE&5T+O1] P[(NOV#I7R>)\VH6UB(>M2Z_1VFUXZ;$[7)Q67*%BP=U5TU M'=MF8!HF:WT!81>YL9NA\'(9YZWF1'LKI MH1S'\B$C^\'R^#F)N?PS39(HBF-L14*NQS $P( L M !?3T\$MP>:4#M.*2VBZD8_1!2:5K5N %(MB6/:(7->=I3W;+T]!;X"O.DQQ0FE(2S,. M\,W2?S+W\PPU1>5*(Y5;&GC3Y?YVX$G1H2)8%II%R=.B':5_'MO;4,J-V;G7G9XPI:%^2R9_79E?W[1 MYGFE]3/[7N3*CGM;YW:7@X%-MZ+@]D^]$PJ.K+4IN(-=LQG8G1$\LULA7)$/ M@N'P8E!PJ7I?/A_/=6\&_HYV(G52*VBL&IZD>+&_CE>[;"^M7,E"G8+8*41OX\5 M9HL1L2YNM-KT(>$KV$RL6E28'D;$?EBH5!>"/?+O/A'F@A&Q#.;<*,B%+;L7 MAB5;;EI1#1/!B-@$B=/I^@YLV%_>\&T$A)KY42ER][-A.,R]S$QQ83$BGF-W0U6ZVX,T<4K M8JF@P;L]S9ACPG,ZIK4T%&*."8D=@V/ZBT,AYIB0V#$X9NQC8LX)B9V#&KM] M;V+."8F=ED0XJF"JNW\&- )W]DB'"M!,1:^<$9N-)X2>3$::=B%@[)[*V M/JL/['U,3$(1L81.8BZY@6GW,=%G*,02:B\X=?[%(\P^$;%]?BT]=;-ARHF( ME=.5F'%$YZIS^FR29?YHQIAP M8NHZYS3F0_+-7SZ+,>'$U,MGIS&KP.EC8L*)B86#WIOMY\R8<&)BX>#%K5]. MQ)AP8F+A=*R9=D;-&'UH7UMG<'SO)1-KJ)"S)?R A?:4Y^F]8=5'\X0NBJLE M]W69YU-HNU,WFF?'UVB.KP!]^0]02P,$% @ ](&G6+P!UL'@ 0 [" M !H !X;"]?Z)0A&.14&#YE36V/+UW_B397O^DG9MV7:' MO-GV>7+<[PYYT6Q*Z1]"R,M-VK?YINO3X7QDU0W[MIR7PSKT[?*]7:>@T^DL M##]G-(_SGS,GKZ<^_65BMUIME^FI6W[LTZ'\,CA\=L-[WJ14FLEK.ZQ3633A MN+ONSN&RD9OSY&;R_+9HAN"X(M!&(+DBT$9@NB M+01J"[(M!&X+PBT$<@O2+01V"^(M!'HKZJT$>BOJK01ZZ^AAFT!O1;V50&]% MO95 ;T6]E4!O1;V50&]%O95 ;T6]E4!O1;V50&]#O8U ;T.]C4!O0[V-0&\; MO2PAT-M0;R/0VU!O(]#;4&\CT-M0;R/0VU!O(]#;4&\CT-M1;R?0VU%O)]#; M46\GT-M1;R?0VTD4#OB'I' KTCZAT)](ZH=R30.XX^5OZGWKF<=BE?>[[7>/W_I+JYNZ:OPX681@'QCS M^8)J[5-CJ8DC,^-J'>)?-V=6YTL])R8&@R'+31.H"?W0UD@FHR>:Z545>L^; M>-N7IADGCBJ?]!YW$]NL<:*MKE/MPHNNXRRVJ9@/VXI\>K[$B1[-;%;F5)A\5<. M=.$71*&NTEW1F_/)(>XP[7[YU?E=F7.!<>;4&>OCB3FZ/.YP).WJOHV%R(7R M_",>$V/IJY^/VM,NJ/AE=MS>#^.6W7EXUEVNW^.O9WRL?V$? J0/"=*' NDC M ^EC"-+'+4@?=R!]W(/TP0&UL4$L! A0#% @ ](&G6-@E^X+O *P( !$ M ( !KP &1O8U!R;W!S+V-O&UL4$L! A0#% @ ](&G6)E&PO=V]R:W-H965T&UL4$L! A0#% @ ](&G6 R-[L(C M!P [1T !@ ("!&@X 'AL+W=OI[0( *\( 8 " M@7,5 !X;"]W;W)K&PO=V]R:W-H965T&UL4$L! A0#% @ ](&G6.>*U2'_!P Y3P !@ M ("!5AX 'AL+W=OJKD" &!P & M @('0+@ >&PO=V]R:W-H965T&UL4$L! A0# M% @ ](&G6"".LD#3!@ 'Q !@ ("!OS$ 'AL+W=O MB04$ !U"0 &0 @($"0P M>&PO=V]R:W-H965T&UL4$L! A0#% @ ](&G6,1<]!39! 2PX !D M ("!5TL 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ ](&G6$X ):PV! 3PX !D ("!U%D 'AL+W=O M M$ &0 @(%!7@ >&PO=V]R:W-H965T&UL4$L! A0#% @ ](&G6"#7 M?1-M P P@@ !D ("!D6P 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ ](&G6-E?GY)- P DP< !D M ("!7GX 'AL+W=O&PO M=V]R:W-H965T 9 " @3.$ !X;"]W;W)K&UL4$L! A0#% @ ](&G6.2@<>!\ @ V 4 !D ("! MJ8X 'AL+W=O&PO=V]R:W-H965T5 !X;"]W;W)K&UL4$L! A0#% M @ ](&G6"$G*U2+!0 H!0 !D ("!_I@ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ ](&G6.8;Z4 K M!0 &PO=V]R:W-H965T&UL4$L! A0#% @ ](&G6!XPZ-B=! :AP !D M ("![[ 'AL+W=O&PO=V]R M:W-H965T M 9 " @6JX !X;"]W;W)K&UL M4$L! A0#% @ ](&G6$Z-J'8E P J0H !D ("!KKT M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ M](&G6'[=!2_* P !@X !D ("!P,D 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ ](&G6.BKV=25 @ MM@8 !D ("!F], 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ ](&G6$]="'?:! I24 !D M ("!3-P 'AL+W=O&PO=V]R:W-H M965T0, "(+ 9 M " @3'D !X;"]W;W)K&UL4$L! M A0#% @ ](&G6,S\@5;T @ NPL !D ("!X>< 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ ](&G M6,Z+@\WS P VA !D ("!Y/0 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ ](&G6"KBJ_@5! DQ M !D ("!\_\ 'AL+W=O&PO=V]R:W-H965T7!E&UL4$L%!@ _ #\ ,!$ ,(3 0 ! $! end XML 68 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 69 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 71 FilingSummary.xml IDEA: XBRL DOCUMENT 3.24.1.u1 html 99 276 1 false 38 0 false 5 false false R1.htm 00090 - Document - Document and Entity Information Sheet http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation Document and Entity Information Cover 1 false false R2.htm 00100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (UNAUDITED) Sheet http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited CONDENSED CONSOLIDATED BALANCE SHEETS (UNAUDITED) Statements 2 false false R3.htm 00105 - 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 00200 - 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 00300 - 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 00400 - 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 00405 - 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 10101 - Disclosure - Description of Business Sheet http://www.doubleverify.com/role/DisclosureDescriptionOfBusiness Description of Business Notes 8 false false R9.htm 10201 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies Sheet http://www.doubleverify.com/role/DisclosureBasisOfPresentationAndSummaryOfSignificantAccountingPolicies Basis of Presentation and Summary of Significant Accounting Policies Notes 9 false false R10.htm 10301 - Disclosure - Revenue Sheet http://www.doubleverify.com/role/DisclosureRevenue Revenue Notes 10 false false R11.htm 10401 - Disclosure - Business Combinations Sheet http://www.doubleverify.com/role/DisclosureBusinessCombinations Business Combinations Notes 11 false false R12.htm 10501 - Disclosure - Goodwill and Intangible Assets Sheet http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssets Goodwill and Intangible Assets Notes 12 false false R13.htm 10601 - Disclosure - Property, Plant and Equipment Sheet http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipment Property, Plant and Equipment Notes 13 false false R14.htm 10701 - Disclosure - Leases Sheet http://www.doubleverify.com/role/DisclosureLeases Leases Notes 14 false false R15.htm 10801 - Disclosure - Fair Value Measurement Sheet http://www.doubleverify.com/role/DisclosureFairValueMeasurement Fair Value Measurement Notes 15 false false R16.htm 10901 - Disclosure - Long-term Debt Sheet http://www.doubleverify.com/role/DisclosureLongTermDebt Long-term Debt Notes 16 false false R17.htm 11001 - Disclosure - Income Tax Sheet http://www.doubleverify.com/role/DisclosureIncomeTax Income Tax Notes 17 false false R18.htm 11101 - Disclosure - Earnings Per Share Sheet http://www.doubleverify.com/role/DisclosureEarningsPerShare Earnings Per Share Notes 18 false false R19.htm 11201 - Disclosure - Stock-Based Compensation Sheet http://www.doubleverify.com/role/DisclosureStockBasedCompensation Stock-Based Compensation Notes 19 false false R20.htm 11301 - Disclosure - Supplemental Financial Statement Information Sheet http://www.doubleverify.com/role/DisclosureSupplementalFinancialStatementInformation Supplemental Financial Statement Information Notes 20 false false R21.htm 11401 - Disclosure - Commitments and Contingencies Sheet http://www.doubleverify.com/role/DisclosureCommitmentsAndContingencies Commitments and Contingencies Notes 21 false false R22.htm 11501 - Disclosure - Segment Information Sheet http://www.doubleverify.com/role/DisclosureSegmentInformation Segment Information Notes 22 false false R23.htm 20202 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies (Policies) Sheet http://www.doubleverify.com/role/DisclosureBasisOfPresentationAndSummaryOfSignificantAccountingPoliciesPolicies Basis of Presentation and Summary of Significant Accounting Policies (Policies) Policies http://www.doubleverify.com/role/DisclosureBasisOfPresentationAndSummaryOfSignificantAccountingPolicies 23 false false R24.htm 30303 - Disclosure - Revenue (Tables) Sheet http://www.doubleverify.com/role/DisclosureRevenueTables Revenue (Tables) Tables http://www.doubleverify.com/role/DisclosureRevenue 24 false false R25.htm 30503 - Disclosure - Goodwill and Intangible Assets (Tables) Sheet http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsTables Goodwill and Intangible Assets (Tables) Tables http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssets 25 false false R26.htm 30603 - Disclosure - Property, Plant and Equipment, net (Tables) Sheet http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentNetTables Property, Plant and Equipment, net (Tables) Tables http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipment 26 false false R27.htm 30703 - Disclosure - Leases (Tables) Sheet http://www.doubleverify.com/role/DisclosureLeasesTables Leases (Tables) Tables http://www.doubleverify.com/role/DisclosureLeases 27 false false R28.htm 30803 - Disclosure - Fair Value Measurement (Tables) Sheet http://www.doubleverify.com/role/DisclosureFairValueMeasurementTables Fair Value Measurement (Tables) Tables http://www.doubleverify.com/role/DisclosureFairValueMeasurement 28 false false R29.htm 31103 - Disclosure - Earnings Per Share (Tables) Sheet http://www.doubleverify.com/role/DisclosureEarningsPerShareTables Earnings Per Share (Tables) Tables http://www.doubleverify.com/role/DisclosureEarningsPerShare 29 false false R30.htm 31203 - Disclosure - Stock-Based Compensation (Tables) Sheet http://www.doubleverify.com/role/DisclosureStockBasedCompensationTables Stock-Based Compensation (Tables) Tables http://www.doubleverify.com/role/DisclosureStockBasedCompensation 30 false false R31.htm 31303 - 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 31 false false R32.htm 40101 - Disclosure - Description of Business (Details) Sheet http://www.doubleverify.com/role/DisclosureDescriptionOfBusinessDetails Description of Business (Details) Details http://www.doubleverify.com/role/DisclosureDescriptionOfBusiness 32 false false R33.htm 40301 - Disclosure - Revenue (Details) Sheet http://www.doubleverify.com/role/DisclosureRevenueDetails Revenue (Details) Details http://www.doubleverify.com/role/DisclosureRevenueTables 33 false false R34.htm 40501 - Disclosure - Goodwill and Intangible Assets - Goodwill (Details) Sheet http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails Goodwill and Intangible Assets - Goodwill (Details) Details 34 false false R35.htm 40502 - Disclosure - Goodwill and Intangible Assets - Summary of Company's intangible assets (Details) Sheet http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails Goodwill and Intangible Assets - Summary of Company's intangible assets (Details) Details 35 false false R36.htm 40503 - Disclosure - Goodwill and Intangible Assets - Estimated future expected amortization expense (Details) Sheet http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails Goodwill and Intangible Assets - Estimated future expected amortization expense (Details) Details 36 false false R37.htm 40504 - Disclosure - Goodwill and Intangible Assets - Weighted-average remaining useful life (Details) Sheet http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsWeightedAverageRemainingUsefulLifeDetails Goodwill and Intangible Assets - Weighted-average remaining useful life (Details) Details 37 false false R38.htm 40601 - Disclosure - Property, Plant and Equipment, net (Details) Sheet http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentNetDetails Property, Plant and Equipment, net (Details) Details http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentNetTables 38 false false R39.htm 40701 - Disclosure - Leases - Leases Cost (Details) Sheet http://www.doubleverify.com/role/DisclosureLeasesLeasesCostDetails Leases - Leases Cost (Details) Details 39 false false R40.htm 40702 - 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 40 false false R41.htm 40703 - Disclosure - Leases - Maturities of Operating Lease Liabilities (Details) Sheet http://www.doubleverify.com/role/DisclosureLeasesMaturitiesOfOperatingLeaseLiabilitiesDetails Leases - Maturities of Operating Lease Liabilities (Details) Details 41 false false R42.htm 40704 - Disclosure - Leases - Maturities of Finance Lease Liabilities (Details) Sheet http://www.doubleverify.com/role/DisclosureLeasesMaturitiesOfFinanceLeaseLiabilitiesDetails Leases - Maturities of Finance Lease Liabilities (Details) Details 42 false false R43.htm 40801 - 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 43 false false R44.htm 40802 - Disclosure - Fair Value Measurement - Narrative (Details) Sheet http://www.doubleverify.com/role/DisclosureFairValueMeasurementNarrativeDetails Fair Value Measurement - Narrative (Details) Details 44 false false R45.htm 40901 - Disclosure - Long-term Debt (Details) Sheet http://www.doubleverify.com/role/DisclosureLongTermDebtDetails Long-term Debt (Details) Details http://www.doubleverify.com/role/DisclosureLongTermDebt 45 false false R46.htm 41001 - Disclosure - Income Tax (Details) Sheet http://www.doubleverify.com/role/DisclosureIncomeTaxDetails Income Tax (Details) Details http://www.doubleverify.com/role/DisclosureIncomeTax 46 false false R47.htm 41101 - Disclosure - Earnings Per Share (Details) Sheet http://www.doubleverify.com/role/DisclosureEarningsPerShareDetails Earnings Per Share (Details) Details http://www.doubleverify.com/role/DisclosureEarningsPerShareTables 47 false false R48.htm 41201 - Disclosure - Stock-Based Compensation (Details) Sheet http://www.doubleverify.com/role/DisclosureStockBasedCompensationDetails Stock-Based Compensation (Details) Details http://www.doubleverify.com/role/DisclosureStockBasedCompensationTables 48 false false R49.htm 41202 - Disclosure - Stock-Based Compensation - Stock option activity (Details) Sheet http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails Stock-Based Compensation - Stock option activity (Details) Details 49 false false R50.htm 41203 - Disclosure - Stock-Based Compensation - Additional information (Details) Sheet http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails Stock-Based Compensation - Additional information (Details) Details 50 false false R51.htm 41204 - Disclosure - Stock-Based Compensation - RSUs and PSUs (Details) Sheet http://www.doubleverify.com/role/DisclosureStockBasedCompensationRsusAndPsusDetails Stock-Based Compensation - RSUs and PSUs (Details) Details 51 false false R52.htm 41205 - Disclosure - Stock-Based Compensation - Valuation Assumptions (Details) Sheet http://www.doubleverify.com/role/DisclosureStockBasedCompensationValuationAssumptionsDetails Stock-Based Compensation - Valuation Assumptions (Details) Details 52 false false R53.htm 41206 - 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 53 false false R54.htm 41301 - 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 54 false false R55.htm 41501 - Disclosure - Segment Information (Details) Sheet http://www.doubleverify.com/role/DisclosureSegmentInformationDetails Segment Information (Details) Details http://www.doubleverify.com/role/DisclosureSegmentInformation 55 false false All Reports Book All Reports [ix-0514-Hidden-Fact-Eligible-For-Transform] WARN: 5 fact(s) appearing in ix:hidden were eligible for transformation: dei:EntityAddressCityOrTown, us-gaap:GoodwillImpairmentLoss, us-gaap:NumberOfReportableSegments, us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1 - dv-20240331x10q.htm 9 [ix-0514-Hidden-Fact-Not-Referenced] WARN: 2 fact(s) appearing in ix:hidden were not referenced by any -sec-ix-hidden style property: us-gaap:CommitmentsAndContingencies - dv-20240331x10q.htm 9 dv-20240331.xsd dv-20240331_cal.xml dv-20240331_def.xml dv-20240331_lab.xml dv-20240331_pre.xml dv-20240331x10q.htm http://fasb.org/us-gaap/2023 http://xbrl.sec.gov/dei/2023 true true JSON 74 MetaLinks.json IDEA: XBRL DOCUMENT { "version": "2.2", "instance": { "dv-20240331x10q.htm": { "nsprefix": "dvh", "nsuri": "http://www.doubleverify.com/20240331", "dts": { "schema": { "local": [ "dv-20240331.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/dtr/type/2020-01-21/types.xsd", "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd", "https://xbrl.sec.gov/country/2023/country-2023.xsd", "https://xbrl.sec.gov/dei/2023/dei-2023.xsd" ] }, "calculationLink": { "local": [ "dv-20240331_cal.xml" ] }, "definitionLink": { "local": [ "dv-20240331_def.xml" ] }, "labelLink": { "local": [ "dv-20240331_lab.xml" ] }, "presentationLink": { "local": [ "dv-20240331_pre.xml" ] }, "inline": { "local": [ "dv-20240331x10q.htm" ] } }, "keyStandard": 262, "keyCustom": 14, "axisStandard": 18, "axisCustom": 0, "memberStandard": 30, "memberCustom": 8, "hidden": { "total": 12, "http://fasb.org/us-gaap/2023": 6, "http://xbrl.sec.gov/dei/2023": 6 }, "contextCount": 99, "entityCount": 1, "segmentCount": 38, "elementCount": 419, "unitCount": 5, "baseTaxonomies": { "http://fasb.org/us-gaap/2023": 510, "http://xbrl.sec.gov/dei/2023": 29 }, "report": { "R1": { "role": "http://www.doubleverify.com/role/DocumentDocumentAndEntityInformation", "longName": "00090 - 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_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true } }, "R2": { "role": "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited", "longName": "00100 - 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_3_31_2024_s17eZLgL6kiOazb0HZRGhQ", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "Unit_Standard_USD_06r6pK1OFky-gl6faQR56A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_WWrAqIVwO0S1V8PVeSGBhg", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "Unit_Standard_USD_06r6pK1OFky-gl6faQR56A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "unique": true } }, "R3": { "role": "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnauditedParenthetical", "longName": "00105 - 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_3_31_2024_s17eZLgL6kiOazb0HZRGhQ", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "unitRef": "Unit_Standard_USD_06r6pK1OFky-gl6faQR56A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2024_s17eZLgL6kiOazb0HZRGhQ", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "unitRef": "Unit_Standard_USD_06r6pK1OFky-gl6faQR56A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true } }, "R4": { "role": "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeUnaudited", "longName": "00200 - 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_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_06r6pK1OFky-gl6faQR56A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "us-gaap:CostOfGoodsAndServicesSold", "unitRef": "Unit_Standard_USD_06r6pK1OFky-gl6faQR56A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "unique": true } }, "R5": { "role": "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited", "longName": "00300 - 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_TrsF1JzJs0y_pmNnNIK70A", "name": "us-gaap:StockholdersEquity", "unitRef": "Unit_Standard_USD_06r6pK1OFky-gl6faQR56A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_TrsF1JzJs0y_pmNnNIK70A", "name": "us-gaap:StockholdersEquity", "unitRef": "Unit_Standard_USD_06r6pK1OFky-gl6faQR56A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true } }, "R6": { "role": "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited", "longName": "00400 - 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_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "us-gaap:ProfitLoss", "unitRef": "Unit_Standard_USD_06r6pK1OFky-gl6faQR56A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "us-gaap:ProfitLoss", "unitRef": "Unit_Standard_USD_06r6pK1OFky-gl6faQR56A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true } }, "R7": { "role": "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnauditeds", "longName": "00405 - 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_3_31_2024_s17eZLgL6kiOazb0HZRGhQ", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "Unit_Standard_USD_06r6pK1OFky-gl6faQR56A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2023_qt7Ah81xSUufIgUszmSKpw", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "Unit_Standard_USD_06r6pK1OFky-gl6faQR56A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "unique": true } }, "R8": { "role": "http://www.doubleverify.com/role/DisclosureDescriptionOfBusiness", "longName": "10101 - Disclosure - Description of Business", "shortName": "Description of Business", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "8", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true } }, "R9": { "role": "http://www.doubleverify.com/role/DisclosureBasisOfPresentationAndSummaryOfSignificantAccountingPolicies", "longName": "10201 - 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_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true } }, "R10": { "role": "http://www.doubleverify.com/role/DisclosureRevenue", "longName": "10301 - Disclosure - Revenue", "shortName": "Revenue", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "10", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true } }, "R11": { "role": "http://www.doubleverify.com/role/DisclosureBusinessCombinations", "longName": "10401 - Disclosure - Business Combinations", "shortName": "Business Combinations", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "11", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true } }, "R12": { "role": "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssets", "longName": "10501 - 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_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true } }, "R13": { "role": "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipment", "longName": "10601 - 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_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true } }, "R14": { "role": "http://www.doubleverify.com/role/DisclosureLeases", "longName": "10701 - Disclosure - Leases", "shortName": "Leases", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "14", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "dvh:LeaseDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "dvh:LeaseDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true } }, "R15": { "role": "http://www.doubleverify.com/role/DisclosureFairValueMeasurement", "longName": "10801 - Disclosure - Fair Value Measurement", "shortName": "Fair Value Measurement", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "15", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true } }, "R16": { "role": "http://www.doubleverify.com/role/DisclosureLongTermDebt", "longName": "10901 - Disclosure - Long-term Debt", "shortName": "Long-term Debt", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "16", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true } }, "R17": { "role": "http://www.doubleverify.com/role/DisclosureIncomeTax", "longName": "11001 - Disclosure - Income Tax", "shortName": "Income Tax", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "17", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true } }, "R18": { "role": "http://www.doubleverify.com/role/DisclosureEarningsPerShare", "longName": "11101 - Disclosure - Earnings Per Share", "shortName": "Earnings Per Share", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "18", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true } }, "R19": { "role": "http://www.doubleverify.com/role/DisclosureStockBasedCompensation", "longName": "11201 - Disclosure - Stock-Based Compensation", "shortName": "Stock-Based Compensation", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "19", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true } }, "R20": { "role": "http://www.doubleverify.com/role/DisclosureSupplementalFinancialStatementInformation", "longName": "11301 - Disclosure - Supplemental Financial Statement Information", "shortName": "Supplemental Financial Statement Information", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "20", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "us-gaap:AdditionalFinancialInformationDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "us-gaap:AdditionalFinancialInformationDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true } }, "R21": { "role": "http://www.doubleverify.com/role/DisclosureCommitmentsAndContingencies", "longName": "11401 - Disclosure - Commitments and Contingencies", "shortName": "Commitments and Contingencies", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "21", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true } }, "R22": { "role": "http://www.doubleverify.com/role/DisclosureSegmentInformation", "longName": "11501 - Disclosure - Segment Information", "shortName": "Segment Information", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "22", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true } }, "R23": { "role": "http://www.doubleverify.com/role/DisclosureBasisOfPresentationAndSummaryOfSignificantAccountingPoliciesPolicies", "longName": "20202 - 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": "23", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "dvh:BasisOfPreparationAndPrinciplesOfConsolidationPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "dvh:BasisOfPreparationAndPrinciplesOfConsolidationPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true } }, "R24": { "role": "http://www.doubleverify.com/role/DisclosureRevenueTables", "longName": "30303 - Disclosure - Revenue (Tables)", "shortName": "Revenue (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "24", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "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-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "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-20240331x10q.htm", "first": true, "unique": true } }, "R25": { "role": "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsTables", "longName": "30503 - Disclosure - Goodwill and Intangible Assets (Tables)", "shortName": "Goodwill and Intangible Assets (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "25", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "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-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "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-20240331x10q.htm", "first": true, "unique": true } }, "R26": { "role": "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentNetTables", "longName": "30603 - Disclosure - Property, Plant and Equipment, net (Tables)", "shortName": "Property, Plant and Equipment, net (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "26", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "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-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "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-20240331x10q.htm", "first": true, "unique": true } }, "R27": { "role": "http://www.doubleverify.com/role/DisclosureLeasesTables", "longName": "30703 - Disclosure - Leases (Tables)", "shortName": "Leases (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "27", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "us-gaap:LeaseCostTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "dvh:LeaseDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "us-gaap:LeaseCostTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "dvh:LeaseDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true } }, "R28": { "role": "http://www.doubleverify.com/role/DisclosureFairValueMeasurementTables", "longName": "30803 - Disclosure - Fair Value Measurement (Tables)", "shortName": "Fair Value Measurement (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "28", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "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-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "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-20240331x10q.htm", "first": true, "unique": true } }, "R29": { "role": "http://www.doubleverify.com/role/DisclosureEarningsPerShareTables", "longName": "31103 - Disclosure - Earnings Per Share (Tables)", "shortName": "Earnings Per Share (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "29", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "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-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "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-20240331x10q.htm", "first": true, "unique": true } }, "R30": { "role": "http://www.doubleverify.com/role/DisclosureStockBasedCompensationTables", "longName": "31203 - Disclosure - Stock-Based Compensation (Tables)", "shortName": "Stock-Based Compensation (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "30", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "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-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "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-20240331x10q.htm", "first": true, "unique": true } }, "R31": { "role": "http://www.doubleverify.com/role/DisclosureSupplementalFinancialStatementInformationTables", "longName": "31303 - Disclosure - Supplemental Financial Statement Information (Tables)", "shortName": "Supplemental Financial Statement Information (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "31", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "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-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "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-20240331x10q.htm", "first": true, "unique": true } }, "R32": { "role": "http://www.doubleverify.com/role/DisclosureDescriptionOfBusinessDetails", "longName": "40101 - Disclosure - Description of Business (Details)", "shortName": "Description of Business (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "32", "firstAnchor": { "contextRef": "As_Of_8_18_2017_us-gaap_BusinessAcquisitionAxis_dvh_DoubleverifyInc.Member_ywC0pc1AmkSa8qEYwc3IsQ", "name": "us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired", "unitRef": "Unit_Standard_pure_ozqQ0iZThUiHSexRFgP1fQ", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_8_18_2017_us-gaap_BusinessAcquisitionAxis_dvh_DoubleverifyInc.Member_ywC0pc1AmkSa8qEYwc3IsQ", "name": "us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired", "unitRef": "Unit_Standard_pure_ozqQ0iZThUiHSexRFgP1fQ", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true } }, "R33": { "role": "http://www.doubleverify.com/role/DisclosureRevenueDetails", "longName": "40301 - Disclosure - Revenue (Details)", "shortName": "Revenue (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "33", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_06r6pK1OFky-gl6faQR56A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2024_s17eZLgL6kiOazb0HZRGhQ", "name": "us-gaap:UnbilledReceivablesCurrent", "unitRef": "Unit_Standard_USD_06r6pK1OFky-gl6faQR56A", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "unique": true } }, "R34": { "role": "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails", "longName": "40501 - Disclosure - Goodwill and Intangible Assets - Goodwill (Details)", "shortName": "Goodwill and Intangible Assets - Goodwill (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "34", "firstAnchor": { "contextRef": "As_Of_12_31_2023_WWrAqIVwO0S1V8PVeSGBhg", "name": "us-gaap:Goodwill", "unitRef": "Unit_Standard_USD_06r6pK1OFky-gl6faQR56A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "us-gaap:GoodwillForeignCurrencyTranslationGainLoss", "unitRef": "Unit_Standard_USD_06r6pK1OFky-gl6faQR56A", "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-20240331x10q.htm", "unique": true } }, "R35": { "role": "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails", "longName": "40502 - 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": "35", "firstAnchor": { "contextRef": "As_Of_3_31_2024_s17eZLgL6kiOazb0HZRGhQ", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "unitRef": "Unit_Standard_USD_06r6pK1OFky-gl6faQR56A", "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-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2024_s17eZLgL6kiOazb0HZRGhQ", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "unitRef": "Unit_Standard_USD_06r6pK1OFky-gl6faQR56A", "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-20240331x10q.htm", "first": true, "unique": true } }, "R36": { "role": "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails", "longName": "40503 - 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": "36", "firstAnchor": { "contextRef": "As_Of_3_31_2024_s17eZLgL6kiOazb0HZRGhQ", "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "unitRef": "Unit_Standard_USD_06r6pK1OFky-gl6faQR56A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2024_s17eZLgL6kiOazb0HZRGhQ", "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "unitRef": "Unit_Standard_USD_06r6pK1OFky-gl6faQR56A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true } }, "R37": { "role": "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsWeightedAverageRemainingUsefulLifeDetails", "longName": "40504 - 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": "37", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "us-gaap:ImpairmentOfIntangibleAssetsFinitelived", "unitRef": "Unit_Standard_USD_06r6pK1OFky-gl6faQR56A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "us-gaap:ImpairmentOfIntangibleAssetsFinitelived", "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "us-gaap:ImpairmentOfIntangibleAssetsFinitelived", "unitRef": "Unit_Standard_USD_06r6pK1OFky-gl6faQR56A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "us-gaap:ImpairmentOfIntangibleAssetsFinitelived", "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true } }, "R38": { "role": "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentNetDetails", "longName": "40601 - Disclosure - Property, Plant and Equipment, net (Details)", "shortName": "Property, Plant and Equipment, net (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "38", "firstAnchor": { "contextRef": "As_Of_3_31_2024_s17eZLgL6kiOazb0HZRGhQ", "name": "us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "unitRef": "Unit_Standard_USD_06r6pK1OFky-gl6faQR56A", "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-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2024_s17eZLgL6kiOazb0HZRGhQ", "name": "us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "unitRef": "Unit_Standard_USD_06r6pK1OFky-gl6faQR56A", "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-20240331x10q.htm", "first": true, "unique": true } }, "R39": { "role": "http://www.doubleverify.com/role/DisclosureLeasesLeasesCostDetails", "longName": "40701 - Disclosure - Leases - Leases Cost (Details)", "shortName": "Leases - Leases Cost (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "39", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "us-gaap:OperatingLeaseCost", "unitRef": "Unit_Standard_USD_06r6pK1OFky-gl6faQR56A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:LeaseCostTableTextBlock", "dvh:LeaseDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "us-gaap:OperatingLeaseCost", "unitRef": "Unit_Standard_USD_06r6pK1OFky-gl6faQR56A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:LeaseCostTableTextBlock", "dvh:LeaseDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true } }, "R40": { "role": "http://www.doubleverify.com/role/DisclosureLeasesWeightedAverageRemainingLeaseTermsAndDiscountRatesDetails", "longName": "40702 - 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": "40", "firstAnchor": { "contextRef": "As_Of_3_31_2024_s17eZLgL6kiOazb0HZRGhQ", "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-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2024_s17eZLgL6kiOazb0HZRGhQ", "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-20240331x10q.htm", "first": true, "unique": true } }, "R41": { "role": "http://www.doubleverify.com/role/DisclosureLeasesMaturitiesOfOperatingLeaseLiabilitiesDetails", "longName": "40703 - 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": "41", "firstAnchor": { "contextRef": "As_Of_3_31_2024_s17eZLgL6kiOazb0HZRGhQ", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "unitRef": "Unit_Standard_USD_06r6pK1OFky-gl6faQR56A", "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-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2024_s17eZLgL6kiOazb0HZRGhQ", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "unitRef": "Unit_Standard_USD_06r6pK1OFky-gl6faQR56A", "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-20240331x10q.htm", "first": true, "unique": true } }, "R42": { "role": "http://www.doubleverify.com/role/DisclosureLeasesMaturitiesOfFinanceLeaseLiabilitiesDetails", "longName": "40704 - 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": "42", "firstAnchor": { "contextRef": "As_Of_3_31_2024_s17eZLgL6kiOazb0HZRGhQ", "name": "us-gaap:FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear", "unitRef": "Unit_Standard_USD_06r6pK1OFky-gl6faQR56A", "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-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2024_s17eZLgL6kiOazb0HZRGhQ", "name": "us-gaap:FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear", "unitRef": "Unit_Standard_USD_06r6pK1OFky-gl6faQR56A", "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-20240331x10q.htm", "first": true, "unique": true } }, "R43": { "role": "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails", "longName": "40801 - 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": "43", "firstAnchor": { "contextRef": "As_Of_3_31_2024_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_TdCGV1_qEEGOUfAXum6MCQ", "name": "us-gaap:CashAndCashEquivalentsFairValueDisclosure", "unitRef": "Unit_Standard_USD_06r6pK1OFky-gl6faQR56A", "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-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2024_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_TdCGV1_qEEGOUfAXum6MCQ", "name": "us-gaap:CashAndCashEquivalentsFairValueDisclosure", "unitRef": "Unit_Standard_USD_06r6pK1OFky-gl6faQR56A", "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-20240331x10q.htm", "first": true, "unique": true } }, "R44": { "role": "http://www.doubleverify.com/role/DisclosureFairValueMeasurementNarrativeDetails", "longName": "40802 - Disclosure - Fair Value Measurement - Narrative (Details)", "shortName": "Fair Value Measurement - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "44", "firstAnchor": { "contextRef": "As_Of_3_31_2024_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember_FuTpUvQLHESSnspeUpwMSA", "name": "us-gaap:InvestmentsFairValueDisclosure", "unitRef": "Unit_Standard_USD_06r6pK1OFky-gl6faQR56A", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2024_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember_FuTpUvQLHESSnspeUpwMSA", "name": "us-gaap:InvestmentsFairValueDisclosure", "unitRef": "Unit_Standard_USD_06r6pK1OFky-gl6faQR56A", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true } }, "R45": { "role": "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails", "longName": "40901 - Disclosure - Long-term Debt (Details)", "shortName": "Long-term Debt (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "45", "firstAnchor": { "contextRef": "As_Of_3_31_2024_s17eZLgL6kiOazb0HZRGhQ", "name": "dvh:LineOfCreditFacilityMaximumTotalLeverageRatio", "unitRef": "Unit_Standard_pure_ozqQ0iZThUiHSexRFgP1fQ", "xsiNil": "false", "lang": null, "decimals": "1", "ancestors": [ "p", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2024_s17eZLgL6kiOazb0HZRGhQ", "name": "dvh:LineOfCreditFacilityMaximumTotalLeverageRatio", "unitRef": "Unit_Standard_pure_ozqQ0iZThUiHSexRFgP1fQ", "xsiNil": "false", "lang": null, "decimals": "1", "ancestors": [ "p", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true } }, "R46": { "role": "http://www.doubleverify.com/role/DisclosureIncomeTaxDetails", "longName": "41001 - Disclosure - Income Tax (Details)", "shortName": "Income Tax (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "46", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "us-gaap:IncomeTaxExpenseBenefit", "unitRef": "Unit_Standard_USD_06r6pK1OFky-gl6faQR56A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "unitRef": "Unit_Standard_pure_ozqQ0iZThUiHSexRFgP1fQ", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "unique": true } }, "R47": { "role": "http://www.doubleverify.com/role/DisclosureEarningsPerShareDetails", "longName": "41101 - Disclosure - Earnings Per Share (Details)", "shortName": "Earnings Per Share (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "47", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "us-gaap:NetIncomeLoss", "unitRef": "Unit_Standard_USD_06r6pK1OFky-gl6faQR56A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "unitRef": "Unit_Standard_shares_oH6PjBCmcU28C6Go6EJWmg", "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-20240331x10q.htm", "unique": true } }, "R48": { "role": "http://www.doubleverify.com/role/DisclosureStockBasedCompensationDetails", "longName": "41201 - Disclosure - Stock-Based Compensation (Details)", "shortName": "Stock-Based Compensation (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "48", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_us-gaap_AwardTypeAxis_dvh_EquityIncentiveProgramMember_nibHHmvvnUy7DxIrFlr9mQ", "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-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_us-gaap_AwardTypeAxis_dvh_EquityIncentiveProgramMember_nibHHmvvnUy7DxIrFlr9mQ", "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-20240331x10q.htm", "first": true, "unique": true } }, "R49": { "role": "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockOptionActivityDetails", "longName": "41202 - 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": "49", "firstAnchor": { "contextRef": "As_Of_12_31_2023_WWrAqIVwO0S1V8PVeSGBhg", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "unitRef": "Unit_Standard_shares_oH6PjBCmcU28C6Go6EJWmg", "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-20240331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod", "unitRef": "Unit_Standard_shares_oH6PjBCmcU28C6Go6EJWmg", "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-20240331x10q.htm", "unique": true } }, "R50": { "role": "http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "longName": "41203 - Disclosure - Stock-Based Compensation - Additional information (Details)", "shortName": "Stock-Based Compensation - Additional information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "50", "firstAnchor": { "contextRef": "As_Of_3_31_2024_s17eZLgL6kiOazb0HZRGhQ", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "unitRef": "Unit_Standard_shares_oH6PjBCmcU28C6Go6EJWmg", "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-20240331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue", "unitRef": "Unit_Standard_USD_06r6pK1OFky-gl6faQR56A", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "unique": true } }, "R51": { "role": "http://www.doubleverify.com/role/DisclosureStockBasedCompensationRsusAndPsusDetails", "longName": "41204 - 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": "51", "firstAnchor": { "contextRef": "As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_6F3DEZIfQkW32JDvxhpZMw", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "unitRef": "Unit_Standard_shares_oH6PjBCmcU28C6Go6EJWmg", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_6F3DEZIfQkW32JDvxhpZMw", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "unitRef": "Unit_Standard_shares_oH6PjBCmcU28C6Go6EJWmg", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true } }, "R52": { "role": "http://www.doubleverify.com/role/DisclosureStockBasedCompensationValuationAssumptionsDetails", "longName": "41205 - Disclosure - Stock-Based Compensation - Valuation Assumptions (Details)", "shortName": "Stock-Based Compensation - Valuation Assumptions (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "52", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_us-gaap_AwardTypeAxis_us-gaap_PerformanceSharesMember_brUFdNb4xUq0zElRp-wJ7w", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum", "unitRef": "Unit_Standard_pure_ozqQ0iZThUiHSexRFgP1fQ", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_us-gaap_AwardTypeAxis_us-gaap_PerformanceSharesMember_brUFdNb4xUq0zElRp-wJ7w", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum", "unitRef": "Unit_Standard_pure_ozqQ0iZThUiHSexRFgP1fQ", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true } }, "R53": { "role": "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails", "longName": "41206 - 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": "53", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "unitRef": "Unit_Standard_USD_06r6pK1OFky-gl6faQR56A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2024_s17eZLgL6kiOazb0HZRGhQ", "name": "us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized", "unitRef": "Unit_Standard_USD_06r6pK1OFky-gl6faQR56A", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "unique": true } }, "R54": { "role": "http://www.doubleverify.com/role/DisclosureSupplementalFinancialStatementInformationDetails", "longName": "41301 - Disclosure - Supplemental Financial Statement Information (Details)", "shortName": "Supplemental Financial Statement Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "54", "firstAnchor": { "contextRef": "As_Of_3_31_2024_s17eZLgL6kiOazb0HZRGhQ", "name": "dvh:AccruedVendorPaymentsCurrent", "unitRef": "Unit_Standard_USD_06r6pK1OFky-gl6faQR56A", "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-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2024_s17eZLgL6kiOazb0HZRGhQ", "name": "dvh:AccruedVendorPaymentsCurrent", "unitRef": "Unit_Standard_USD_06r6pK1OFky-gl6faQR56A", "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-20240331x10q.htm", "first": true, "unique": true } }, "R55": { "role": "http://www.doubleverify.com/role/DisclosureSegmentInformationDetails", "longName": "41501 - Disclosure - Segment Information (Details)", "shortName": "Segment Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "55", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "us-gaap:NumberOfOperatingSegments", "unitRef": "Unit_Standard_segment_gsAYeyw04kacINZVLCVRxw", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_VpgPUO7pckGFJ4m-_y99ig", "name": "us-gaap:NumberOfOperatingSegments", "unitRef": "Unit_Standard_segment_gsAYeyw04kacINZVLCVRxw", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "dv-20240331x10q.htm", "first": true, "unique": true } } }, "tag": { "us-gaap_AccountingPoliciesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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/2023", "localname": "AccountsPayableCurrent", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 6.0 } }, "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": [ "r16", "r640" ] }, "us-gaap_AccountsReceivableNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableNetCurrent", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 2.0 } }, "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,580 and $9,442 as of March 31, 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": [ "r231", "r232" ] }, "us-gaap_AccrualForTaxesOtherThanIncomeTaxesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccrualForTaxesOtherThanIncomeTaxesCurrent", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/DisclosureSupplementalFinancialStatementInformationDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 2.0 } }, "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": [ "r20", "r59", "r608" ] }, "us-gaap_AccruedBonusesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedBonusesCurrent", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/DisclosureSupplementalFinancialStatementInformationDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 3.0 } }, "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": [ "r20" ] }, "us-gaap_AccruedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 4.0 }, "http://www.doubleverify.com/role/DisclosureSupplementalFinancialStatementInformationDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "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": [ "r20" ] }, "us-gaap_AccruedLiabilitiesCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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/2023", "localname": "AccruedSalariesCurrent", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/DisclosureSupplementalFinancialStatementInformationDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 4.0 } }, "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": [ "r20", "r608" ] }, "dvh_AccruedVendorPaymentsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.doubleverify.com/20240331", "localname": "AccruedVendorPaymentsCurrent", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/DisclosureSupplementalFinancialStatementInformationDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 1.0 } }, "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/2023", "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentNetDetails": { "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" ], "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": [ "r49", "r146", "r516" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 1.0 } }, "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": [ "r27", "r28", "r85", "r151", "r513", "r531", "r532" ] }, "dvh_ActivationMember": { "xbrltype": "domainItemType", "nsuri": "http://www.doubleverify.com/20240331", "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": [] }, "us-gaap_AdditionalFinancialInformationDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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/2023", "localname": "AdditionalPaidInCapital", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 3.0 } }, "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": [ "r80", "r640", "r752" ] }, "us-gaap_AdditionalPaidInCapitalMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapitalMember", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "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": [ "r392", "r393", "r394", "r542", "r678", "r679", "r680", "r733", "r754" ] }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r57", "r58", "r357" ] }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [] }, "us-gaap_AllocatedShareBasedCompensationExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r387", "r395" ] }, "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r152", "r233", "r267" ] }, "dei_AmendmentFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "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/20240331", "localname": "AmortizationOfDebtIssuanceCosts", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 4.0 } }, "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/2023", "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", "r42", "r46" ] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r199" ] }, "us-gaap_AociIncludingPortionAttributableToNoncontrollingInterestMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AociIncludingPortionAttributableToNoncontrollingInterestMember", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "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", "r28", "r671", "r672", "r673" ] }, "us-gaap_Assets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Assets", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Assets", "totalLabel": "Total assets", "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events." } } }, "auth_ref": [ "r118", "r150", "r172", "r208", "r218", "r223", "r264", "r294", "r295", "r296", "r297", "r298", "r299", "r300", "r301", "r302", "r415", "r419", "r438", "r508", "r566", "r640", "r652", "r702", "r703", "r738" ] }, "us-gaap_AssetsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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/2023", "localname": "AssetsCurrent", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Assets, Current", "totalLabel": "Total current assets", "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events." } } }, "auth_ref": [ "r142", "r153", "r172", "r264", "r294", "r295", "r296", "r297", "r298", "r299", "r300", "r301", "r302", "r415", "r419", "r438", "r640", "r702", "r703", "r738" ] }, "us-gaap_AssetsCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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/2023", "localname": "AssetsFairValueDisclosureAbstract", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Assets, Fair Value Disclosure [Abstract]", "terseLabel": "Assets:" } } }, "auth_ref": [] }, "us-gaap_AwardTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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" ], "lang": { "en-us": { "role": { "label": "Award Type [Axis]", "documentation": "Information by type of award under share-based payment arrangement." } } }, "auth_ref": [ "r361", "r362", "r363", "r364", "r365", "r366", "r367", "r368", "r369", "r370", "r371", "r372", "r373", "r374", "r375", "r376", "r377", "r378", "r379", "r380", "r381", "r382", "r383", "r384", "r385", "r386" ] }, "us-gaap_BaseRateMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BaseRateMember", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Alternate Base Rate", "documentation": "Minimum rate investor will accept." } } }, "auth_ref": [] }, "dvh_BasisOfPreparationAndPrinciplesOfConsolidationPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.doubleverify.com/20240331", "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/2023", "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": [ "r99" ] }, "us-gaap_BusinessAcquisitionAcquireeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionAcquireeDomain", "presentation": [ "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": [ "r412", "r632", "r633" ] }, "us-gaap_BusinessAcquisitionAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionAxis", "presentation": [ "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": [ "r60", "r62", "r412", "r632", "r633" ] }, "us-gaap_BusinessAcquisitionLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionLineItems", "presentation": [ "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": [ "r412" ] }, "us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r61" ] }, "us-gaap_BusinessCombinationDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r114", "r413" ] }, "us-gaap_BusinessCombinationsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationsAbstract", "lang": { "en-us": { "role": { "label": "Business Combinations" } } }, "auth_ref": [] }, "us-gaap_CapitalExpendituresIncurredButNotYetPaid": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r35", "r36", "r37" ] }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsAtCarryingValue", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnauditeds": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "weight": 1.0, "order": 1.0 }, "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 3.0 } }, "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": [ "r33", "r144", "r607" ] }, "us-gaap_CashAndCashEquivalentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r144" ] }, "us-gaap_CashAndCashEquivalentsFairValueDisclosure": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnauditeds": { "parentTag": null, "weight": null, "order": null, "root": true } }, "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": [ "r33", "r96", "r170" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": null, "weight": null, "order": null, "root": true } }, "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", "r96" ] }, "dei_CityAreaCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "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_CommitmentsAndContingencies": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingencies", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Commitments and Contingencies", "terseLabel": "Commitments and contingencies (Note 14)", "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": [ "r24", "r72", "r510", "r553" ] }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingenciesDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Commitments and Contingencies." } } }, "auth_ref": [] }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r107", "r288", "r289", "r604", "r701" ] }, "us-gaap_CommonStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockMember", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Common Stock", "documentation": "Stock that is subordinate to all other stock of the issuer." } } }, "auth_ref": [ "r642", "r643", "r644", "r646", "r647", "r648", "r649", "r678", "r679", "r733", "r751", "r754" ] }, "us-gaap_CommonStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r79" ] }, "us-gaap_CommonStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r79", "r554" ] }, "us-gaap_CommonStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r79" ] }, "us-gaap_CommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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", "r79", "r554", "r572", "r754", "r755" ] }, "us-gaap_CommonStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockValue", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 4.0 } }, "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, 171,756 shares issued and 171,724 outstanding as of March 31, 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": [ "r79", "r512", "r640" ] }, "us-gaap_ComprehensiveIncomeNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComprehensiveIncomeNetOfTax", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeUnaudited": { "parentTag": null, "weight": null, "order": null, "root": true } }, "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": [ "r29", "r155", "r157", "r162", "r504", "r522" ] }, "us-gaap_ComprehensiveIncomeNetOfTaxAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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/2023", "localname": "ComputerEquipmentMember", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" ], "lang": { "en-us": { "role": { "label": "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/2023", "localname": "CostOfGoodsAndServicesSold", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeUnaudited": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0, "order": 5.0 } }, "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": [ "r89", "r500" ] }, "dei_CoverAbstract": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "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/2023", "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": [] }, "us-gaap_CreditFacilityDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [] }, "dei_CurrentFiscalYearEndDate": { "xbrltype": "gMonthDayItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "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/2023", "localname": "CustomerRelationshipsMember", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails", "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsWeightedAverageRemainingUsefulLifeDetails" ], "lang": { "en-us": { "role": { "label": "Customer relationships", "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships." } } }, "auth_ref": [ "r65" ] }, "us-gaap_DebtDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Long-term Debt." } } }, "auth_ref": [] }, "us-gaap_DebtDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r108", "r171", "r303", "r309", "r310", "r311", "r312", "r313", "r314", "r319", "r326", "r327", "r329" ] }, "us-gaap_DebtInstrumentAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r15", "r76", "r77", "r119", "r120", "r174", "r304", "r305", "r306", "r307", "r308", "r310", "r315", "r316", "r317", "r318", "r320", "r321", "r322", "r323", "r324", "r325", "r451", "r616", "r617", "r618", "r619", "r620", "r676" ] }, "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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/2023", "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": [ "r69", "r71", "r304", "r451", "r617", "r618" ] }, "us-gaap_DebtInstrumentLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r174", "r304", "r305", "r306", "r307", "r308", "r310", "r315", "r316", "r317", "r318", "r320", "r321", "r322", "r323", "r324", "r325", "r328", "r451", "r616", "r617", "r618", "r619", "r620", "r676" ] }, "us-gaap_DebtInstrumentNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r22", "r174", "r304", "r305", "r306", "r307", "r308", "r310", "r315", "r316", "r317", "r318", "r320", "r321", "r322", "r323", "r324", "r325", "r451", "r616", "r617", "r618", "r619", "r620", "r676" ] }, "us-gaap_DebtInstrumentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentTable", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Long-term Debt Instruments [Table]", "documentation": "A table or schedule providing information pertaining to long-term debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer." } } }, "auth_ref": [ "r22", "r50", "r51", "r68", "r69", "r71", "r73", "r109", "r110", "r174", "r304", "r305", "r306", "r307", "r308", "r310", "r315", "r316", "r317", "r318", "r320", "r321", "r322", "r323", "r324", "r325", "r328", "r451", "r616", "r617", "r618", "r619", "r620", "r676" ] }, "us-gaap_DeferredIncomeTaxAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxAssetsNet", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 4.0 } }, "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": [ "r398", "r399" ] }, "dvh_DeferredIncomeTaxExpenseBenefitAndAdjustments": { "xbrltype": "monetaryItemType", "nsuri": "http://www.doubleverify.com/20240331", "localname": "DeferredIncomeTaxExpenseBenefitAndAdjustments", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 6.0 } }, "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/2023", "localname": "DeferredIncomeTaxLiabilitiesNet", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 3.0 } }, "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": [ "r398", "r399", "r509" ] }, "us-gaap_Depreciation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Depreciation", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" ], "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", "r48" ] }, "us-gaap_DepreciationAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DepreciationAndAmortization", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeUnaudited": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0, "order": 1.0 } }, "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", "r48" ] }, "us-gaap_DepreciationDepletionAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DepreciationDepletionAndAmortization", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 3.0 } }, "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", "r213" ] }, "us-gaap_DevelopedTechnologyRightsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DevelopedTechnologyRightsMember", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails", "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsWeightedAverageRemainingUsefulLifeDetails" ], "lang": { "en-us": { "role": { "label": "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": [ "r115" ] }, "us-gaap_DisaggregationOfRevenueLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r342", "r622", "r623", "r624", "r625", "r626", "r627", "r628" ] }, "us-gaap_DisaggregationOfRevenueTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r342", "r622", "r623", "r624", "r625", "r626", "r627", "r628" ] }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r705" ] }, "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r355", "r360", "r388", "r389", "r391", "r635" ] }, "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract", "lang": { "en-us": { "role": { "label": "Stock-Based Compensation" } } }, "auth_ref": [] }, "us-gaap_DisclosureTextBlockSupplementAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisclosureTextBlockSupplementAbstract", "lang": { "en-us": { "role": { "label": "Supplemental Financial Statement Information" } } }, "auth_ref": [] }, "dei_DocumentFiscalPeriodFocus": { "xbrltype": "fiscalPeriodItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "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/2023", "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/2023", "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/2023", "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": [ "r656" ] }, "dei_DocumentTransitionReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "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": [ "r657" ] }, "dei_DocumentType": { "xbrltype": "submissionTypeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "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/20240331", "localname": "DoubleverifyInc.Member", "presentation": [ "http://www.doubleverify.com/role/DisclosureDescriptionOfBusinessDetails" ], "lang": { "en-us": { "role": { "documentation": "Information relating to Double verify Inc.", "label": "DoubleVerify Inc." } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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/2023", "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": [ "r163", "r180", "r181", "r182", "r183", "r184", "r189", "r191", "r196", "r197", "r198", "r202", "r429", "r430", "r505", "r523", "r610" ] }, "us-gaap_EarningsPerShareDiluted": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r163", "r180", "r181", "r182", "r183", "r184", "r191", "r196", "r197", "r198", "r202", "r429", "r430", "r505", "r523", "r610" ] }, "us-gaap_EarningsPerShareTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r188", "r199", "r200", "r201" ] }, "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 1.0 } }, "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": [ "r443" ] }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r401" ] }, "dvh_EffectiveIncomeTaxRateReconciliationDiscreteItems": { "xbrltype": "percentItemType", "nsuri": "http://www.doubleverify.com/20240331", "localname": "EffectiveIncomeTaxRateReconciliationDiscreteItems", "presentation": [ "http://www.doubleverify.com/role/DisclosureIncomeTaxDetails" ], "lang": { "en-us": { "role": { "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to discrete that items, which includes, but not limited to permanent book-to-tax adjustments, foreign tax rate differences, U.S. tax on foreign operations, and U.S. state and local taxes", "label": "Effective Income Tax Rate Reconciliation, Discrete Items", "terseLabel": "Effective income tax reconciliation, discrete items (as a percent)" } } }, "auth_ref": [] }, "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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/2023", "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": [ "r390" ] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r390" ] }, "us-gaap_EmployeeStockOptionMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeStockOptionMember", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationDetails" ], "lang": { "en-us": { "role": { "label": "Stock options", "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/20240331", "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" } } }, "auth_ref": [] }, "dei_EntityAddressAddressLine1": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "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/2023", "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/2023", "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/2023", "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/2023", "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": [ "r654" ] }, "dei_EntityCommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "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/2023", "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/2023", "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": [ "r654" ] }, "dei_EntityFileNumber": { "xbrltype": "fileNumberItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "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/2023", "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": [ "r654" ] }, "dei_EntityIncorporationStateCountryCode": { "xbrltype": "edgarStateCountryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "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/2023", "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": [ "r658" ] }, "dei_EntityRegistrantName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "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": [ "r654" ] }, "dei_EntityShellCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "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": [ "r654" ] }, "dei_EntitySmallBusiness": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "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": [ "r654" ] }, "dei_EntityTaxIdentificationNumber": { "xbrltype": "employerIdItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "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": [ "r654" ] }, "us-gaap_EquityComponentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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", "r140", "r158", "r159", "r160", "r175", "r176", "r177", "r179", "r185", "r187", "r203", "r265", "r266", "r332", "r392", "r393", "r394", "r405", "r406", "r421", "r422", "r423", "r424", "r425", "r426", "r428", "r444", "r445", "r446", "r447", "r448", "r449", "r468", "r527", "r528", "r529", "r542", "r594" ] }, "dvh_EquityIncentiveProgramMember": { "xbrltype": "domainItemType", "nsuri": "http://www.doubleverify.com/20240331", "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" } } }, "auth_ref": [] }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r432", "r433", "r436" ] }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r432", "r433", "r436" ] }, "us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" ], "lang": { "en-us": { "role": { "label": "Asset Class [Domain]", "documentation": "Class of asset." } } }, "auth_ref": [ "r10" ] }, "us-gaap_FairValueByAssetClassAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueByAssetClassAxis", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" ], "lang": { "en-us": { "role": { "label": "Asset Class [Axis]", "documentation": "Information by class of asset." } } }, "auth_ref": [ "r66", "r67" ] }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r317", "r348", "r349", "r350", "r351", "r352", "r353", "r433", "r472", "r473", "r474", "r617", "r618", "r629", "r630", "r631" ] }, "us-gaap_FairValueByMeasurementFrequencyAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueByMeasurementFrequencyAxis", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Measurement Frequency [Axis]", "documentation": "Information by measurement frequency." } } }, "auth_ref": [ "r432", "r433", "r434", "r435", "r437" ] }, "us-gaap_FairValueDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueDisclosuresAbstract", "lang": { "en-us": { "role": { "label": "Fair Value Measurement" } } }, "auth_ref": [] }, "us-gaap_FairValueDisclosuresTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r431" ] }, "us-gaap_FairValueInputsLevel1Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueInputsLevel1Member", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails", "http://www.doubleverify.com/role/DisclosureFairValueMeasurementNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "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": [ "r317", "r348", "r353", "r433", "r472", "r629", "r630", "r631" ] }, "us-gaap_FairValueMeasurementFrequencyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementFrequencyDomain", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Measurement Frequency [Domain]", "documentation": "Measurement frequency." } } }, "auth_ref": [] }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r317", "r348", "r349", "r350", "r351", "r352", "r353", "r472", "r473", "r474", "r617", "r618", "r629", "r630", "r631" ] }, "us-gaap_FairValueMeasurementsRecurringMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementsRecurringMember", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementFairValueOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "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": [ "r431", "r437" ] }, "dvh_FinanceLeaseCostsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.doubleverify.com/20240331", "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/2023", "localname": "FinanceLeaseInterestExpense", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/DisclosureLeasesLeasesCostDetails": { "parentTag": "us-gaap_LeaseCost", "weight": 1.0, "order": 5.0 } }, "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": [ "r454", "r459", "r639" ] }, "us-gaap_FinanceLeaseInterestPaymentOnLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r456", "r463" ] }, "us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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/2023", "localname": "FinanceLeaseLiability", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/DisclosureLeasesOperatingLeasesDetailsCalc2": { "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 2.0 } }, "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": [ "r453", "r467" ] }, "us-gaap_FinanceLeaseLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 2.0 } }, "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": [ "r453" ] }, "us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r737" ] }, "us-gaap_FinanceLeaseLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiabilityNoncurrent", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 4.0 } }, "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": [ "r453" ] }, "us-gaap_FinanceLeaseLiabilityPaymentsDue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiabilityPaymentsDue", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/DisclosureLeasesMaturitiesOfFinanceLeaseLiabilitiesDetails": { "parentTag": null, "weight": null, "order": null, "root": true }, "http://www.doubleverify.com/role/DisclosureLeasesOperatingLeasesDetailsCalc2": { "parentTag": null, "weight": null, "order": null, "root": true } }, "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": [ "r467" ] }, "us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiabilityPaymentsDueNextTwelveMonths", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/DisclosureLeasesMaturitiesOfFinanceLeaseLiabilitiesDetails": { "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 2.0 } }, "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": [ "r467" ] }, "us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiabilityPaymentsDueYearTwo", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/DisclosureLeasesMaturitiesOfFinanceLeaseLiabilitiesDetails": { "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 3.0 } }, "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": [ "r467" ] }, "us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/DisclosureLeasesMaturitiesOfFinanceLeaseLiabilitiesDetails": { "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 1.0 } }, "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 nine 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": [ "r737" ] }, "us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiabilityUndiscountedExcessAmount", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/DisclosureLeasesOperatingLeasesDetailsCalc2": { "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 1.0 } }, "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": [ "r467" ] }, "us-gaap_FinanceLeasePrincipalPayments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeasePrincipalPayments", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 2.0 } }, "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": [ "r455", "r463" ] }, "us-gaap_FinanceLeaseRightOfUseAssetAccumulatedAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseRightOfUseAssetAccumulatedAmortization", "crdr": "credit", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" ], "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": [ "r660", "r661" ] }, "us-gaap_FinanceLeaseRightOfUseAssetAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseRightOfUseAssetAmortization", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/DisclosureLeasesLeasesCostDetails": { "parentTag": "us-gaap_LeaseCost", "weight": 1.0, "order": 4.0 } }, "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": [ "r454", "r459", "r639" ] }, "us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" ], "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": [ "r659" ] }, "us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r466", "r639" ] }, "us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r465", "r639" ] }, "us-gaap_FinancialInstrumentAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "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", "r263", "r268", "r269", "r271", "r272", "r273", "r274", "r275", "r276", "r328", "r331", "r427", "r469", "r470", "r471", "r472", "r473", "r474", "r475", "r476", "r477", "r478", "r479", "r480", "r481", "r482", "r483", "r484", "r485", "r486", "r487", "r488", "r489", "r490", "r491", "r492", "r493", "r494", "r495", "r496", "r497", "r498", "r521", "r614", "r662", "r663", "r664", "r665", "r666", "r667", "r668", "r683", "r684", "r685", "r686" ] }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": -1.0, "order": 1.0 } }, "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": [ "r148", "r284" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 1.0 } }, "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": [] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 6.0 } }, "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": [ "r103" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 7.0 } }, "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 nine 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": [] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 2.0 } }, "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": [ "r103" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 3.0 } }, "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": [ "r103" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 4.0 } }, "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": [ "r103" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 5.0 } }, "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": [ "r103" ] }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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", "r283", "r284", "r285", "r501", "r502" ] }, "us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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/2023", "localname": "FiniteLivedIntangibleAssetsGross", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 2.0 } }, "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": [ "r102", "r502" ] }, "us-gaap_FiniteLivedIntangibleAssetsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r501" ] }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r43", "r45" ] }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsNet", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails": { "parentTag": null, "weight": null, "order": null, "root": true }, "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedFutureExpectedAmortizationExpenseDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "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": [ "r102", "r501" ] }, "us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r501" ] }, "us-gaap_ForeignCurrencyTransactionGainLossBeforeTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ForeignCurrencyTransactionGainLossBeforeTax", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/DisclosureSupplementalFinancialStatementInformationDetails": { "parentTag": "dvh_OtherIncomeNet", "weight": 1.0, "order": 2.0 } }, "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": [ "r439", "r440", "r441", "r442", "r591" ] }, "us-gaap_FurnitureAndFixturesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FurnitureAndFixturesMember", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" ], "lang": { "en-us": { "role": { "label": "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_GeneralAndAdministrativeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GeneralAndAdministrativeExpense", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeUnaudited": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0, "order": 2.0 } }, "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": [ "r90", "r576" ] }, "us-gaap_GeneralAndAdministrativeExpenseMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GeneralAndAdministrativeExpenseMember", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "label": "General and administrative", "documentation": "Primary financial statement caption encompassing general and administrative expense." } } }, "auth_ref": [ "r88" ] }, "us-gaap_Goodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Goodwill", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 6.0 } }, "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 an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized." } } }, "auth_ref": [ "r147", "r277", "r503", "r615", "r640", "r689", "r696" ] }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Goodwill and Intangible Assets" } } }, "auth_ref": [] }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r101" ] }, "us-gaap_GoodwillForeignCurrencyTranslationGainLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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) an asset representing future economic benefits from other assets acquired in a business combination that are not individually identified and separately recognized." } } }, "auth_ref": [ "r280" ] }, "us-gaap_GoodwillImpairmentLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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 loss from the write-down of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized." } } }, "auth_ref": [ "r6", "r278", "r279", "r281", "r615" ] }, "us-gaap_GoodwillRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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/2023", "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": [ "r675", "r699" ] }, "us-gaap_ImpairmentOfLongLivedAssetsHeldForUse": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ImpairmentOfLongLivedAssetsHeldForUse", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 9.0 } }, "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentNetDetails", "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", "r47", "r106" ] }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeUnaudited": { "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0, "order": 2.0 } }, "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": [ "r0", "r86", "r124", "r208", "r217", "r222", "r225", "r506", "r518", "r612" ] }, "us-gaap_IncomeStatementAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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/2023", "localname": "IncomeStatementLocationAxis", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Income Statement Location [Axis]", "documentation": "Information by location in the income statement." } } }, "auth_ref": [ "r286", "r287", "r577" ] }, "us-gaap_IncomeStatementLocationDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementLocationDomain", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Income Statement Location [Domain]", "documentation": "Location in the income statement." } } }, "auth_ref": [ "r287", "r577" ] }, "us-gaap_IncomeTaxDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Income Tax" } } }, "auth_ref": [] }, "us-gaap_IncomeTaxDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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 taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information." } } }, "auth_ref": [ "r173", "r397", "r402", "r403", "r404", "r407", "r409", "r410", "r411", "r540" ] }, "us-gaap_IncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeUnaudited": { "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0, "order": 1.0 } }, "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": [ "r128", "r138", "r186", "r187", "r214", "r400", "r408", "r525" ] }, "us-gaap_IncomeTaxesPaidNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes." } } }, "auth_ref": [ "r34" ] }, "us-gaap_IncreaseDecreaseInAccountsPayableTrade": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccountsPayableTrade", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 13.0 } }, "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/2023", "localname": "IncreaseDecreaseInAccountsReceivable", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 11.0 } }, "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/2023", "localname": "IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 14.0 } }, "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": [ "r674" ] }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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/2023", "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 12.0 } }, "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/2023", "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": [ "r192", "r193", "r194", "r198", "r359" ] }, "us-gaap_IntangibleAssetsNetExcludingGoodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IntangibleAssetsNetExcludingGoodwill", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 5.0 } }, "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": [ "r41", "r44" ] }, "us-gaap_InterestExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestExpense", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeUnaudited": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeUnaudited" ], "lang": { "en-us": { "role": { "label": "Interest Expense", "terseLabel": "Interest expense", "documentation": "Amount of the cost of borrowed funds accounted for as interest expense." } } }, "auth_ref": [ "r70", "r127", "r161", "r212", "r450", "r578", "r650", "r753" ] }, "us-gaap_InterestIncomeExpenseNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestIncomeExpenseNet", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 8.0 } }, "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Interest Income (Expense), Net", "negatedLabel": "Interest expense, net", "documentation": "The net amount of operating interest income (expense)." } } }, "auth_ref": [ "r126" ] }, "us-gaap_InterestPaidNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r165", "r168", "r169" ] }, "us-gaap_InvestmentIncomeInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InvestmentIncomeInterest", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/DisclosureSupplementalFinancialStatementInformationDetails": { "parentTag": "dvh_OtherIncomeNet", "weight": 1.0, "order": 1.0 } }, "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": [ "r91", "r211" ] }, "us-gaap_InvestmentPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r524", "r535", "r536", "r537", "r538", "r598", "r599" ] }, "us-gaap_InvestmentsFairValueDisclosure": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r432" ] }, "dvh_LeaseCashFlowInformationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.doubleverify.com/20240331", "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/2023", "localname": "LeaseCost", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/DisclosureLeasesLeasesCostDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "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": [ "r458", "r639" ] }, "us-gaap_LeaseCostAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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/2023", "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": [ "r736" ] }, "dvh_LeaseDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.doubleverify.com/20240331", "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/20240331", "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/2023", "localname": "LeaseholdImprovementsMember", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" ], "lang": { "en-us": { "role": { "label": "Leasehold improvements", "documentation": "Additions or improvements to assets held under a lease arrangement." } } }, "auth_ref": [ "r105" ] }, "us-gaap_LeasesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LeasesAbstract", "lang": { "en-us": { "role": { "label": "Leases" } } }, "auth_ref": [] }, "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r737" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDue", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/DisclosureLeasesMaturitiesOfOperatingLeaseLiabilitiesDetailss": { "parentTag": null, "weight": null, "order": null, "root": true }, "http://www.doubleverify.com/role/DisclosureLeasesOperatingLeasesDetailsCalc2": { "parentTag": null, "weight": null, "order": null, "root": true } }, "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": [ "r467" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/DisclosureLeasesMaturitiesOfOperatingLeaseLiabilitiesDetailss": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 7.0 } }, "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": [ "r467" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/DisclosureLeasesMaturitiesOfOperatingLeaseLiabilitiesDetailss": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 2.0 } }, "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": [ "r467" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/DisclosureLeasesMaturitiesOfOperatingLeaseLiabilitiesDetailss": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 6.0 } }, "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": [ "r467" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/DisclosureLeasesMaturitiesOfOperatingLeaseLiabilitiesDetailss": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 5.0 } }, "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": [ "r467" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/DisclosureLeasesMaturitiesOfOperatingLeaseLiabilitiesDetailss": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 4.0 } }, "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": [ "r467" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/DisclosureLeasesMaturitiesOfOperatingLeaseLiabilitiesDetailss": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 3.0 } }, "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": [ "r467" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/DisclosureLeasesMaturitiesOfOperatingLeaseLiabilitiesDetailss": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 1.0 } }, "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 nine 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": [ "r737" ] }, "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/DisclosureLeasesOperatingLeasesDetailsCalc2": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 1.0 } }, "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": [ "r467" ] }, "us-gaap_LetterOfCreditMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LetterOfCreditMember", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "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/2023", "localname": "Liabilities", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Liabilities", "totalLabel": "Total liabilities", "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future." } } }, "auth_ref": [ "r19", "r172", "r264", "r294", "r295", "r296", "r297", "r298", "r299", "r300", "r301", "r302", "r416", "r419", "r420", "r438", "r552", "r611", "r652", "r702", "r738", "r739" ] }, "us-gaap_LiabilitiesAndStockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAndStockholdersEquity", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": null, "weight": null, "order": null, "root": true } }, "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": [ "r84", "r121", "r515", "r640", "r677", "r687", "r734" ] }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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/2023", "localname": "LiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 5.0 } }, "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": [ "r21", "r143", "r172", "r264", "r294", "r295", "r296", "r297", "r298", "r299", "r300", "r301", "r302", "r416", "r419", "r420", "r438", "r640", "r702", "r738", "r739" ] }, "us-gaap_LiabilitiesCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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/2023", "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/2023", "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": [ "r17" ] }, "dvh_LineOfCreditFacilityMaximumTotalLeverageRatio": { "xbrltype": "pureItemType", "nsuri": "http://www.doubleverify.com/20240331", "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/20240331", "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/2023", "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/2023", "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": [ "r15", "r120", "r316", "r330", "r617", "r618", "r748" ] }, "srt_MajorCustomersAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MajorCustomersAxis", "presentation": [ "http://www.doubleverify.com/role/DisclosureRevenueDetails" ], "lang": { "en-us": { "role": { "label": "Customer [Axis]" } } }, "auth_ref": [ "r230", "r624", "r705", "r749", "r750" ] }, "srt_MaximumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MaximumMember", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails", "http://www.doubleverify.com/role/DisclosureRevenueDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Maximum" } } }, "auth_ref": [ "r290", "r291", "r292", "r293", "r354", "r499", "r526", "r544", "r545", "r597", "r600", "r601", "r602", "r603", "r605", "r606", "r613", "r621", "r634", "r641", "r704", "r740", "r741", "r742", "r743", "r744", "r745" ] }, "dvh_MeasurementMember": { "xbrltype": "domainItemType", "nsuri": "http://www.doubleverify.com/20240331", "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/2023", "localname": "MinimumMember", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails", "http://www.doubleverify.com/role/DisclosureRevenueDetails" ], "lang": { "en-us": { "role": { "label": "Minimum" } } }, "auth_ref": [ "r290", "r291", "r292", "r293", "r354", "r499", "r526", "r544", "r545", "r597", "r600", "r601", "r602", "r603", "r605", "r606", "r613", "r621", "r634", "r641", "r704", "r740", "r741", "r742", "r743", "r744", "r745" ] }, "dvh_MoneyMarketFundsAndTimeDepositsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.doubleverify.com/20240331", "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" } } }, "auth_ref": [] }, "srt_NameOfMajorCustomerDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "NameOfMajorCustomerDomain", "presentation": [ "http://www.doubleverify.com/role/DisclosureRevenueDetails" ], "lang": { "en-us": { "role": { "label": "Customer [Domain]" } } }, "auth_ref": [ "r230", "r624", "r705", "r749", "r750" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivities", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 2.0 } }, "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": [ "r167" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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/2023", "localname": "NetCashProvidedByUsedInInvestingActivities", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 3.0 } }, "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": [ "r167" ] }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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/2023", "localname": "NetCashProvidedByUsedInOperatingActivities", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 4.0 } }, "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": [ "r96", "r97", "r98" ] }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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/2023", "localname": "NetIncomeLoss", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeUnaudited": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.doubleverify.com/role/DisclosureEarningsPerShareDetails", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeUnaudited", "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Net Income (Loss) Attributable to Parent", "totalLabel": "Net income", "verboseLabel": "Net income", "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent." } } }, "auth_ref": [ "r87", "r98", "r125", "r141", "r154", "r156", "r160", "r172", "r178", "r180", "r181", "r182", "r183", "r186", "r187", "r195", "r208", "r217", "r222", "r225", "r264", "r294", "r295", "r296", "r297", "r298", "r299", "r300", "r301", "r302", "r430", "r438", "r520", "r574", "r592", "r593", "r612", "r650", "r702" ] }, "us-gaap_NetIncomeLossAvailableToCommonStockholdersDilutedAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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/2023", "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/20240331", "localname": "NonCashLeaseExpenses", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 5.0 } }, "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": [] }, "us-gaap_NoncashInvestingAndFinancingItemsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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/2023", "localname": "NoncompeteAgreementsMember", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Non-compete agreements", "documentation": "Agreement in which one party agrees not to pursue a similar trade in competition with another party." } } }, "auth_ref": [ "r64" ] }, "us-gaap_NumberOfOperatingSegments": { "xbrltype": "integerItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r682" ] }, "us-gaap_NumberOfReportableSegments": { "xbrltype": "integerItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r682" ] }, "us-gaap_OperatingIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingIncomeLoss", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeUnaudited": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 3.0 } }, "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": [ "r208", "r217", "r222", "r225", "r612" ] }, "us-gaap_OperatingLeaseCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseCost", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/DisclosureLeasesLeasesCostDetails": { "parentTag": "us-gaap_LeaseCost", "weight": 1.0, "order": 1.0 } }, "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": [ "r460", "r639" ] }, "us-gaap_OperatingLeaseImpairmentLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseImpairmentLoss", "crdr": "debit", "presentation": [ "http://www.doubleverify.com/role/DisclosureLeasesLeasesCostDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Impairment Loss", "terseLabel": "Operating lease right-of-use asset impairment", "documentation": "Amount of loss from impairment of right-of-use asset from operating lease." } } }, "auth_ref": [ "r735" ] }, "us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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/2023", "localname": "OperatingLeaseLiability", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/DisclosureLeasesOperatingLeasesDetailsCalc2": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 2.0 } }, "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": [ "r453" ] }, "us-gaap_OperatingLeaseLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 5.0 } }, "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": [ "r453" ] }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityNoncurrent", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 1.0 } }, "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": [ "r453" ] }, "us-gaap_OperatingLeasePayments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r457", "r463" ] }, "us-gaap_OperatingLeaseRightOfUseAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseRightOfUseAsset", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 3.0 } }, "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": [ "r452" ] }, "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r466", "r639" ] }, "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r465", "r639" ] }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract", "lang": { "en-us": { "role": { "label": "Description of Business" } } }, "auth_ref": [] }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r75", "r116", "r533", "r534" ] }, "us-gaap_OtherAssetsNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAssetsNoncurrent", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 1.0 } }, "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": [ "r149" ] }, "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeUnaudited": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 1.0 } }, "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" ] }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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/2023", "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/20240331", "localname": "OtherIncomeNet", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/DisclosureSupplementalFinancialStatementInformationDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "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/2023", "localname": "OtherLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 1.0 } }, "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": [ "r20", "r640" ] }, "us-gaap_OtherLiabilitiesNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherLiabilitiesNoncurrent", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 2.0 } }, "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": [ "r23" ] }, "us-gaap_OtherNonoperatingExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherNonoperatingExpense", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/DisclosureSupplementalFinancialStatementInformationDetails": { "parentTag": "dvh_OtherIncomeNet", "weight": -1.0, "order": 3.0 } }, "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": [ "r93" ] }, "us-gaap_OtherNonoperatingIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherNonoperatingIncomeExpense", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeUnaudited": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 1.0 } }, "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": [ "r93" ] }, "us-gaap_OtherOperatingActivitiesCashFlowStatement": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherOperatingActivitiesCashFlowStatement", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 10.0 } }, "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": [] }, "us-gaap_PaymentsForRepurchaseOfCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsForRepurchaseOfCommonStock", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Payments for Repurchase of Common Stock", "negatedLabel": "Shares repurchased for settlement of employee tax withholdings", "documentation": "The cash outflow to reacquire common stock during the period." } } }, "auth_ref": [ "r31" ] }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 1.0 } }, "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": [ "r95" ] }, "us-gaap_PaymentsToAcquireShortTermInvestments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquireShortTermInvestments", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 2.0 } }, "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": [ "r94" ] }, "us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/DisclosureSupplementalFinancialStatementInformationDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 5.0 } }, "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": [ "r77", "r344", "r345", "r346", "r631" ] }, "dvh_PercentageOfRevenue": { "xbrltype": "percentItemType", "nsuri": "http://www.doubleverify.com/20240331", "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/20240331", "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" } } }, "auth_ref": [] }, "us-gaap_PerformanceSharesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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/2023", "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": [ "r706", "r707", "r708", "r709", "r710", "r711", "r712", "r713", "r714", "r715", "r716", "r717", "r718", "r719", "r720", "r721", "r722", "r723", "r724", "r725", "r726", "r727", "r728", "r729", "r730", "r731" ] }, "us-gaap_PlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r706", "r707", "r708", "r709", "r710", "r711", "r712", "r713", "r714", "r715", "r716", "r717", "r718", "r719", "r720", "r721", "r722", "r723", "r724", "r725", "r726", "r727", "r728", "r729", "r730", "r731" ] }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PrepaidExpenseAndOtherAssetsCurrent", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 1.0 } }, "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": [ "r670" ] }, "us-gaap_ProceedsFromLongTermLinesOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromLongTermLinesOfCredit", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 4.0 } }, "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": [ "r30" ] }, "us-gaap_ProceedsFromStockOptionsExercised": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromStockOptionsExercised", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 1.0 } }, "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", "r13" ] }, "us-gaap_ProfitLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProfitLoss", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 1.0 } }, "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": [ "r141", "r154", "r156", "r166", "r172", "r178", "r186", "r187", "r208", "r217", "r222", "r225", "r264", "r294", "r295", "r296", "r297", "r298", "r299", "r300", "r301", "r302", "r414", "r417", "r418", "r430", "r438", "r506", "r519", "r541", "r574", "r592", "r593", "r612", "r637", "r638", "r651", "r673", "r702" ] }, "us-gaap_PropertyPlantAndEquipmentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentAbstract", "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment, net" } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentByTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentByTypeAxis", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" ], "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" ] }, "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r104", "r131", "r136", "r137" ] }, "us-gaap_PropertyPlantAndEquipmentGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentGross", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentNetDetails": { "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" ], "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": [ "r105", "r145", "r517" ] }, "us-gaap_PropertyPlantAndEquipmentLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentLineItems", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" ], "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": [] }, "us-gaap_PropertyPlantAndEquipmentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentMember", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" ], "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/2023", "localname": "PropertyPlantAndEquipmentNet", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 2.0 }, "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentNetDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentNetDetails", "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", "r507", "r517", "r640" ] }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentTextBlock", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentNetTables" ], "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/2023", "localname": "PropertyPlantAndEquipmentTypeDomain", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" ], "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": [ "r105" ] }, "us-gaap_ProvisionForDoubtfulAccounts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProvisionForDoubtfulAccounts", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 2.0 } }, "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": [ "r164", "r270" ] }, "srt_RangeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RangeAxis", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails", "http://www.doubleverify.com/role/DisclosureRevenueDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Axis]" } } }, "auth_ref": [ "r290", "r291", "r292", "r293", "r347", "r354", "r383", "r384", "r385", "r475", "r499", "r526", "r544", "r545", "r597", "r600", "r601", "r602", "r603", "r605", "r606", "r613", "r621", "r634", "r641", "r644", "r700", "r704", "r741", "r742", "r743", "r744", "r745" ] }, "srt_RangeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RangeMember", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails", "http://www.doubleverify.com/role/DisclosureRevenueDetails", "http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Domain]" } } }, "auth_ref": [ "r290", "r291", "r292", "r293", "r347", "r354", "r383", "r384", "r385", "r475", "r499", "r526", "r544", "r545", "r597", "r600", "r601", "r602", "r603", "r605", "r606", "r613", "r621", "r634", "r641", "r644", "r700", "r704", "r741", "r742", "r743", "r744", "r745" ] }, "us-gaap_RepaymentsOfLongTermLinesOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RepaymentsOfLongTermLinesOfCredit", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 5.0 } }, "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": [ "r32" ] }, "us-gaap_ResearchAndDevelopmentExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ResearchAndDevelopmentExpense", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeUnaudited": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0, "order": 4.0 } }, "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeUnaudited" ], "lang": { "en-us": { "role": { "label": "Research and Development Expense", "terseLabel": "Product development", "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use." } } }, "auth_ref": [ "r74", "r396", "r746" ] }, "us-gaap_ResearchAndDevelopmentExpenseMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ResearchAndDevelopmentExpenseMember", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Product development", "documentation": "Primary financial statement caption in which the reported facts about research and development expense have been included." } } }, "auth_ref": [] }, "us-gaap_RestrictedCashAndCashEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestrictedCashAndCashEquivalents", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnauditeds": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "weight": 1.0, "order": 2.0 } }, "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": [ "r33", "r117", "r144", "r170", "r511" ] }, "us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r144" ] }, "us-gaap_RestrictedStockUnitsRSUMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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)", "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/2023", "localname": "RetainedEarningsAccumulatedDeficit", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 2.0 } }, "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": [ "r81", "r111", "r514", "r530", "r532", "r539", "r555", "r640" ] }, "us-gaap_RetainedEarningsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsMember", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Retained Earnings", "documentation": "Accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r140", "r175", "r176", "r177", "r179", "r185", "r187", "r265", "r266", "r392", "r393", "r394", "r405", "r406", "r421", "r423", "r424", "r426", "r428", "r527", "r529", "r542", "r754" ] }, "us-gaap_RevenueFromContractWithCustomerAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerAbstract", "lang": { "en-us": { "role": { "label": "Revenue" } } }, "auth_ref": [] }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeUnaudited": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0, "order": 6.0 } }, "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": [ "r209", "r210", "r216", "r220", "r221", "r227", "r229", "r230", "r341", "r342", "r500" ] }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r139", "r333", "r334", "r335", "r336", "r337", "r338", "r339", "r340", "r343" ] }, "us-gaap_RevenueRemainingPerformanceObligation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r134" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r135" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r135" ] }, "us-gaap_RevolvingCreditFacilityMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevolvingCreditFacilityMember", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "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/2023", "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": [ "r464", "r639" ] }, "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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_ScheduleOfBusinessAcquisitionsByAcquisitionTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTable", "presentation": [ "http://www.doubleverify.com/role/DisclosureDescriptionOfBusinessDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Business Acquisitions, by Acquisition [Table]", "documentation": "Schedule reflecting each material business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities." } } }, "auth_ref": [ "r60", "r62", "r412" ] }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r681" ] }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r56" ] }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r56" ] }, "us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r432", "r433" ] }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r43", "r45", "r501" ] }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r43", "r45" ] }, "us-gaap_ScheduleOfGoodwillTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r615", "r688", "r689", "r690", "r691", "r692", "r693", "r694", "r695", "r696", "r697", "r698" ] }, "us-gaap_ScheduleOfOtherNonoperatingIncomeByComponentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r92" ] }, "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfPropertyPlantAndEquipmentTable", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" ], "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" ] }, "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r356", "r358", "r361", "r362", "r363", "r364", "r365", "r366", "r367", "r368", "r369", "r370", "r371", "r372", "r373", "r374", "r375", "r376", "r377", "r378", "r379", "r380", "r381", "r382", "r383", "r384", "r385", "r386" ] }, "us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r55" ] }, "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r11", "r12", "r55" ] }, "us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r113" ] }, "dvh_ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesForFinanceAndOperatingLeasesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.doubleverify.com/20240331", "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/2023", "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": [ "r45" ] }, "us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember", "presentation": [ "http://www.doubleverify.com/role/DisclosureLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "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": [ "r732" ] }, "dei_Security12bTitle": { "xbrltype": "securityTitleItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "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": [ "r653" ] }, "dei_SecurityExchangeName": { "xbrltype": "edgarExchangeCodeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "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": [ "r655" ] }, "us-gaap_SegmentReportingAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingAbstract", "lang": { "en-us": { "role": { "label": "Segment Information" } } }, "auth_ref": [] }, "us-gaap_SegmentReportingDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r204", "r205", "r206", "r207", "r208", "r215", "r219", "r223", "r224", "r225", "r226", "r227", "r228", "r230" ] }, "us-gaap_SellingAndMarketingExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SellingAndMarketingExpense", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeUnaudited": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0, "order": 3.0 } }, "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/2023", "localname": "SellingAndMarketingExpenseMember", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationStockBasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Sales, marketing and customer support", "documentation": "Primary financial statement caption encompassing selling and marketing expense." } } }, "auth_ref": [ "r88" ] }, "us-gaap_ShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensation", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 7.0 } }, "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/2023", "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": [ "r635" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r377" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r377" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "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": [ "r375" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "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)", "verboseLabel": "Granted, Weighted average grant date fair value", "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": [ "r375" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r372", "r373" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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/2023", "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": [ "r372", "r373" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "presentation": [ "http://www.doubleverify.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "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", "terseLabel": "Vested", "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period." } } }, "auth_ref": [ "r376" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r379" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r376" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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/2023", "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": [ "r383" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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/2023", "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/2023", "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": [ "r356", "r358", "r361", "r362", "r363", "r364", "r365", "r366", "r367", "r368", "r369", "r370", "r371", "r372", "r373", "r374", "r375", "r376", "r377", "r378", "r379", "r380", "r381", "r382", "r383", "r384", "r385", "r386" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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/2023", "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": [ "r366" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r366" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r379" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r370" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r54" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r364", "r365" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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/2023", "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": [ "r364", "r365" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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/2023", "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": [ "r381" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r380" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r380" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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" ], "lang": { "en-us": { "role": { "label": "Award Type [Domain]", "documentation": "Award under share-based payment arrangement." } } }, "auth_ref": [ "r361", "r362", "r363", "r364", "r365", "r366", "r367", "r368", "r369", "r370", "r371", "r372", "r373", "r374", "r375", "r376", "r377", "r378", "r379", "r380", "r381", "r382", "r383", "r384", "r385", "r386" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r369" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r370" ] }, "dvh_ShareBasedCompensationIncludedInCapitalizedSoftwareDevelopmentCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://www.doubleverify.com/20240331", "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/2023", "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": [ "r14" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r636" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r54" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r54" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r112" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r380" ] }, "us-gaap_SharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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/2023", "localname": "ShortTermInvestments", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 4.0 } }, "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": [ "r122", "r123", "r669" ] }, "us-gaap_ShortTermLeaseCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShortTermLeaseCost", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/DisclosureLeasesLeasesCostDetails": { "parentTag": "us-gaap_LeaseCost", "weight": 1.0, "order": 2.0 } }, "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": [ "r461", "r639" ] }, "us-gaap_SoftwareAndSoftwareDevelopmentCostsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SoftwareAndSoftwareDevelopmentCostsMember", "presentation": [ "http://www.doubleverify.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" ], "lang": { "en-us": { "role": { "label": "Capitalized software development costs", "documentation": "Purchased software applications and internally developed software for sale, licensing or long-term internal use." } } }, "auth_ref": [] }, "us-gaap_StatementEquityComponentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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", "r25", "r140", "r158", "r159", "r160", "r175", "r176", "r177", "r179", "r185", "r187", "r203", "r265", "r266", "r332", "r392", "r393", "r394", "r405", "r406", "r421", "r422", "r423", "r424", "r425", "r426", "r428", "r444", "r445", "r446", "r447", "r448", "r449", "r468", "r527", "r528", "r529", "r542", "r594" ] }, "us-gaap_StatementLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementLineItems", "presentation": [ "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": [ "r175", "r176", "r177", "r203", "r500", "r535", "r543", "r546", "r547", "r548", "r549", "r550", "r551", "r554", "r557", "r558", "r559", "r560", "r561", "r562", "r563", "r564", "r565", "r567", "r568", "r569", "r570", "r571", "r573", "r575", "r576", "r579", "r580", "r581", "r582", "r583", "r584", "r585", "r586", "r587", "r588", "r589", "r590", "r594", "r645" ] }, "us-gaap_StatementOfCashFlowsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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/2023", "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/2023", "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/2023", "localname": "StatementTable", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Statement [Table]", "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed." } } }, "auth_ref": [ "r175", "r176", "r177", "r203", "r500", "r535", "r543", "r546", "r547", "r548", "r549", "r550", "r551", "r554", "r557", "r558", "r559", "r560", "r561", "r562", "r563", "r564", "r565", "r567", "r568", "r569", "r570", "r571", "r573", "r575", "r576", "r579", "r580", "r581", "r582", "r583", "r584", "r585", "r586", "r587", "r588", "r589", "r590", "r594", "r645" ] }, "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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", "r111" ] }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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", "r78", "r79", "r111", "r369" ] }, "us-gaap_StockIssuedDuringPeriodSharesTreasuryStockReissued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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", "r79", "r111" ] }, "us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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", "r78", "r79", "r111" ] }, "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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", "r25", "r111" ] }, "us-gaap_StockIssuedDuringPeriodValueTreasuryStockReissued": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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", "r52", "r78", "r79", "r111" ] }, "dvh_StockRepurchasedDuringPeriodValueHeldInTreasury": { "xbrltype": "monetaryItemType", "nsuri": "http://www.doubleverify.com/20240331", "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/2023", "localname": "StockholdersEquity", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 1.0 } }, "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": [ "r79", "r82", "r83", "r100", "r556", "r572", "r595", "r596", "r640", "r652", "r677", "r687", "r734", "r754" ] }, "us-gaap_StockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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_SubleaseIncome": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubleaseIncome", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/DisclosureLeasesLeasesCostDetails": { "parentTag": "us-gaap_LeaseCost", "weight": -1.0, "order": 3.0 } }, "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": [ "r462", "r639" ] }, "us-gaap_SupplementalCashFlowInformationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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/20240331", "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" } } }, "auth_ref": [] }, "us-gaap_TaxesPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TaxesPayableCurrent", "crdr": "credit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 3.0 } }, "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": [ "r18" ] }, "us-gaap_TrademarksAndTradeNamesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TrademarksAndTradeNamesMember", "presentation": [ "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsSummaryOfCompanySIntangibleAssetsDetails", "http://www.doubleverify.com/role/DisclosureGoodwillAndIntangibleAssetsWeightedAverageRemainingUsefulLifeDetails" ], "lang": { "en-us": { "role": { "label": "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": [ "r63" ] }, "dei_TradingSymbol": { "xbrltype": "tradingSymbolItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "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/2023", "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": [ "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", "r263", "r328", "r331", "r427", "r469", "r470", "r471", "r472", "r473", "r474", "r475", "r476", "r477", "r478", "r479", "r480", "r481", "r482", "r483", "r484", "r485", "r486", "r487", "r488", "r489", "r490", "r491", "r492", "r493", "r494", "r495", "r496", "r497", "r498", "r521", "r662", "r663", "r664", "r665", "r666", "r667", "r668", "r683", "r684", "r685", "r686" ] }, "us-gaap_TreasuryStockCommonMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TreasuryStockCommonMember", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Treasury Stock", "documentation": "Previously issued common shares repurchased by the issuing entity and held in treasury." } } }, "auth_ref": [ "r52" ] }, "us-gaap_TreasuryStockCommonShares": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r52" ] }, "us-gaap_TreasuryStockCommonValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TreasuryStockCommonValue", "crdr": "debit", "calculation": { "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_StockholdersEquity", "weight": -1.0, "order": 5.0 } }, "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Treasury Stock, Common, Value", "negatedLabel": "Treasury stock, at cost, 32 shares and 22 shares as of March 31, 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": [ "r26", "r52", "r53" ] }, "us-gaap_TreasuryStockSharesAcquired": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TreasuryStockSharesAcquired", "presentation": [ "http://www.doubleverify.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Treasury Stock, Shares, Acquired", "terseLabel": "Shares repurchased for settlement of employee tax withholdings (in shares)", "documentation": "Number of shares that have been repurchased during the period and are being held in treasury." } } }, "auth_ref": [ "r9", "r79", "r111" ] }, "us-gaap_USTreasurySecuritiesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "USTreasurySecuritiesMember", "presentation": [ "http://www.doubleverify.com/role/DisclosureFairValueMeasurementNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "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": [ "r609", "r629", "r631", "r747" ] }, "us-gaap_UnbilledReceivablesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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_UseOfEstimates": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r38", "r39", "r40", "r129", "r130", "r132", "r133" ] }, "us-gaap_VariableRateAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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/2023", "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": [] }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r190", "r198" ] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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/2023", "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": [ "r189", "r198" ] } } } }, "std_ref": { "r0": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "1", "SubTopic": "20", "Topic": "940", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481913/940-20-25-1" }, "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/2147481877/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": "(c)", "SubTopic": "10", "Topic": "820", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r11": { "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" }, "r12": { "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" }, "r13": { "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" }, "r14": { "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" }, "r15": { "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" }, "r16": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r17": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19(b),22(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r18": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19,20)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r19": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19-26)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r20": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.20)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r21": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.21)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r22": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.22)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r23": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.24)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r24": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.25)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r25": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.29-31)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r26": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.30)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r27": { "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" }, "r28": { "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" }, "r29": { "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" }, "r30": { "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" }, "r31": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "15", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r32": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "15", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r33": { "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" }, "r34": { "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" }, "r35": { "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" }, "r36": { "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" }, "r37": { "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" }, "r38": { "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" }, "r39": { "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" }, "r40": { "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" }, "r41": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-1" }, "r42": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-2" }, "r43": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r44": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "2", "Subparagraph": "((a)(1),(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r45": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r46": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r47": { "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" }, "r48": { "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" }, "r49": { "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" }, "r50": { "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" }, "r51": { "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" }, "r52": { "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" }, "r53": { "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" }, "r54": { "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" }, "r55": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r56": { "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" }, "r57": { "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" }, "r58": { "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" }, "r59": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "720", "SubTopic": "30", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483384/720-30-45-1" }, "r60": { "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" }, "r61": { "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" }, "r62": { "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" }, "r63": { "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" }, "r64": { "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" }, "r65": { "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" }, "r66": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "820", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r67": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "820", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-3" }, "r68": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "835", "SubTopic": "30", "Section": "45", "Paragraph": "1A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-1A" }, "r69": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "835", "SubTopic": "30", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-2" }, "r70": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "835", "SubTopic": "30", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-3" }, "r71": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "835", "SubTopic": "30", "Section": "55", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482949/835-30-55-8" }, "r72": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "942", "SubTopic": "210", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03.17)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r73": { "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/2147480848/942-470-50-3" }, "r74": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "985", "SubTopic": "20", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481283/985-20-50-1" }, "r75": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "205", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//205/tableOfContent" }, "r76": { "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" }, "r77": { "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" }, "r78": { "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" }, "r79": { "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" }, "r80": { "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" }, "r81": { "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" }, "r82": { "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" }, "r83": { "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" }, "r84": { "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" }, "r85": { "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" }, "r86": { "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" }, "r87": { "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" }, "r88": { "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" }, "r89": { "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),(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r90": { "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" }, "r91": { "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(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r92": { "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" }, "r93": { "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" }, "r94": { "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" }, "r95": { "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" }, "r96": { "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" }, "r97": { "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" }, "r98": { "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" }, "r99": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "235", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//235/tableOfContent" }, "r100": { "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" }, "r101": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "350", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//350/tableOfContent" }, "r102": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "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" }, "r103": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "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" }, "r104": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "360", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//360/tableOfContent" }, "r105": { "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" }, "r106": { "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" }, "r107": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "440", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//440/tableOfContent" }, "r108": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "470", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//470/tableOfContent" }, "r109": { "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" }, "r110": { "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" }, "r111": { "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" }, "r112": { "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" }, "r113": { "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" }, "r114": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "805", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//805/tableOfContent" }, "r115": { "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" }, "r116": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "810", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//810/tableOfContent" }, "r117": { "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/2147479853/942-210-S99-1" }, "r118": { "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/2147479853/942-210-S99-1" }, "r119": { "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/2147479853/942-210-S99-1" }, "r120": { "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/2147479853/942-210-S99-1" }, "r121": { "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/2147479853/942-210-S99-1" }, "r122": { "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/2147479853/942-210-S99-1" }, "r123": { "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/2147479853/942-210-S99-1" }, "r124": { "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/2147483589/942-220-S99-1" }, "r125": { "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/2147483589/942-220-S99-1" }, "r126": { "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.10)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r127": { "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.9)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r128": { "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" }, "r129": { "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" }, "r130": { "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" }, "r131": { "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/2147480321/958-360-50-1" }, "r132": { "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" }, "r133": { "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" }, "r134": { "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" }, "r135": { "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" }, "r136": { "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/2147480321/958-360-50-6" }, "r137": { "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/2147480321/958-360-50-7" }, "r138": { "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" }, "r139": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//606/tableOfContent" }, "r140": { "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" }, "r141": { "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" }, "r142": { "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" }, "r143": { "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" }, "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(1))", "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(13))", "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(14))", "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(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r148": { "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" }, "r149": { "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" }, "r150": { "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" }, "r151": { "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" }, "r152": { "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" }, "r153": { "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" }, "r154": { "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" }, "r155": { "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" }, "r156": { "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" }, "r157": { "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" }, "r158": { "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" }, "r159": { "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" }, "r160": { "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" }, "r161": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(210.5-03(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r162": { "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" }, "r163": { "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" }, "r164": { "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" }, "r165": { "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" }, "r166": { "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" }, "r167": { "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" }, "r168": { "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" }, "r169": { "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" }, "r170": { "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" }, "r171": { "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" }, "r172": { "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" }, "r173": { "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" }, "r174": { "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" }, "r175": { "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" }, "r176": { "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" }, "r177": { "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" }, "r178": { "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" }, "r179": { "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" }, "r180": { "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" }, "r181": { "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" }, "r182": { "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" }, "r183": { "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" }, "r184": { "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" }, "r185": { "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" }, "r186": { "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" }, "r187": { "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" }, "r188": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//260/tableOfContent" }, "r189": { "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" }, "r190": { "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" }, "r191": { "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" }, "r192": { "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" }, "r193": { "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" }, "r194": { "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" }, "r195": { "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" }, "r196": { "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" }, "r197": { "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" }, "r198": { "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" }, "r199": { "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" }, "r200": { "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" }, "r201": { "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" }, "r202": { "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" }, "r203": { "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" }, "r204": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//280/tableOfContent" }, "r205": { "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" }, "r206": { "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" }, "r207": { "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" }, "r208": { "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" }, "r209": { "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" }, "r210": { "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" }, "r211": { "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" }, "r212": { "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" }, "r213": { "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" }, "r214": { "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" }, "r215": { "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" }, "r216": { "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" }, "r217": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r218": { "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" }, "r219": { "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" }, "r220": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r221": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r222": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r223": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r224": { "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" }, "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": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-2" }, "r232": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-9" }, "r233": { "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" }, "r234": { "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" }, "r235": { "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" }, "r236": { "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" }, "r237": { "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" }, "r238": { "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" }, "r239": { "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" }, "r240": { "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" }, "r241": { "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" }, "r242": { "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" }, "r243": { "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" }, "r244": { "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" }, "r245": { "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" }, "r246": { "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" }, "r247": { "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" }, "r248": { "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" }, "r249": { "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" }, "r250": { "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" }, "r251": { "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" }, "r252": { "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" }, "r253": { "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" }, "r254": { "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" }, "r255": { "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" }, "r256": { "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" }, "r257": { "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" }, "r258": { "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" }, "r259": { "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" }, "r260": { "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" }, "r261": { "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" }, "r262": { "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" }, "r263": { "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" }, "r264": { "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" }, "r265": { "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" }, "r266": { "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" }, "r267": { "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" }, "r268": { "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" }, "r269": { "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" }, "r270": { "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" }, "r271": { "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" }, "r272": { "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" }, "r273": { "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" }, "r274": { "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" }, "r275": { "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" }, "r276": { "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" }, "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": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r283": { "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" }, "r284": { "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" }, "r285": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r286": { "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" }, "r287": { "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" }, "r288": { "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" }, "r289": { "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" }, "r290": { "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" }, "r291": { "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" }, "r292": { "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" }, "r293": { "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" }, "r294": { "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" }, "r295": { "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" }, "r296": { "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" }, "r297": { "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" }, "r298": { "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" }, "r299": { "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" }, "r300": { "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" }, "r301": { "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" }, "r302": { "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" }, "r303": { "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" }, "r304": { "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" }, "r305": { "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" }, "r306": { "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" }, "r307": { "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" }, "r308": { "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" }, "r309": { "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" }, "r310": { "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" }, "r311": { "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" }, "r312": { "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" }, "r313": { "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" }, "r314": { "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" }, "r315": { "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" }, "r316": { "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" }, "r317": { "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" }, "r318": { "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" }, "r319": { "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" }, "r320": { "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" }, "r321": { "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" }, "r322": { "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" }, "r323": { "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" }, "r324": { "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" }, "r325": { "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" }, "r326": { "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" }, "r327": { "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" }, "r328": { "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" }, "r329": { "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" }, "r330": { "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" }, "r331": { "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" }, "r332": { "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" }, "r333": { "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" }, "r334": { "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" }, "r335": { "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" }, "r336": { "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" }, "r337": { "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" }, "r338": { "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" }, "r339": { "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" }, "r340": { "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" }, "r341": { "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" }, "r342": { "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" }, "r343": { "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" }, "r344": { "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" }, "r345": { "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" }, "r346": { "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" }, "r347": { "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" }, "r348": { "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" }, "r349": { "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" }, "r350": { "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" }, "r351": { "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" }, "r352": { "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" }, "r353": { "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" }, "r354": { "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" }, "r355": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//718/tableOfContent" }, "r356": { "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" }, "r357": { "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" }, "r358": { "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" }, "r359": { "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" }, "r360": { "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" }, "r361": { "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" }, "r362": { "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" }, "r363": { "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" }, "r364": { "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" }, "r365": { "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" }, "r366": { "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" }, "r367": { "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" }, "r368": { "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" }, "r369": { "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" }, "r370": { "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" }, "r371": { "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" }, "r372": { "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" }, "r373": { "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" }, "r374": { "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" }, "r375": { "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" }, "r376": { "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" }, "r377": { "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" }, "r378": { "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" }, "r379": { "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" }, "r380": { "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" }, "r381": { "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" }, "r382": { "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" }, "r383": { "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" }, "r384": { "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" }, "r385": { "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" }, "r386": { "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" }, "r387": { "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" }, "r388": { "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" }, "r389": { "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" }, "r390": { "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" }, "r391": { "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" }, "r392": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r393": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r394": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r395": { "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" }, "r396": { "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" }, "r397": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//740/tableOfContent" }, "r398": { "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" }, "r399": { "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" }, "r400": { "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" }, "r401": { "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" }, "r402": { "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" }, "r403": { "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" }, "r404": { "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" }, "r405": { "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" }, "r406": { "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" }, "r407": { "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" }, "r408": { "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" }, "r409": { "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" }, "r410": { "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/2147482526/740-270-50-1" }, "r411": { "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" }, "r412": { "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" }, "r413": { "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" }, "r414": { "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" }, "r415": { "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" }, "r416": { "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" }, "r417": { "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" }, "r418": { "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" }, "r419": { "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" }, "r420": { "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" }, "r421": { "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" }, "r422": { "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" }, "r423": { "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" }, "r424": { "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" }, "r425": { "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" }, "r426": { "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" }, "r427": { "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" }, "r428": { "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" }, "r429": { "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" }, "r430": { "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" }, "r431": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r432": { "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" }, "r433": { "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" }, "r434": { "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" }, "r435": { "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" }, "r436": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-3" }, "r437": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-6A" }, "r438": { "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" }, "r439": { "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" }, "r440": { "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" }, "r441": { "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" }, "r442": { "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" }, "r443": { "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/2147481877/830-230-45-1" }, "r444": { "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" }, "r445": { "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" }, "r446": { "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" }, "r447": { "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" }, "r448": { "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" }, "r449": { "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" }, "r450": { "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" }, "r451": { "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" }, "r452": { "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" }, "r453": { "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" }, "r454": { "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" }, "r455": { "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" }, "r456": { "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" }, "r457": { "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" }, "r458": { "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" }, "r459": { "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" }, "r460": { "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" }, "r461": { "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" }, "r462": { "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" }, "r463": { "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" }, "r464": { "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" }, "r465": { "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" }, "r466": { "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" }, "r467": { "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" }, "r468": { "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" }, "r469": { "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" }, "r470": { "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" }, "r471": { "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" }, "r472": { "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" }, "r473": { "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" }, "r474": { "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" }, "r475": { "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" }, "r476": { "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" }, "r477": { "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" }, "r478": { "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" }, "r479": { "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" }, "r480": { "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" }, "r481": { "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" }, "r482": { "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" }, "r483": { "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" }, "r484": { "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" }, "r485": { "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" }, "r486": { "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" }, "r487": { "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" }, "r488": { "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" }, "r489": { "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" }, "r490": { "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" }, "r491": { "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" }, "r492": { "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" }, "r493": { "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" }, "r494": { "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" }, "r495": { "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" }, "r496": { "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" }, "r497": { "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" }, "r498": { "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" }, "r499": { "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" }, "r500": { "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" }, "r501": { "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" }, "r502": { "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/2147483147/928-340-50-1" }, "r503": { "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/2147479853/942-210-S99-1" }, "r504": { "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/2147483589/942-220-S99-1" }, "r505": { "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/2147483589/942-220-S99-1" }, "r506": { "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/2147479557/942-235-S99-1" }, "r507": { "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/2147480842/942-360-50-1" }, "r508": { "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/2147479440/944-210-S99-1" }, "r509": { "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/2147479440/944-210-S99-1" }, "r510": { "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/2147479440/944-210-S99-1" }, "r511": { "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/2147479440/944-210-S99-1" }, "r512": { "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/2147479440/944-210-S99-1" }, "r513": { "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/2147479440/944-210-S99-1" }, "r514": { "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/2147479440/944-210-S99-1" }, "r515": { "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/2147479440/944-210-S99-1" }, "r516": { "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/2147479440/944-210-S99-1" }, "r517": { "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/2147479440/944-210-S99-1" }, "r518": { "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/2147483586/944-220-S99-1" }, "r519": { "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/2147483586/944-220-S99-1" }, "r520": { "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/2147483586/944-220-S99-1" }, "r521": { "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/2147483586/944-220-S99-1" }, "r522": { "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/2147483586/944-220-S99-1" }, "r523": { "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/2147483586/944-220-S99-1" }, "r524": { "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/2147483586/944-220-S99-1" }, "r525": { "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/2147483586/944-220-S99-1" }, "r526": { "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" }, "r527": { "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" }, "r528": { "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" }, "r529": { "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" }, "r530": { "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" }, "r531": { "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" }, "r532": { "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" }, "r533": { "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" }, "r534": { "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" }, "r535": { "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" }, "r536": { "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" }, "r537": { "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" }, "r538": { "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" }, "r539": { "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" }, "r540": { "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" }, "r541": { "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/2147480767/946-205-45-3" }, "r542": { "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/2147480767/946-205-45-4" }, "r543": { "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/2147480555/946-210-45-4" }, "r544": { "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/2147480524/946-210-50-6" }, "r545": { "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/2147480524/946-210-50-6" }, "r546": { "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/2147479617/946-210-S99-1" }, "r547": { "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/2147479617/946-210-S99-1" }, "r548": { "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/2147479617/946-210-S99-1" }, "r549": { "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/2147479617/946-210-S99-1" }, "r550": { "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/2147479617/946-210-S99-1" }, "r551": { "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/2147479617/946-210-S99-1" }, "r552": { "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/2147479617/946-210-S99-1" }, "r553": { "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/2147479617/946-210-S99-1" }, "r554": { "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/2147479617/946-210-S99-1" }, "r555": { "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/2147479617/946-210-S99-1" }, "r556": { "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/2147479617/946-210-S99-1" }, "r557": { "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/2147479617/946-210-S99-1" }, "r558": { "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/2147479617/946-210-S99-1" }, "r559": { "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/2147479617/946-210-S99-1" }, "r560": { "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/2147479617/946-210-S99-1" }, "r561": { "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/2147479617/946-210-S99-1" }, "r562": { "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/2147479617/946-210-S99-1" }, "r563": { "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/2147479617/946-210-S99-1" }, "r564": { "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/2147479617/946-210-S99-1" }, "r565": { "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/2147479617/946-210-S99-1" }, "r566": { "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/2147479617/946-210-S99-1" }, "r567": { "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/2147479617/946-210-S99-1" }, "r568": { "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/2147479617/946-210-S99-1" }, "r569": { "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/2147479617/946-210-S99-1" }, "r570": { "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/2147479617/946-210-S99-1" }, "r571": { "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/2147479617/946-210-S99-2" }, "r572": { "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/2147479617/946-210-S99-2" }, "r573": { "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/2147483581/946-220-45-3" }, "r574": { "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/2147483581/946-220-45-7" }, "r575": { "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/2147483575/946-220-S99-1" }, "r576": { "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/2147483575/946-220-S99-1" }, "r577": { "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/2147483575/946-220-S99-1" }, "r578": { "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(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r579": { "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/2147483575/946-220-S99-1" }, "r580": { "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/2147483575/946-220-S99-1" }, "r581": { "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/2147483575/946-220-S99-1" }, "r582": { "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/2147483575/946-220-S99-1" }, "r583": { "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/2147483575/946-220-S99-1" }, "r584": { "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/2147483575/946-220-S99-1" }, "r585": { "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/2147483575/946-220-S99-1" }, "r586": { "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/2147483575/946-220-S99-1" }, "r587": { "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/2147483575/946-220-S99-1" }, "r588": { "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/2147483575/946-220-S99-1" }, "r589": { "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/2147483575/946-220-S99-1" }, "r590": { "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/2147483575/946-220-S99-1" }, "r591": { "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/2147483575/946-220-S99-1" }, "r592": { "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/2147483575/946-220-S99-1" }, "r593": { "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/2147483575/946-220-S99-3" }, "r594": { "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/2147483575/946-220-S99-3" }, "r595": { "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/2147483575/946-220-S99-3" }, "r596": { "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/2147483575/946-220-S99-3" }, "r597": { "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/2147480032/946-320-S99-1" }, "r598": { "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/2147480032/946-320-S99-12" }, "r599": { "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/2147480032/946-320-S99-19" }, "r600": { "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/2147480032/946-320-S99-2" }, "r601": { "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/2147480032/946-320-S99-3" }, "r602": { "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/2147480032/946-320-S99-3" }, "r603": { "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/2147480032/946-320-S99-6" }, "r604": { "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/2147480327/954-440-50-1" }, "r605": { "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/2147482856/976-310-50-1" }, "r606": { "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/2147482707/978-310-50-1" }, "r607": { "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" }, "r608": { "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" }, "r609": { "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" }, "r610": { "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" }, "r611": { "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" }, "r612": { "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" }, "r613": { "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" }, "r614": { "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" }, "r615": { "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" }, "r616": { "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" }, "r617": { "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" }, "r618": { "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" }, "r619": { "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" }, "r620": { "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" }, "r621": { "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" }, "r622": { "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" }, "r623": { "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" }, "r624": { "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" }, "r625": { "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" }, "r626": { "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" }, "r627": { "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" }, "r628": { "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" }, "r629": { "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" }, "r630": { "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" }, "r631": { "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" }, "r632": { "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" }, "r633": { "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" }, "r634": { "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" }, "r635": { "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" }, "r636": { "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" }, "r637": { "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" }, "r638": { "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" }, "r639": { "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" }, "r640": { "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" }, "r641": { "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" }, "r642": { "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/2147480524/946-210-50-1" }, "r643": { "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/2147480524/946-210-50-6" }, "r644": { "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/2147480493/946-210-55-1" }, "r645": { "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/2147480833/946-310-45-1" }, "r646": { "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/2147480032/946-320-S99-1" }, "r647": { "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/2147480032/946-320-S99-2" }, "r648": { "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/2147480032/946-320-S99-3" }, "r649": { "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/2147480032/946-320-S99-6" }, "r650": { "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/2147480167/946-830-55-10" }, "r651": { "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/2147480167/946-830-55-11" }, "r652": { "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/2147480167/946-830-55-12" }, "r653": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b" }, "r654": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b-2" }, "r655": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "d1-1" }, "r656": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 10-Q", "Number": "240", "Section": "308", "Subsection": "a" }, "r657": { "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" }, "r658": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-T", "Number": "232", "Section": "405" }, "r659": { "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" }, "r660": { "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" }, "r661": { "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" }, "r662": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(a)", "Publisher": "SEC" }, "r663": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(b)", "Subparagraph": "(1)", "Publisher": "SEC" }, "r664": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(b)", "Subparagraph": "(2)", "Publisher": "SEC" }, "r665": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(b)", "Subparagraph": "(3)", "Publisher": "SEC" }, "r666": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(c)", "Subparagraph": "(2)(i)", "Publisher": "SEC" }, "r667": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(c)", "Subparagraph": "(2)(ii)", "Publisher": "SEC" }, "r668": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(c)", "Subparagraph": "(2)(iii)", "Publisher": "SEC" }, "r669": { "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" }, "r670": { "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" }, "r671": { "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" }, "r672": { "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" }, "r673": { "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" }, "r674": { "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" }, "r675": { "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" }, "r676": { "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" }, "r677": { "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" }, "r678": { "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" }, "r679": { "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" }, "r680": { "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" }, "r681": { "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" }, "r682": { "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" }, "r683": { "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" }, "r684": { "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" }, "r685": { "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" }, "r686": { "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" }, "r687": { "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" }, "r688": { "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" }, "r689": { "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" }, "r690": { "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" }, "r691": { "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" }, "r692": { "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" }, "r693": { "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" }, "r694": { "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" }, "r695": { "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" }, "r696": { "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" }, "r697": { "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" }, "r698": { "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" }, "r699": { "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" }, "r700": { "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" }, "r701": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//450/tableOfContent" }, "r702": { "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" }, "r703": { "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" }, "r704": { "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" }, "r705": { "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" }, "r706": { "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" }, "r707": { "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" }, "r708": { "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" }, "r709": { "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" }, "r710": { "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" }, "r711": { "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" }, "r712": { "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" }, "r713": { "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" }, "r714": { "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" }, "r715": { "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" }, "r716": { "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" }, "r717": { "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" }, "r718": { "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" }, "r719": { "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" }, "r720": { "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" }, "r721": { "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" }, "r722": { "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" }, "r723": { "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" }, "r724": { "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" }, "r725": { "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" }, "r726": { "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" }, "r727": { "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" }, "r728": { "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" }, "r729": { "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" }, "r730": { "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" }, "r731": { "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" }, "r732": { "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" }, "r733": { "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" }, "r734": { "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" }, "r735": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "6", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479365/842-20-25-6" }, "r736": { "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" }, "r737": { "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" }, "r738": { "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" }, "r739": { "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" }, "r740": { "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" }, "r741": { "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" }, "r742": { "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" }, "r743": { "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" }, "r744": { "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" }, "r745": { "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" }, "r746": { "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/2147482517/912-730-25-1" }, "r747": { "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/2147480832/942-320-50-2" }, "r748": { "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/2147479440/944-210-S99-1" }, "r749": { "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" }, "r750": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r751": { "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/2147480767/946-205-45-4" }, "r752": { "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/2147479617/946-210-S99-1" }, "r753": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3" }, "r754": { "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/2147483575/946-220-S99-3" }, "r755": { "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/2147483575/946-220-S99-3" } } } ZIP 75 0001558370-24-007053-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001558370-24-007053-xbrl.zip M4$L#!!0 ( /2!IUC@K=#D:PX #^2 / 9'8M,C R-# S,S$N>'-D M[5W=<^(X$G_?JOL?=+SL7-4" 2:S.ZG);!$@.[E+ A?([M[3EK %Z-8?K"0G M8?_Z:\D?&&S+-B0W7)U>9HB[U:W6KR5+W9+UZ<<7UT%/A''J>Y>-3NNL@8AG M^3;UEI>-0"R:/S1^_/R7;S[]M=G\]>KA%MF^%;C$$\AB! MBHV$,>HXZ(I1>TD0ZIRU/K2ZK7/4;'Y6(JXPAR*^AY2L;JL3$P:1--^[0.?M M[]O=L^Y[U.E>O#^_Z)VC_EW,=PDN]WQ-.OBO[N18SY7HA+13P/(#3[!-OOB(N*\A5_8.TTO&PJ@].A\_?FPK M:LP:\.82XW569D38K6W &'AQ474CZFY5@,,6NP6BECYOA\28E9%%(2H?VD"- M&;$0C,X#0:Y]Y@[) @<.: B\/P+L*"].PR']J@ .1=JM+:?E;M2D'A?8LTBJ M#0NTQ)0=)8%@FGX U)3< F>**3MRR8NURD=&4C*H4$T7V+?0P]3B^;(5*1(N M,%L2<8]=PM?8(CL*;#^8.P1&1+K8M"S?52/,6:_7:: *>!*'R-%QAR$#MRW8 M7H/M6 ;DMB1+S=WF6:\I=4XW3RO[IY!:POB<0H"FI*-,"S@ M)<";7?D2B/21-2-6E1%QR[D=2D7Y,"JVFF@^;D#8<0E;ZY7VUBM5IZ6Y/?I# MV*-IX_,W"*FW!?8\7RC[Y:/XX7I-O84?/H%G!%SX;O^%\J'O8NI%[L(;B$)CURL2US"NHTT6U*/* M&AA(S\Y0$VT%PA^Q3 1"42@52;$HE(MBP9_:^^+V% 7P.A][G]5OP)^#ZZM& ME*^\J'#$HBEH8<<*G/KEMM4J+!8]C#$[&DEH.*$Z^,#W;.@\Q(8?W'>H+3W_ M"CMR,)JN"!'\T<.!355_D( >5%*#*XST"M=$+OP>C.^'H_OI:"A_3<>W-\/^ M#/ZXZM_V[P .4OQE\:^&;4/EX,5['XZ7LF+X+K;.2 MH^D3N8'ILTMJP7^88*UW=*MZQW0&_]V-[L$SQM=H/!D]]&H9M[^'MD'.A5'&B ^>K:\9_K#10E$K0N\?XPEQCTIU_0]>WX%S-T MO!7R_'CHM9, B?VYP?[-L-].KG[R??N9.@Z,W3=@M+>4T^L^Y_!:GP:NB]D& MP(-!'7N;Z3[#D A,GBK5 42I6>%&I&_@)% MNK_EB&X9<QF4 B]SL$ZWZ#9@4T;PGFA-]AZ!Q0 M!;)='7A+1;JE>$X=18I:,X/N(2)*T,YT]% '_-BJD2^&1%'(@%*J#/J5T0__ M'?B\J/\6L6E1_#[;9Q,4HQ]2EL'IH%YZ33T9SBGH8.5=M*1\";+O*_;/2(OI MG4>@OCN8Q@@-P*!N/LRZ B6X?BC$=6^D30&(I&34-3@6A^2#]3I,VF G[!$4 M.\E"^<9;^,Q5)A7TWMKE=2AW>MEQ.:T )1I2:_F4#M-S7R$^,Q6^]?O*=VS" MN)RTBLW!(3J=*&V\IG=8K&XZ&P_^\65\.QP]3+]%HW\^WLS^92(W-<;S&0:F M@C=T1-/@UH-1NFAV_"XL;B#094>AMZ@M0C*F!!U+U3\?$BVO#J).-PN1$A9M M3DJ+,Z"5@S8DW&)T+;6/%U]TN6Q-4S M0);&U1,& _%1$/]"Z'(E%($F#]A\(5('9I+?<8+#O2">\QD M*.ZI:&BH5*8$Y4RZOA#E1++!LTH(P/>6,R)W;L\+DRTY+%JT/N8D6D!&4X 0 M)*489"H@$VY]G.&7 E@R=&V0]2R+22@ @02#Q\&1FJ((N999BU0W)QQ>&*LQ MN!V(6]^V586P4R'=45]""<+5HW%-M-6#J,EZO +T#SR0^\PG\%\MP'/*E<"< M6:]H8'Z8/G*UC)G('P;=0]&54\*P?W(>N"I46@]FG8 2O,]KX)VH02D]!O># M<<]_JM\J>H2D$D_([%O0>$)(FBN2E2:93:"E3A&=S(__EULY/4'%)O5*CD"O MPJE-3\.R1H(:?PL@]5/M]%3"TOL2#%BO<)!P@AD46!%!P=##3Q7NBM'"W*EZ M:J3XB"%ZMZ//=-N:F=1**50=BIT:N5,#3B$X*@H[7DQ21L.PF1S F=*E1Q?@ MX3":6NI[&-1;3J C6C2[=^$H65JH<];+2ID$.:U.#=.I,SPIE6BK$\5*C5^4 M)7 +4K9ZM(J3M*;!BSMB-%;!Q'%.O?"D=*:#Y?%HH7B?TW'B#25I*0:80Q*I M-?*C>IAJ9\,-7O6/BE4^(*;'JNZQ, -5R=[4_%VI>A *S_F8UJZ5UJV2QM4C M43DY;Y"IE*#596;U2)2F9 T"Y8G8P@RLMNWUJ5?3[H7M/L),;M3B$\*F*\PR MZXT,78M"3D0@%H! E(B#!HUH^[5(NIZ9&HDO T^QY_I._@PGQ[%(T_Q&60+ MD84.X%*A3M>ISZ.I.!7Q\J)L.E8M>CFQ@)0LM6C9D6;@*NZ(9%G6X[(<6G!R M(@"1"-.#WCR0_18![2J!;?FYVLRFU]<(;*-W\2^3F"J-<>[V2LV+FH.41\=5\9,H+:-&J_T4O ^)1W^?*1[%""2V,.=]KJO)U+@/E(6'" M? @UG%KH?LA"5W#2P\!5.X*2#U4!EPZF3B<+4S::8B!ZQ65[P2I>%Y-S] 9I:_QFUP\5IW$%^?2NS_DB^OJ4Y M5^NH3ZO)Q$(8-[ CQ8A)S68SZYM\ _/X3V"6^8+Y N;7>6<7 %S$ID.Q6@[$ MH'3<&82QVF+:MP1]HF)3_^1!?GDMKCF1HK+S!L@/=\+B2(]!_:#0;A&\A8Q: M'*L%>O]?H)+_R%,Q#V2!U+UX%_*&L,L&IR[,21O1LY6ZFLY^:L;7@/T&AK9> M7"=FD,(UUZDIB/?;)E(;B\#,RDC)W-H'0E2( 5YT[;CJ#=1^'9N@+>O:M-O\ M)V>1@^=U+8(BQ#E)8Z"+U#5FKU>]GDE1O:F0Q0=;+4BJX=\A[#B)W9_:>W>^ M10]V;H93]\)! _A,("]S?V#!Q77A5:2WOJ7$A-R\B%W^D(W9:X&JJ')ZK>67 M!Q95H*RD^IL?5I&>551;=YZEUP-R;5-O$$3P14\\?"ZYF/:(2 M\LF!==A>.5M-?\P?ZI:WK^;IC:[Y5#,=^VGUVS8!NL8LSG].&/4L"F.EO+ I M.98'-)5SW,S(B[AR8/K94/6_;!PKA#J.C#E=-@23!U+"T3JY:_1"Q*PW@KAR MA@%-$LPY#(Z!E/<3\X/U94/=N'I!@05&3_4;1E7JV[-06L"B+'YQ6Z@PV69* M;1+>+$G8'7'GA,5F:N@E%MCJ=LK*U<= 93"GC\4=9LXP-0^^\:S6KC&%U%,T M!5YZ!+R($9N*:VS)2,3F#K]0-W!G\(YS;DD4-).28@OK%LHU/*JOW"=ZN/.% M@['061A^8QN @(?T2>;.E@R[NY"5\)PB<.E+F<8+N47YAO- OICD)1T\MJR< M30..ZWNPDF*;5QD=0MH\/'\,!#*G6MPFA*DE'7##F'>'V>]$J/6ZBL+P70"K M,I\BDKF]"98FT)NNZ0NQ!RMY-?7 K]H12XM^U>[8MRS0:O],/-MG$[Q1&^@& MZOIUD3BMGN=M/3:Q8<]A+=7*.M/N0/DF]+WKP+-E5F%&73(D:Y]3L>>Q59E/ MT6.'9$$ ##O9X!]]_..*>+"HECL2^O:_X46N<$M>BS4+G>JXI,*##P1ZBK62 M(\PPD)_(G"C9*@O_A3A@Y(RI7/PFF>+4+G:J#3""M;Z_(6&,=A+9(W>-P*RX ML_=>K<1Z2BX>UOO>]^1UJBI#$[EI%,.4#9!//0J?_3;057IKX ([G%0','IG MR&IO8ZBIU4+R0BKD.'[]<)2A129=I^[&4M.:?E1R:Y.&)0T^<;6A+Q: M?,9B15@JIITUJ(3M%(V*;R@NMTO+>6*F3:T5L0,'YF'U]QE<^RQR3*#L70.F M-HOD],[_EKX3[>MJ0I_)#,*DP@EL.;D8X#6%)2C]$^;^_D(\J]SO$W'\=?A- M)"Y2(_FK"/M?&?A'BP61V8L")!GT)Q#U)C9S[ST_&+XM7 M3LGB7;H&#&'CQ[,/.5DV"@9!;=<\6":2;JB2D IF9?>I2C C: M,38KV4G87[]'OA ,EBT9, *FJBN=@(ZD[WQ'MR/IZ,N_/L:V\88I(Z[S]:AZ M8AX9V+'< 7%>OQ[Y[!@QBY"C?_WRU[]\^=OQ\>_73W?&P+7\,78\PZ(8>7A@ MO!-O9/3=R00YQCVFE-BV<4W)X!4;1M4\.3NIG32,X^,HCVO$0,9UC""SVDEU M]LU-E)_K7!F-RGFE9M9.C6KMZK1Q56\8S?M9PGNHWY#DIK2)\\<5__$"11H MU&%?CT:>-[FJ5-[?WT\^7JA]XM)7$#?KE3CA49CRZH.11.KW>IRV6OG]_JYG MC? 8'1.'>NA;Q ];GU,H0I^%_'<;)C M_M%QM79CCE59CVLW-]['A#.;>G&=0;8 <. 7YAKDP$WA&MD\S)Z M(XP]]NP@?T#@TR.#E_;\U$E4;^#Z+S8&0R;#Z8GECBL\4:58_I5-@II]R[K# M[@33@'[6="#1>$+Q" 3(&^Y &QSC#6 N6'QI*KE!;'1KN^^;X#NOG"V"9&6A M9"O#;!%FV2[S*?[FNH-WZ.S!>CH.= >O!"K;9 Q:4\\?CQ&=0@W K) S[2TF M:&$/$5L)]IH++D,-;>:1,2?EUO<@9?MC@BWXJSEVJ4?^%[0]_AE0N"E]%*C! MVA3S2%WH8;SI(W2S'M2M_5^?3+AE/F!O);Q2&:\-QAV&@9'=(] ?\0C^[#B= MU^"K.X)>B!U\%15>$%:A@M8,,_QYX[+5&!)FMD%6;HG#AW.!JM9%25XI:P:8 MM("XF!MD6[55$&5FNS8(/7\"J7G#1':H-X+LV?C4<88N'0==T$H(/#X/HYZ?$XR7#^L(TC6-C5@#\?M-]:+4?>NT6 M_ZW7O>NTFGWXX[IYUWRX:1N][^UVOV?\]/S0?&YUX)M_AO-RP&B[5J)0FR\X M7)IDD(-E@#:8XP\1>PDF^K#Z>T5HPA=7]0JV/19_PNFN!U1''_P(QYHX4QN] M8#M8/2:^K)1;IZXWPC0L^\%U+)]2T*6@BJEI?YS5+QKF6?VR4:\U3F'9$3/N:[T/%(\0600^;Y@ MLC4W@\XF34)25RJSJINUZ@Z2K8Q0][4'W_K@VUKP'U]'O2&;;XDTO1M$Z10&^U^1[6,!W5*R^\%[ M<:@RJY5M&D!OY%*OC^FXX[QAY@4[8@*^TY+N![W2R&26,"43..==!POM>:[U MQ\BUH9J,6ZHW%9"9+U:V(-P)I1R8N+. M97Q%V1WVT8=X*J&2BWX6(,EFZA1C9>1J-E(OW4:>^!:3@P=M1!T8/=D M$HN(9ICY@DE]-$PH>E0W!P,25ND1UDT=YP9-B(=$'AE!ZCVB M606AVFRR?&ZALQJ[3J"*S)7#0K(]8E,*FIHGO'P:^Q0CYM-I "-$E$6G*/D> MT:H$,=<)?KSE.=K<]#1_>: ?BT5FUWF ='?4I)]QF^:?V\&K&CK=V_#2?OD\-/FS DFI?>"Y"$3= M':MI)V#SN^LZ>Z-2.)IO@+)$]8ED9ILS,JFP?!?K [!%-^29\-JDI*?>( M2UETNL^7FI9%?3R0[HN%Z?>(6S6,NI^O%:S2-3^SN(=7YM&YT'^+N]Q5M_*7K).?R0(0&V MG=#2K6F?(H>Y?@D4 Y,+F/;Z,//]G$Y$$B"UJ%JKQW'PQ2S;-O82(G[9%_E*4CWKB<83 &/ M&Z_*0N!1Z\N:JPB%DGJX-,WJMJ\[E4VZ8,ZBIC'=YQZQ!K)-92'5G[:1UB7E MJRBW&]GV4-=-&G;&?#0EY9]6D>$FRU&3[N[N%H;IO450M :;CS0G/ 91.KM#'G(E.'J.Z1NQ,.NY]D! MEA@GYA61*G] M!8DG,%?'Q_$DER++^XUXHQN?>: 8.HN%Q"^;P[^!>/^B0$[[9!CK@K^3VZ-I MT=.E]D%/B^V#WC1[WXW;N^YOVPQRRD$OQ,F <<"CA ?4CN)H)#^82_D(NG;Y M,7!^W0JW>\FA* ..1NF\$.L;KZ3/CMT*B>-4P3%BP,,RZ MMRB?P9]FF+IEO(KV=-_4 5P6QH/ =QG<&NT&-63M#TPMPK!H#I\KIY\MK9,DG@5;-:TV #>+WDJ^.7\L^5W?RC M"M^Z] E/? H](L/!$SAQQ 91^\\5/ ;**@$*0_>%L>!.]=YY9'?8!W(WRVY MH7@@/&&4*W<(9E!(!QK>WP0CCBRZ.U0Q@ERY S""8CJ0\OKIL> (XT"NL.!( MR4 _N]!VP2&K/=TW^>,QL^\V+=!V\CTGK0<<4B4,]L.Z;HZ)22@7ZVH>WH)*L]W>_C JXA M\3*.)'XFT,\Z5N0F=6&3!59#3U: G;](#TORENN_>$/?CF^0\4[E_QP\UH/NU[&6]"+7!/+$#L F"JF@X/VI38P<+<(L MVV4^Q?Q2_SNQ>7B6CN,AYY5 \G"NW>.:I=/@$L $.=/>8H(6?\'6EAM)8!PQ M:S!Z?)8,?\2%&\@9&)^Y&V'V?-P)JV"X0R.JQ#^803X3HC#A3U%-RAY@;HD# M1A>XQA9U(_8LYPF5?V%*5)VY%XDECA^H9Z1?1R%'Z,+=J76@UO[T:@;.;U1\ MQBQ/;,]-0(QQUP:#-O/(F)ORK>]!2NZ5185878QA4QL!1 M;0PT5YW@4ZC/GZ/#AD:'9>J;0P_3?V-$;T&@P#"1D^-"0[H\KVT[4MIZQXLB M\'5?8ZCA7:OM'*[9R%B,MF$<"D!U?;H^BX',#M1B1,AUOX>G#K4/):^ODPER M.TR;$4/7_7I, :SO[OI,YMT]4(,1 -?])6$UI ^PWNF_8_L-W[N.-RJP.I;( M]/ ,2$H#!6-):FI)3WB,"*R<:7=X"XMD9/-&M!9S2LTYJ=%S,(!]MREY-<@< M:B[=92.\) _*4?/$G)G514],G/G/1I!]X)"9%?"SX6!O:\Z5+-R"YI$M4O[M MSO3*9'E3LX7T:[LR)"U:QP+7MR.0XBTA =?9,5_E']^4*IJ*E/&XADFV\F%:=9J6^XQ5'A;[C_6 MK D- TK(ZD=R\5HTNX,T'%D]:!B10A9?MHM,,9=#-9(L^.N/3U&N;63XW)7S M.6C[$"I PSBL*L R]O%4LSED^Q#B7W^TC7+-0WPP0#6;@S8/$7X- W/(XI(Y M>%0HKT,UE'PER(?X*,,)$O[D$:'4G-[GRT[OF:,C^H5GND57!M2!UT!HU+/O MM_7T=5X5EQ,F[8D_+K?MZ%=+&%+?I,X&H.&*?Q8=-X^CY80[QI$D V7USW> MO87!:]VQ\/7@1*)=XR:_\CH^(S+_*LX3KT5W^,S"?62YVS RTCM&Y2JH-%R< MSL.)HUYE/^Z<(;'#5,H@D5\\EKWI-8]D>B)X*KGC%16GT7Y7F@(D]KGR MQ+:POY59)<6C4(H9)8S^#&S^K+']DT^Y_&2WZQ60:SB;S=.'_*%+I6P.PC!D M<6LX@<[#E7MT6T;Z4(P@"Z[\_E,9,X#DJCP>[6^@B)KTD'\F'/(7CK7,C>T& M+\*H[<<0KT=C?78&0 */ZL6COEF8\7.ZOO#,FU(>N]=PI9NM$N1=&<]5.-]C M;G=E\"WIJ)U>N!3[JT)Y)0V@:IJGV[9M5:JEMYV45*!A/R: );4=(FCPN\ZW M"DCY7FVST\J>/YG809!#9$=OYR)[%OBPXPQ=.HZ.E"LXEJKUY1W&^9*,65%S M01;G"MN:4VDY/.:-3VGF3011^C4\FA1F_BNHV*6Q[:77)R^Y?@TM5].SIY!4 M8:E=CBF_YPP 06MS:1]]P)*.!U_MCY S>UQ&RNBD,MA1VM<$5/>8'Y$NKEW' M9Y(=33)M$C7GPMPY>J4PZ1Z+(T+20S:BLF/&0N+]X%(&E.XQ,AZQP\*KLC]^&'PL [Q7K? ,D7)];$WL=*3\>X5<&BXJ(:9#I3MA'9O3?L4 M&@&R>+V^(>+P=YRO,2R2^-1'Y#*4SV'7R%T5FH:.Q #T@^NXL><@^QR.*/FN M,:F$0^&47)JKY$LEU"3\>$$,__)_4$L#!!0 ( /2!IUB;<9[\$2, -8_ M @ 3 9'8M,C R-# S,S%?9&5F+GAM;.T]:W/C-I+?M^K^ \_W8?>J5F-[ MG,EFIC+9DE^):CW6G&0GNY]2M A)W*$(!2!M:W_] : HD2)>? *:854J(UD- MH)]X=#<:/_[]=14XSP!A'X8?3\[?G)TX()Q!SP\7'T_B:#[XX>3O/_W7GW[\ M[\'@GY>3.\>#LW@%PLB9(>!&P'->_&CI/,#UV@V=3P A/PB<2^1["^ XYV=O MOG_S]LT[9S#XB75QZ6+2!(8.Z^OMF_/TAZMM;S#\X+P[_=OIV[.WWSGG;S]\ M]^[#Q3MG^"F%^T0PF_LJP, /OWR@_WLBXSF$PA!_>,7^QY-E%*T_G)Z^O+R\ M>;EX ]&"M#\[/_WGI[OI; E6[L /<>2&,W"R;44[R35[?4)!VO#B-!TC!7\M MP&^'.7___OTI^W4'2CKR)5T?8D)_]:)=@RSPN]/D1P**_0^847('9V[$9*I$ MWA%"T&^#%&Q _S0X?SNX.'_SBKV3G_[D.#\B&( )F#N,M _19@T^GF!_M0XH MWNQO2P3F'T^\YP&5U-E%TOA_IA$1-]6C*QAZ("1:03Y@&/@>58/=KW@\GT9P M]F4) X_HZ,T?L1]M'D,W]GP"=N+0X1\GHQR1'HR? D!4VI]OWLS@ZI0"G38T M().%ED*PHG!-J.0S+<+G^ ]Q!A$>!JO5B[:C.?42MQP,ST$J,6!1@:VBE^_ 7^Q M))/DD!#M+L@X*]*T>YOXW "9C'9)(8+L@#Y]4RHVDAV M<.3>18@LN\_U;$*OY^XIOH/AX@&@U35XJJ?CW(YLV8/5HDS1I2TT#CVR\27_ MNL$HG$.T:HMP^3BV<&."8TQFVL_DGQ9XP.O=%LKI+),("N-XQ7;6;;! .HPM MO.#_]>:5?JPWG]<9KRQW& -<-$NYM/UXB#+ *_<-B,E>@_[#/ *G@.RK3K?P MIR\^.2@/0K+JP!> 3I3595$YE*7$X]0+-7?S$V!CC MP<)UU]0G=G$*R%#T+[1+3-&]8*@"X*V*REGH(A$%@3V]>8V(GM'-]DT8KP!B MRG?GXZ@=G=MUX(?1J>>O=GKA!D$UYDW&# M&!:[;@!=UM-@!59/54V5CVN^W_J(+@E.:!8_@<&.#0VBR^V]465(3+T=;4C[ M3A F7\E9-[')\,NVH?VG#-B-0*E*Z0K@+#=@0/WT M$%6>WNE?]K/[]@^_[_S9B0.;[AM@2-W;%+]TK,!] L''$ZTVOY\?<$2[U6GW MU!^@DE4T7:\QS!57GF0PU<8DQ&@NOD.)6V MW$Y2=6:QA!5[XCYH(N\\0$>)-$1D:_?QQ(S"3.,G['N^BS93-P#;$)#,5$3P M8C.1M3!!\1Z+>W=%/CX@EQPL9NS8+;,7=4,Q#[2:UK8D#=G LDAU;U)B*K+F MI(>]6=O:!5X#%V,-VQ+!JY<@7@L#%&?1D-I2$5!((Q^TL55'PFNH0L+<,:BAQ8F[SZ)J')9:B#0V=&($>:6H :68-J3T@8D<5/K?190(5.'((:(TI# MW?.@FH0UK>H"WA84O3B^(37/(UQ4\B*BC:DX!K,W"_A\Z@$_40;R8:\'Y,OO M=V#A!LS(-ARMYD 4I"Z :1WS9#BNUA[^S,7Y$*"J=LIY!/F#=::*7.RH#O*P MZGQJG;CA @AFT]UOW'DF]VN7V'[*A6\.\4U^%6.\_[W.9,AC#>2.TNF4ET$K MG>4.T#%Z_A.F[%UN'LBPDK.@1DOAN4BSK4W\H'A)3XD:+XBH% I^:#&B5,:I0AI$ ('@'8[<[+S1[FL[MATJ*([[$//;I;4=I,&T.) YPM M#5;75D6: =M'O7,3/Z U%X1OB4:C,\,HG,$5V(5:T^ODDGE"TD*HV8HV]M M MG0RD;>Q"!N4(KG!S!6U!* N+MWGK B1SR6M2)'N? G8+4?3&0A= MY$/!*L"%X\Z80LBN*-H.^QCB-9BQ2DS"M4 (RZ=,!EUG+5 Q%VJ,W^ER($ X M71&DB!I=$:Y@&/GDR,-J+&%Z59,9H#*VI6PGSHK5:6D/)Y11+66[LIQH-J)5 M1E"P)&Z=KR@:Q.2RB76(,!O)2HN!7&ZR!5$0^",&X8R76U.BI3@2H]?6)#]X M>,FC5.J6:G[(V]:.1I42&2R-7_>1)QV"5DL8ZAJEH;HEMXB*:I:U4V$Y7VTJ#EZHE58;Q29$V:L90ZE25+J;+% MIN]\]\D/Z'U658J(K(V.!?-;F:0^Q<@'>"LV[[#DVF,(GS! S[2PZ"A7M$F7R?F'QPCNM-,F XQ.59GY ME"&M.(>+P(6F(6M@";G2247+DCF8.J":! M#;J393R&ZO&[-Q$.PCD?L0!1HRK_JXM\NFV=N)%L\W<()M0&'J!ALJ2J7@34 M(JTY-9=P%JK&[ES%B\AF%9R/I 5YB@_NZS".EA#)9W4^L")#CP=N!:$:.8E% M\!+$-IV)*.%[(0F1CX>A_,,BXL740S["9F^;;C.*9==*,R#B^Y('0 9)D=\) MU#X0*![?MZ>8R$^8':;;F$EVI=K^R/5!2P CH=5P'BX;^KCE$&;^,U M>EEV1W3SO"TA(%D#MHE=]&%,&7H;?9$KQRYD--3(S4W>6BGKOP M)T.Y\R7E@1(SGH]"SW_VO=CEY10)X;ASJQ#2%$6_^=%R @(6:\5+?_T ):6W M*O2@QP5U'W76&95X8&6L.EUN!&2DZTT%],T>1@!<('>]]&?7/HU[/,6*>T[B M!N(-O+2)-43+#RR2)B4);_ (HR,+J(]/]X<:"0&YTXT"<<,!B/1-MR" +_1^ M%GWE;@)H/@W BGV<7F.)1U^WN76,400UU$TK,J7)P$=)V<'R.!H(D.@1E0^; MZ!%CMA2,]^\81TGN+43WX&4XF]&3H!\N/B,8DH^S)#-75BJF3!]"_2S=BP%N M44&/YT,O43UI.@P/5$B["+AVJ9:*DH%JU+HOQ5*.EJPEBFCHONPLP.DU3\%Q M[0!"X 0KP'2/O\3!=P"CHJ&9@Y28<5 R8K=E:@]1W+OC.*B9N[>^WU<*O0I" M6*ZPI=!=40<6AQB([["+8/G4R: ;N<,N83+4P,',/?8BTKN[[#)D39>%)?LT MGSY'KE$D4@ MOE,BAC>QEZ%OALUIZ9G0FY(MJ3\C*^EXSD&2[6\Q_R?I>:7) M(<1[IX8'::!BK$(K8'O(FR@=RZ-?[6B#%Y*V^0]JY-_I:H/E@IOGQ M]$".=^2KYH/K]R\;PM C3*(51?U^35\U7,* ((63-W4?0S?V_"CS M=/5&\J#UV=D%>]!ZUR?Y?#6^O[ZYG]YOA ODP?R#^?;NX?IL[X MEGP;7_WCE_'=]1P__#]\O!X1Z/\]T7_N.S6(;I\A?:!B M%\71#X!.S:#8U*/=>P*TYAMM"UZ2EF@6/X'!SI:S!L)-">"R/Y<'(*?D8,[I M5C*U'Q1O2Q*9N70[CJ889"JF?&30]L>CH^C)4!TXD5@28]MSR"Y M.WH',GG93)E["_E>-RK]2#!5L2N4 K466/U><.D,G4-)R1U0 )IUUIBR[%]7T=^Y-288]X,MED M#U!PJF38/QV^\#4!A!KL1R")9()$&VDP89$(ABFF.E6RI6&[5)2_U5&4]EEA MC[8Q8TAV)H4IC/TV9HCAFU> 9CX6[\S*]].E/OQ0>]M R*O?#X,R);S@J&+.FKTT#&65O6+"'0>FDGNMJ0 MN)6==2KOFLZI:A1:+W"FL;E-[03X4N])^7XZ%7-]WU8YXJR7<**C#8A8VE&G M,J[G1ZM G3U"O@?1WN$CD-\!3*>BJ>7<.D!> MOV:AB3WJLERTB_.W9Q?.P-EWR1+32*\#UJV3[=?Y2]*SO8EFLR7P8EKDH/J[ MX-(;Z[]C1DGU!7>05R:#0@V_92\++C4^E!UY=EQ= M+X2H&B?>J.J0S<$P M(86H'35KED\6*=G.?FY6ZP!N0)I"(>!CP- @G\;S;7K%?P@;F3OX"N((Z\]L MC8]G0T)4RW-V MK($+J32Z-/"P2O(VY?Y 7V>FSU$X>\/UHLH +7"@ M:JM0FMXMHL6>#1.'))6_4][$F"=3AQ+^-D1WICL^5R2',K)QFA'TW 4A_%<8 M9>XWJM+WJW9F@N[Z/*5_HCGD-$;O6NBU**$P9D32PP+%75H(R M$B;DMS &YWYYDP;L2%%)]9/[ M;XBN8AS!%2WIQR\0RP.R9A>OP_2TLBJ/D.:G+@7+:4!Y/,^A(BQ>*X$UNQ&7 MZT[*;PGZ3>^YF;^.J8!PMUT$,;C/UM*$=&]=Q+QI]FT+[=%50\@_#HS!_4XI M!G)0;_S:;[Q>!YNI[X$4%2$CQ: &=Q^E^"FFH.5MH:JF/?76BJKQ[W_K?O$2 M;-;++%X9_,WPE:O/A5_-KTL%)56Z]5?Q2LA%P]^-[PV<22^WT7E M$.V>D80?4D;F?S>\1LD8F4?4<,$S-O-, "4KN2>2!DC'3X&?3% WKVM _(/ M_HH5_9Z2O^)Y4G5C&KDHNG8C66YXTX-T/X\+CNRZ\WA;C#"J.@+B5;Y5=3-C M_E5=BK(BE:O \?E3M_C?$L9VO#U[UP:N:_K\^>-4'K_K@51^\ZH-7??"J M#U[UP:L^>-4'K_K@51^!Z",0?02BCT#T$0@KW=9]!**/0/01B#X"T4<@U!&( MGR'T7LC$/PR]$<$K7/@$/'D'?1JO5B[:C.>T6H ;;J:' .7B%>_.WA[&*]+! M'3?TG'WO3M(]K>::H$!OYF^1^#-V_#V@FP!:'^?8WX6\I3(C^O$,"OS6NZ:O M[J#;:5R"S^4F<8P%1$R2!+U2/5@312DOTNSD7(IFH\NT!-,]GLJBK:5[L>/* M?P7EUI0RGVK##XZY'MDLH"\X>3E611L+:@I4U-_\BV12(LT^:K\] M8D] \O(@7OIKNQ60=!]YP M!5'D_T?FXZW2D=V+9U49"\D]"JG? U'H1=7([I6UJC09:?9(+JM1X_DAL@+) MJ1I9X&>O*CD5:99Z>'\#='M-)@C2VEWL0P6/&,SCX,Z?EZRC].[LN](NWA2' M@9L@X: 4"\HH@H83$#QZ%V_OXNU=O+V+MW?Q]B[>WL7;NWA[%Z]=I]2OP\7; MNPU[M^&6IMU9*'NTDV><5>[-[AFYJLM"3K,]OHS1:NWZB.ID\>2>D!=0\@1" MUVYM]_PM%;(VC?8(-74[[%&7O.8N CYB5Z*())..J,^(+/PHVM ';B.RS;[Y M(_;7%+5[4++TP??%T@=IYW]U6/?,W;0;X*]."(Z@&L)^L16R2L^!I&K>K2T* ML;G,(H!UFV4ZGV7)UHG!EVGB^DL[>RE04[UK:-1>LD8L7T+L1.%5W1:6@L MMJ)/%3^RHEH6CB^N(J1(EHRM:F3S\48J:15A]GC-,SG#UV"-P"R9>LCG #"& MA[E<8B%AH@30QKJW^2 EU87F6&"/ULC\^F5MW984[H8MW;+T[:SJ"?-1LB 6 MI&97DTB>#'LD<.N'M! +63)$@_T;C$+KI(=WJBJ/X&LU MMM:5]&'=_*NAZ$HK%I-KAWA9U PSNL[UYF!>"TNG7J7"25()ZBP-QQ>DW-Y?25FP/WLH? 8X M6I43IJJ1!=9;28(JNFQSF]Z["+F1_URRR- /Q3KR0C?I;HC>(?HU.$2_IM.Z M8;=H?UKO3^O]:;T_K5?9-TOF6UF#;\,C*N. X?>VR-;1IX\]\5'D_U5JF?6Z MM&/65:MX_E&M.A0W_@8Y#,'FDXN^@.@V#CU6NXR0?PW6$/L"V95H9\'X,3\GZ1[W6:'L&-25FC^0>7&!LDW^PSM] $Q*]A,J3;<<;I@UQ]D,MHD.LK#7R8"GKU01(3TFYQ.RF5 MMLT!%9H>_P#0ZAH\E2R>][Z89DX[&T2D-X=V9W^LA&*YWR'(HAY(#6Q"4D+,_?MRO28/BJ8Q8AY2,&8G [#D9B91)+P9K7!R;@&0;/9.J] M(A.S']VZM+A%M%&X&*5M+#CEJ#0L[SZ44F/6UY]#2>;CYP!:X]O7G*=X-%C$ M?>DU8WX2*Y&8^U;,37<@(AN@\3Q!35'BCP=JP4PDTZ%\,3\> 4;9_ZN+ M?&JK$S>2%00N@EGCW-:<>(H46,-WZ:3# [1CRA&ICHCK5DPWS&%)3J?D@!?2 M*^Q;QV>XH!A.X1SM?AF10]SK],5=TU_DE2SK]6G!!";6QESEK'IT&I7[):U9 MH!+D(9 %GC4]R1PBWCRK,8HR;";?]BPF7WZ?N.&"MWX<_-;]HB$H,Z18- [0 M-L-.KJH6?C6[%G!EG^.@,97\1-BQBE="+A[\;G 6%D@\9>,!HMTSTGV5,S+_ MN\%)4\7(/*(6N<<*WG"I=^S.@NBA G^Q4^QH(WIY,LAA#PQ7,!;67!2#6["K MJ"R]+!WV!-HH >FI>N?:2XS]$B($7ZCCSUV37Z*-R+=0J@L+@G E1%B.-KO% M>@57*Y^%!F\!^$RV?>23NQ!%H4KU8$'URYI"%9)FCTSS%+)0\'2-@.N-P^Q1 M1_34HWYS"RIG5IYE9739(\IL)%QD?SD0"TI>EC&P'.Z-L9V73BZ9H!]@Y ;T M8@HBACRA114/6%VAO04%*#7D4(&P[H64',UN_5?@72U=M !7L(*H5+U84%>R MCL!4Y)E,YYE&L%ERUN5F#_/9W;#,B!<7>7J/9=;NO^.R)6SDC?3=S ,8:Y*( M&A=JKB!)GFBSX9W*Y.VI"#U:/%>9L=3.4':$]KBZG@L%M4)\TTLV316.-J.0 MGH/\9_H.\@*Y?$>F&MR",%V;VIVNX'(FNF]4Z@!N0K-ECAH0TG">!M\ ' MU[8P-;A@R;5HAMDC$0.>3!\U[SUSVUC@ENM*J@I.F'V7!J Y1"OZ5@ C57Z7 M3@AM@3^N*VD*>6#W9DI$?.%X6';KI-&QLX=^?*&URBQE__N5 M3(5^N" VY$-/Y#AN=HACV#Y44\-&V62/KYHA_:2FZ^F0KIO7M8^2)^$853+U M:J;_8]C$5->M9GADG\=PZ'E^@L$H9$MY%3?BA;8;<>#L!W3\_8B]?['W+_;^ MQ=Z_V/L7F_8O?JO>*T.NR):]5SQO<>803E!+ZI4Q["5.C!+M+!":4@53)[ F M2?;L[X__@_(5W$&Q]^I$R3LH%EV=2.56CTEYFJV0D/1\8^?)A*=_AGTD6$1QKAC$Z& M/X935K>1M-(LM.<47IGF+67C.,*1&WI^N+B/904WFA_GZXZZ-]2I7098%]J MZP3'](V/S^2?L@FMWY5(:)U,'['CAI[SF7[H\UC[/-86 [1]'FN?Q]KGL7Z+ MJ7:&\UG[>[M6A/3Z>[M]ED*?I6"OJ^0>LB< @3>!07 +$6W4N3^$C\0Q3&^6 M.3WXC+3'L]$!Y>WD,Y0?_QBV6JW,&AUK^E>4*]&GE'4W01^!BG^%Z6=]/+V[ M9+4CT/!O,?9.&#T'ODDEYV!PS-EO1Z#G'(Y_"ZJ^8[PR^FK%X;,\-)@^ MG9;C=&\J1I-5RJ#V;1QZJTQGMEG8MV%6?2+841ZY[36P(\XJZ^H89Y^5E<;O MF/=V7X.5E1;8MV!EVT-DC "VS\3*(?=MN!OLM:]RTK(O498BEC #XWB5T%0V M8_9=B8S9W7A.9L ^<[;/G.TS9_O,V3YSUKK,V2/,KS2<+=OG5_;YE7U^97F6 M[K;)F8TA+>0+HB7T8 7F^$3V8:[,]'#S9V,?,Q>PW9B566X]Q4X%WCD3GS\ MY18!,")F22;\B#Y[OGU!N M=E0Y_#"MOFV=7F;[%0:D&_K:.Z6Z"XT6C7S,01*+E%G$7ON\KOR_;NLI ME'6_?E_"_9K\],1^FF5_ LG8Q^2)W95>!NC9WQZVBZJ4E+ @G\;S"9C!1>C_ MAV@2BX9=01QA/:]LHV-U.W>.0B)HHH?$%*CUW&U1E/AKI2TL]-ZVH C9.4K* M#J/+H@ SJ8-6T<8.3ZN&SFI(R H'Z@1@0-BP)&OB-5DG KBF*&ZG>E4! G5+ M"XYW6EIX4$] 39C9_28(2'>+W3M2Y+..Q-3-+#BVE!:7FBJCLOH9A "Y 4%O MZ*T(4^EF,_*?@8[ --M:L#\O+35-TNQX7K#6PJV*4#0^BK%P14O\XLVRTYA# K/JL-G?*6/N8?0O$.U95F>*JC:> M!6M7!RK6(@._ :U,N'P+T?9/%.Z\:U45(&%!@NLQZZ^ JQ5)NJP]?K] M]/]02P,$% @ ](&G6$[W#Y#G80 98@& !, !D=BTR,#(T,#,S,5]L M86(N>&UL[;U[<^0VLB?Z_XG8[X#KNQ&G'5%JN]WVS-AW9C;T].BN6M)*:L_. M==R8H$B4BLB)FW)(*R%=E_I!X)?[\/]Z6 M =G0./&C\"]??7C_[5>$AF[D^>'+7[Y:I_.3/WWU/_[ZW_[CS__7RE'GGUTP5YBE8K)R2?:!S[04#.8M][H81\^/;]']Y_]_X' M?/CNI^]_^.GC M#^3T4][N$Y-L[K%3 M+RTZR(U_^$9\6#3=(YU)].'''W_\AG_*FB;^3PF7["9RG91_1ZW"$&4+^.TD M;W8"?SKY\-W)QP_OWQ+OJ[_^!R%_CJ. /M YX?Q_2KO$G^Y"D!%_K=% M3.?U0@1Q_ WT_R:D+_!E H,?@<&'/P"#_SO[\XWS3(.O"+3\_'"MU.?'"JVL M$S>=UO?QS5CJ/$6I$QCI)/?LJICP<.A[PWZJZ$??4AIZU,LU!)8-E+E$W-N M,)".W J] #POBO<-EN0>GE#W_4NT^<:C/L3C1_CA!'[@=F*__/,\8A!S^IRD ML>.F.24N_E^^JON\FS5 :*!U&E9 M_WJ1CP9.Z)'+,/73+;D.YU&\Y&!%?LTY_?]_%A(-Z&.Y+$^,8HWB.Q_C]; Z M/7('DS_#Z5^U$A[L7D!M/ _Z7VLG3FD<;!_H*HKK\$K=$K]?*;3;=;&=9KB] M327LP8Y7$":"\GA.>$]C/_(N0^^"Y0H-JN^VP^^ M9KMNE^E$6[GJQ?U8-<3 M9-FHZA$@/.( &CMAXL/XW8I_-4WQ^Y]*O[U!=J<=;B]42GOXX%M0'@T$12IY MY0?T=KU\IG&-WC5-\+J>2I_4#>GG MT3I,X^UYY*D]L*T7=H?4TKKJGXU=,+NKGN '>F^%R8QP-B2*2<:* *^Q7/K) M>;OV6(K@SWVQ.MTR6JO;8W?C%DVK#JQHC-EUVT0^T&D9>5*E/_)X?^IYS&A) M]L^-'](/2EO4M\7NH0T:5KVSIB%FSVP2]T"OS&C.\A\(4"=WX6CXF?$]9S_> MQ4_1:]AFA4K+B7CDOG:U_E@VFX WU@C;ER\":1C/@?C(?LASB;OX/HXV?NBJ MG_PTJ$.HFB9X74NE3^Y:NY_C="VEE*:NQ:F0:$X^?/?N M^6N2TQ_>OYYB!\X)/VZ7SU&=IKN?X_6L6DURMZI\B-.GZD4T=BA!C0ARX^'4 MY9N[8!)3Q9:KVK2:Q>SY#8X?:Q14E-7RXF2G.JH6W+GZSBF82I.-4#\ ML+GM.E'.893-\;J@CI[5B65]6YPNJ27Q@9/+C#HIR!-!?[QMXY3""6I_0R^< MU,G$:=B#5#3'[J/->N[N$->UQ>RC+1(?O"=<4(>S@D[NM&,>U(K/G92^1/%6 M:8/=5M@]LE:K_1-;11/,_EUZM MG(>B(- E35WPNZ&.CKO3)P;>F!V M4RVY#YU$7^LUVW'1:B/4 M7JD0]5!'%&0)ITL8X1'."(BY^)6?N$[P#^K$ZCN=#4WQ^E^;?L4Y D4[G%[8 M*JWQ^8)L/5%0)D#:PAW/4J\K]I>Z:;2Z)5Y7;-%N]X+G3C.6"=N7_Z877\?R2-/&6N/*Q8X=7.: MW<_Q>EZM)KFW53[$Z6'U(IIZ54&- +E#_6CN),^7&F+)OJ#FW;IA\^#C:0W3B7O M;B\N;Q\O+PC[Z?'NYOKB](G]_W9Y^?1(WGV^/?U\<A#,;(K W-'Z.FD-[9$.X\ ,M&5F9J2VB.'VB\?(Z MW- DA>Q]=T&JI2GNF&[2KS+SJFF'-V(;I34^E@Y$3X JD-'Z.9VO ^+D)F1M_ON/LQ_^]"T?A=F/WW__'4N\X>^?F%\IQ7(K2$[D>#LUPG'"#;Y$9[A->)O_B"(H/LX6M$XW=XS M/5*&(##'7\$D@*4E2M1I[(([OG3TK8Z0ZO9XHT]+:O,101"?$4Y>//F3,Y@1 MQL+28#B*SJM"9UKJ' ZD"GB- MI74 Y$F<*[V&*4V66UF*Y)^CR'OU Y5AI(]QQ^>N'G(HYI_AC;H]"4U=+25FB*I=TU@)^ZR[G)2CSH]IDZK6 M>&-80V;C.RP9:2)H\V=/I!"V,L480]V4Z6EO+5/:_;AE#MZX*Z!JBSLH&S6L M3/[K&N(-Q69QC:>]E8VZDK"=&?Z *H91>&)_*T$HU[A[@C[ JCKL[[OA#:$= M^0[;:;.XP=;3LK6],+CQG6<_\%.?)J>AQRN=+*+ 8_@ J_/IMN7V1H?NN$.I MJQWD8-/MBS<<.VM@_)Y R:C8B4NWMB^$6%-?8O6?268,*S>V),'TKFTU=IA, MJ&M^=+9R4U3MHOM<8=U@VZUAW MN+S:$F\XMLA[\('RC*[=TYT#*2D.B:\$45NQ%Z^IMP\R:D,HVZ./P&9-=X*P MOC'J.&P1^8!0!,JD;G2T%8T#JYJ?L+8S^1Y,O6P^7E72_IFQ7--M,_:T=L(- M0'HZJX^-[?; "T6:61E-;G!P+9#BN7TX?)9:?G#>JE[O7M\0= MM0W:R:%:TPQO?#8):SRT $T+0K@[/<^L($;/Z#GP7QSXS-[Y".U9 MM[HU[MAMT7+OE,24YMMM A]VC #-7'M8-?.3$I;'5.U G& ,ZH7?E")O &\< M+=S:UGX&6_1!$FF*.7+[&4&-?KCC4%MSC16@29PCU!9]B'4@VR<,1U2^9C5( M.H2(9HK:&N+MO7 'N*;6K7/5*02WKN#]SU@M!_98BJ.8I.Y=4Y"RDPX7;?9Z MX8YC3:T;K]Q4N^"-8UW!^[Q\4\FUT=S &4IQ!"O&NU-XO0LYJ@ZX@[==UZ9% MIRD,O1HR][CT9#N/'EI9^;H.GD6H]L4!](%8HXUBO0EOJ-4)V<,*D^V%I9Y6 ME"R'"SQ?[(L:V5 3/PIA,DQ#5QT^S3UPAY.&MI47']3-\8:;CM#&^X$E;?'( M@TS=RM VIK:N3)V\NXU22CY\;^7IL(JO3:'4SE-GC# M42GI(0-)%(J;G#/Q]M&,7"?)FGJVWD :2,5$J/C?OWW_[;H&R5V/PJJB"_"PF\4&"JR &7Y0L0$+NI%8[YF8]WP/1K42^9#:*,LZVB M =:LD[W15K%.P%_ S-Z$](OKA78VT_97,+67.M%#A%JWYM5WO('>(.L(J^W6 MGI,80.TS)X#CEA9?DYB64JW'# 901YPV2)!LA+154U381:,;;A35U;M+Z5"\ M"*LM>;^E0FV?#!I&U[WC0EQC+ %=/$]^%<47V5O<^R^#MU1%ZT@#=Z@;6:0R MH^I" "\(F*EQ<,'#DO2,%"+PI^+/8^KY*;GA,P>K!=A&M8RHDA@7=,MIDY/+ M8>T$8K85S3+CNYCE>FRRQU>H[VG\""O'[9O8#3UQHT0'[16'*53=\")"%^'[ M.7+!V! 6^8*1V(PAC!7AO*R=6QS)!MGN3'$8PW*0<]V2T^)T1KN!:GI,)JA5 MVBJ">;?Y)()8*70_P2O(DY*^[8 =2M\L4/?.+Z$(6'%<3=N)!6I5R\8@ M%4TG%* [ O<9G$.>9NP>F?TJ6HU*OTY/.Q%Y5QY9U+5,M?OT2.ZNR-W]Y6G M^X?+O[%NU[]??Y]O3SQ37K;.6FZ /=T'!-KYA#P.U8L,W?_71Q MOF:QMZ1Q\;@YO%7)_N>I#[V94<(=&0=8IWKTM3,9O!%UB#+F9T,Y3P+?#LFY MDE?&EN1\9Z3@3'+6UH[!6;21M0/"XVLLMKSC6KU'FG,GZ=W\YRCR^*8^C3>^ M2Y/'*% OA#5TP V%[;I69]NJUGB!34-F\VEGPK=2.7'Q;&M&G@!]2_/LP=7- M0I.\HQ#^_$ N^ZM'5S%U?5YQD=O"6<+[ ;^+/R2+Z)7]EZZ0:VEU;\&-E9(,J?)]''EKEI)Y)6DK)^QI$$"2$7J?G/@W"N5XFL.UL0/N M6&W7M7+R7MD:;Y1JR&Q\$E^0YA%:$+<:GT,JZ_#C7,M"3UZM*LO,2;)>P?L] M-L+U9QK2V F8SJ?>T@]]6)N!*[W-,=O>"W?@:FHM1V]+%[PAK"NXJ6MG]+E' M5SE8#>8QU78J'.Q4,"\3>E!92N<5]FGN@3M\-;2M5BU7-L<;MCI"FQ?M+FG/ M6'J\"F@Q$Y09\;+(*Y%7LE\M%3 ?QPY[TV"KKP:5]W059JEOB3ML&[2K?0NH M;(8W3)N$-:[873QY4[E9;N72U!#Z95KQG81(T+?T\,=UR/"')BT+2ONM<,>9 M0JOJ)G*E"=[X4@EJ[GN"GM7<=#"E:*U2XSV^P=*%J H8S9'5V@EWH.GIO/<0 MA[('WC#4E-MXQ.-U0V3ZQ="7L>AW]-,OS3:*XJ(J"K_M9^^(%0SM^=ZQ'ZZ9 MJG?%V'Q&YU%,BS>$:'+YQB:[4>SYH1-OKU.ZY"^6P*YSQ-?0>8B2B^*Y>\4E4*17"HKVR4X4%LG'CC(9TKJQ/J6X]!613:KF/2GM-L2.*6N #_13>"\PHDW<9 M[6$F_.USDT$5A6<"ZV\?G!>Q*+E1DU#<]RH MT::G#""JMGBQI%5B4^0@@%1+OQ@G2KKP:A; M3PM5=K1LPI6LZ72095?@/K$EHXT"7?K2)#/6Q#1(N0C/[IQH+! =W2(7-(R6?@A(:64>J*MPT_RP M*XWC0%+E?+(3@>EC:#\SF8X :F]J.JY9;$Y9[3C WM" HD";PA;9.*Y;;;$[ ME4E"99M5-,!216)R<-FJR+@9)R;(',PT=N?AMARA $X/.,'U1QS06?/^7_[V M7\LD7:\G;HCLH/U.J=JV;GBAL(OP!U1QU7D!-AU"VWLRD1"BF&X MC.I6C/HNX"?2D(+>512SI"T4[W:YVZ?8"1/'S6Z8\]\"<=_<^Z]UDD(EI9;7 MQ@=C-EU(/-S&N@AISFF:@-F#O@/B9R8=R<4CDGR\QH(D(2E%M/YL.E*+Y^9T M=FOFV%:J7N:O&]S-]Q^6;IE Z_;%'=^=+% IBZG3$6_,=Q/?./IU MWKIX?+H[_Y]_N[NYN'QX_$]R^;\^7S_]P_;C%H5YG@"/VFR8-YJ(JU=TJO5I MWF("SEN5T[C*:4Z._,H)[JZ+C.MQ(@1A#(I"]FMR^N:K[D.V]9F(/S9I7.N> M=1TFX*V-8AN?DN9$24F5_ ITK?CPCH(7T=+Q584\56UQ^VRCAI53_'4-\?IH ML[A]^2;Y51"VXISGY>N0GRALKJNS_[UVN)U2J9GB%5/1"*\SJD4]8!9:O%>* MY*'.1A]L:H_;%ULU;7FH$[MOMHMLO#)0>:C3AI>>>IX/"XQ.<._XWG5X[JS\ MU D:/;6M#VYOU=)8]MC&#GB]5D]L4\\MJ1,@?^*')&-@Y^VEE*48U,LOMC6Z MK[(Q;K]MUK'ZS%)=2[R>VB*OJ8OF9$E.UPJ^1JY_'6;/&=8><:BO*M<,P(<2 MQ>WI_=BL N$'4<0;.3WI93P(N-EN)0NRNOWVK-A3M@.4[?S(12*M+KK=,'#@ M=1W;UG#DAK@C1ZU;[9I:T0JOAS?(VL/2+Q EG*J=]5]^ZOXZ2=;*XA<[39"[ M7XT^%<>3/D?LI_"L58M,8I(M5T@,';0*Q__^W'CQ]XO'N;Q3_Y#/^!KI@5%HR5=[&.87*<7E&QC(WL@%&\(NHKY NG)0P:<@SI2&)2^&(QZ7C?42 \I.2?D(63$K" MPB;-Y'P_!";4X;8-&W)^1&)(!$5>(?^JR&(F525ES#YRHVT%; MY7)]M3G>#$Y'Z'Z6[&:YL8KA??7YQE6GG 9R+VSY>!Q&L>,)!47:ZY#%Y",A;237^5A"8W-FFJ,V :7#+/,N)L6.(" M8 +A@4VEQ.$-8PEV8S X)B=J)31**-&VDG20?#QCIZC,$ M&N4;+).!HZ&-98Y'MC=CFO"[LH7U0/W&0W$&=":)2.V6T4V,:HE,#H M,T9H2#UHT:SST\>_D:N;N[\_VBZ5=4M3L,%]'&U\CWIGV\\)]:[#NQ6-'9B" MG+JIO_%3G[;YO1$AW-%@;ALY1KI3P1LY!^AB&D]PUQ!XDIPI;+6] [[$#[\F M!6M2\K9=(]V"E4HS. 5Q*Q70F=)S/[U1+T16&N"._WU=Y+@N/\4;KS4R'A*' M.P5@B_O*RC<+JG>627YIV4I4]FP+>V5?*P<9X11BZ/H!U+@MRV _1?T,Z@.Q MPAWV0]I7>Z ;%MA.,,BQ+YTD M:3@CG#D>\>AS:O-"PP5=,0POY>=[.[8U?U.TINZM\QD1@HV_%:]S,A*8(]N :ZV(U$_(.KKJG#(@M_-+QBLP)8& ME/R VV:[X[!>#YRAVT';O*I&2W/<531TA3?>C%I0<,RUV&_B Y*?,2 NW%1D M:2B\X52ID!'3%4C%?A.U,D:MB3&T163Z8!/@0'(6_/;FN,>R;.B\[P\(EMP&]' M9V-B4HLY%I!F$.T94;%VPLGF4YWQ(64HY6J^T)Z@XX+.*7B%6+%YU&8C(IXXQHTYR;5SBV7 M?LYD,TI<1P=*2S9)K142AA-F9[ME/Q0S:65CG."II^->;=>]EG@7=UKD[>/: M=VV)&]C5@5;7% M&ZZM$INZ;$ZXV+C-:(NGBBV561A>VRP@9[!G:B4JERO'C\5QVILH?+GQ-]0[ M31*:)E"0]"J*/R>JXGJZ?9'':Q<+5()7IR/B2.XDOK&C%UQ@'@)\3C@C(CCQ MRKPG\R@^60\S!K=NK=@P0P!F"+@9',[)4O8QMNX)*'\?PUPQW<[(BA%,^70) MKHVLEOMOSH\"@?S%E)I3,_GM@N+"@<**7?KCAL+.EI#A4+LS7DCLKH+QB6_^ M2D_=N;.96&P%=J3@9P491[:&G3F)J'-Z0<6_TNFYK*9HRQ';3@1P!W]W6U1G M,KJ]\8:_@0[F^7]68/==SNQKJ"E7 D+&<.!3J#HYPGA&.5_ \@POKB<=%A5Y M(F0)@>\\^X&U@Z/[ELC/UI7' K6-6-MU:@"AUK\9&O;[30D4&J3O&0YJSIU: M6P@9P0I/L>/!69V<()(HOX\IF\!X^49'M@IT&GH\;1'3)6VS:1*;&A)TL5$S M-NA0FA):=-*G9_S(>!=[E#"(BIG':?_+#H> R2A&RJU1G-H!('&0(<1 M:PD-@AU1Z@1-V#&R2=!>M%?8X3K,ZB,?6IRLF= D@4/#-AH TD!EH88372ML M)[KV[/"XB.+TB<9+ 69U%^ZZ]IT8/C19H!$:ZCI."!4:Q>\3$#BC$^!$)%98 M@& 8,T@8D'#U4U#?5ZJ/;-IQ<(Z%'@:ZV\)L>H$7$ QT&'$Z@6E]8BB3\/6) MM;!"A@UHUR:N_- )W1[6)IH)31(T-&RC 1X-5"8'(CJZ# 0F!6O\:Q-#6JDT M@^VUB3AR*?62*Q9)<),&4JT;/Z3)W5S4B50E:AK]<*.%MN8[-4:;.^'% GW1 MS<\I"0ZBQ@:_,L>G%9P+Y-J"CZT*HZ-J']--%&P@P%U1;G7NN+#WN;41Y ]T ME(-<7W=3-2P[%O=C!@UQ__6!X_>4E%%1! M+B,<+Z.1/6M_F;]JKX&,JGZX@UQ;<]5(7ML);Y#KB][/6"8>#\R8D(*+I7M= M8VOOJEY+IAE#OHK(/XV$)#:B7TPH*"\R>!_[;&ZQ.9J"%5U)R9C*,HS%%B3B=;I M')Z=%,@VEZU@YTF33,^K*&:96[8KPU(U#KD*+P;IV;03Z@ M/:_9M; !&9?S.773N_GEF\LK;SPPX+WC1=;A_W!6;.,$E-_Q3]+8=QDLPP>G MH5?]@]128?MA..$&H0&M*Z/5 &SPPMJ0RIH&NY )\H%<*@)BD>S9A*R>E\1Q M1DIAQ(=P8'+W;U('*Q,JW*:FN:EC,+6;%0YB)G=S>_(?:,F<_S$NC0R?VP#= M@RQXS]\4V;^'6"$#E9RZ8E]39"/O_.D>^B9E7TQ7LSV!HO948P60WQYQXWE MO4/SD2(M%N < OS$NVV78>,2) ;K:8$6.2&74#EBGKU'-YS%'E,G3H_%9F?T MQ0_YRU>#6F[8@?;P:DD@'OXIU>-ZM1*K\DX )H#BU-?A/(J7_-&;EA/\^KUQ M#WP=K5!Y,TJO*][!K*L"QMM"$A^I3KO$RO8A?"N6X, .^(LHRY863F'7[QY M1Y-[Q_>:GI>J:8@[P-6Z[=0TVVF%-VP;9#V@[ECV,B.%NH:^U__S41UJB/6M M'8<<7L04=J.MO;B8OU[5%F*[K;#'5ZU6=>^U32"RZ@4U#ZOLO3(14I=O^9)4 M]@: _SM_%54TFHU7BZL]!ONU0S4 _8RZE?,>XOW*\M9NZ!5;V=7.W0 M'W?<=K9$Y;"';F>\L=Y=!>-UU.S-5*DD%)L!EB<\.#?;&?"HYA"/Q_L5>]0= M[["2##_X+XOT;OXYH;R"^MTSO.8-9U[R)?:K2"I>"BOB>073K<*VAU'$#2,] M6*MR^\V<'%ZHZ4,IXQMSP/LDFI\P[N+] I+SAXV<8F\,!F:ID##?Z"FDL()( M**RVAOZP1!] K'XJU,4+*LE+\CX?GIFGVM;#:VAK:N3Y&\_25M;Z@&QI$O&SA>93L;:#W1Q4G:O1L-0"3GDC:Q1@O MR MBA,QY8I.DHE+O%)>XH+ [X= L3HPQV+@1\F$LA3D6K*=O!J62T(D40B79=0D M%(W]X%Y69C]7ME]WW[-3^V5GUUWOK)5&-YQC05>]JX5?FOO@S1BU)3&8NO,!ZIT<^2OUXWP\1X4!*YN]AH3]F2%IZ$%+0.,PB0+?@VNC MY,P)^&7LQP5EC;^V 15W\8L3^K]S="ME@\WWT+MG7UZ>2=S-LW5))RB>4F]; MM>^+-F[0Z=6",C+U0A@O?/6KGFF<7]#$C7U>PP7RT;-U I6CK(S:!QGDPD_< M($K81/F)OJ5G@;J,P@!LCCA &^S:6ZS6\#C2L&W2U#2"98%FI"(2'Y=EH2#$ M"[%(*1M%J@%!LCC_[0S%6NZ&&L >Z MH>&:0JU.EKYP./^[GR[.UTD:+6G<,F#K]\8-3!VM4%V2U.J*%VZZ*F"^2,?Y M('3RMC&Y0_=)NWGC6*O;=[*.WM]8D#$2-3QS5KR,'\F9V1\MQ[:&E?P\F_R> M1\MG-OOFM9];1K26+KCC6T??2O[[ M49AX=/0W7C2'!ZH1%)5E+#V[M:)QNKT/8 DX].#@&3_RV3*,ZO3##0_:FN\\ MN]7<"2\(Z(M^P,-3G,.,IWDJ*ZVP!NW"CE-7?#&].VPNIN/G%C[ MJ-+2%*B77SQ4M<-]F[!5:N-JG@M*&%\?KE254 _7^:7RA,WF-JB @2&P6UX->V\F>KX\2].L);4:ANV6KK@A)XN^E8>3&UHCW> TY+: MU%F!..'4R2?FMXPV("(6YVV;AK7UF9[[-DZT&CM,RX'[@UO)@R7Z]B=.HVEM M.6XOZ+,T%VP9;I2-<4=JLXYRB-:WQ!N;+?(:YT!1^'+"0F1)@,%N^FK!+]M& M$G7K*7EFX^BA:#H5W^SSRMB:^VC1HM72;GK8WC1U/[2?EK?P!;.BRJ\60DG:V\E.W$\!@4/%W( M:VFU16A3>]SAV:IIY>UI56.\@=DNLJF'YI3A+4_":=L/R3&UM3+;*I#F;BZ7 MMGN@ 52#XI7KN'"\[MR]J'S8MCA],%'<$=Z/S2I3O(,HXL6*GO0ZK&+BV5[% M2=2!=B:;HG7YXV"J1Q)JS58SBK5ZDD<0;"V*]5'?-:-.3J42N=;',48$)'?&-?EU^WK*EN)K_X::5FE^?YP-L) M"N$DB?17DDSHX(X+8\M4"G]U)8(W7LQ5,:Y$7W"4(D=^(1?3FM7XYL$.+6QH M7_JIF,F$'A2=8--\&D+E(^W=E*XT<$.*D44J+^ET(8 72LS4,'Y%IN0FJJ3+ M_*QL[6OIWS;B=B9R!+'1.-9VHS#QZ.AO&&D,#U1#+";#V("-1_H"TCS0513S M]TB;Q\Z&YKBAH$U/.>A5;?&&=ZO$QOF@(&P[[=O53W]$T^LY+=_5'+LTNDW' MHP>9[&3.73!!-3*-:8'#PKONEE]92'?EQ&4Q>Y\-=&R"F< BL53HGE>OW39= M!3R4'LX([\U2^:7"@XCAOGG8CVK&YV,K=Q*=LO#RBC/B[Q@^Y_6;5[OUFU>% MF/"Q*PLZZC5&NS84]:WO>'WKG#\YY2]V%.9AGU9?]!!"V+T6B<%L4=5L3M5L MT8[9;"1IGQ-Z-[],4I\-)%3UY.!>(YS W*R3G&556^!-J!1RFCHE/'//G*X@ M."L"-?O7=OHTL+X\ /_?M?/9/CE#6NN$EP+I'B>P<\-[0A"](-.=@ M.NUQAW*KIM5SW8K&> .\763ST\TY9711/IS2CPLV[1(7A4HF5D+TEKY*KX[$ M4 #.Z -K6+'.==:> -?V--3 .$,:P\0%-AB0XH1C?/ W49 M\6!+KI-DS09\I:DLG5!S7EYB^I*]*YB]K_#D/ ?MMX(U^^(&CTX6V#FAUMX1 M+TQT$_^ U1*)"Z3"^7LFOW).UN%@'#,\N@OJK0,^<_!*C@P-8GL/FN1"WRB-/7#'N8:VE3T3=7.\,:TC=!\N7-1E1A+$@^I=OKCG+N"8?4+2B$_H M7W(KN$X<;V$\WT#)&;NA?.6'?DIO_ W=J]"M-:B;49I*Z'>V3CTD:).9 E1T M5Z8/"!%<3SC;FJ+WZ(#%CI7\TC"., RL-L;B*@UL/JV7Z^SG)6P._V[O8$8F M==1DJ:MU"F/F@G;[N6D\K3 "9 M.L@^S#,*2%!D!#O(V+ J;+(J;$)SEG:>3V" 0T6Y;9JXL;\"<.+?C<)BS3UP MQ[F&MM57%I3-\4:VCM#FU=.!]HQPZC,BT<_B>3>(+?KPC1_2ZY0N50> VGM- MT9?WM&[WYZ++U'QZ7_ A_!JX$,[&DG,SD:!JA=8<5=T:NS,W:KGW],U^4\S. MVRSP04]9S A0QI)-#:6JG$+Q1U>("UI#]A2E"QHKWV;IZ1)!N0[W=^J_+-A< M[G1#8^>%/M"EXT.%-Z[Y$XV7<'L/SFC#'OL#'-"[BF)QQHZR3^Y8]N>D>?OF M)?%1&>.$A_%MG]]?&(47,')Q"9>7,(&S \J4?US(+#I:WZ>9XA?2+3:JH6!O=EDZ9O]J)LYLF?GQ.[U"SYNRE%RYZ,\^["!^JNXYBA(K]YV_7\7"\\<$/1(!95G+D[ MG %>.!M&S5X.JA1/*<[RLWDP+9&$RI]89//RD!1R$7%9'0D8XK7OO+C^ZX=) M&J_%+>)E;E(G)7/X!OC)8C!P7!B8%YFP"Z.[[W: L5P^QP[6;'K;$3"[4IL* M-!I9J1X$.Y&: MR9*=1'X.V_##/CF.5R?,OXX\,O>P9C4\+56JQ5)_GL\;DP MF)<9[/+^T2XFE6\+R-7_I2<2DK/MWOL#IZ].[#4=NNF3_E1PJR=+UB/9@<2G M@&U]J=A'\,K/ALC2R&^').1Y2VK?%P&9;!XP$D9A#$[??-5QHMTVN*.L5J-* M;7^Y 5YOKQ?3N"8_=S0@1WX%@E:W3]^3KY&.K6Q\.-JAE8RP3L1GD2?J15* 161/2Z M8]M,G\MZQV\Q)*=NZF]T#ROT0A@YA/5FNR[+2^U4$4-8?[KU 6$U;\_"X2M@ M/R,Y?WS+Y_9L)RW&)<".1.)^DY/QPX)@,F[+=H%-4X'W2;)>BK\9H]E!3*:' M;(?;M WES#E,"_%ZT+/OY?1*DC8C7*H,"9,9*00CDF28<1&)A3>%W9R2'Q:, MK+YKGJ2Q#^5%N+4^P[Q:K*OUF?)UYS(]E.S!JEV2P8XLIH63?2@Z6)I8"I2A M)8@TO:QQ=+M*\!B7)A39I-4TLM8\>VN9W#9WZS1)G="#MPD[ 63//)##XQ 6 M;5_L,V2 &!H'4?,P8#Q3 ^/^=@2;4Y=BX4-(7.:5\!'V-9!,K2^7JR#:4OI( MXXV?F61_$37@8F0ER-WH)?1_9[DXC?W(@WH.28=CM+WS0XZ50UM:<12W7V:( M,71PE0=+-+-:DYYX8=M9^:D3@#0S**RYQE,$#[&)=Y MNFZ\IO)MCHX3;PT"4P%"75O4(UM;[RE E;8.?01&QJQR*0H=LHQJ$2>S2(8, MEA?N[J!$U6T4%I?L0F%^(=;-02_!J4)@4+7?3I-Z$L.<-2@.!-"N9YONEA M 9,Q#'7W&C+)%OZ*K$KC./6&& 5N;M>0Z<"^[BJ*4UB&>:0O_/Z^PG"-'7## M1KNN,C2H6^,-?PV933U7D(9 +HF3G+J5$!Y%V;A4-JE7=I0PO? 3Y^4EIB_% M,8P-#=>T:5F_I0ON4-715P[6IO9XPU5+:N/)9X6X"%Q.OO?E]B1.)1]FOY7^ MRW[YYR?GOZ+X?)VDT9*%=,WJNK(13A]MU@F\LKX%/C]LD=/4\W)J?:^6M_@9 M%!*ZFU?TJ5T9;VN+U^M:-:)#W!A2[$,(7^&,_1J-*OUJ]W.\GE6K2;% *G^(T[OJ131.,06U\9;=WYK=:.=SQ&Y4ITFY MSOZ&WHUJ131V(T'-QBYDMH%4/'0N5=ZX>PY\L=,$E^"A4-"3OV1-[N:/@*IS M6!6#PI=.G%XX:=/#*KTSP>G8P]I4WAOMEP.^$!M83],XS<2!\F.90)5Z.Z5( MHFX$KZTEI.(5'R6YH,@CDXR :!9OH"AVJV]:#A-K=,,=H;IZ:YQ'N,%_L%A; M\@'.)=Q8/F%L0?=8L+ 1SY_#9S\(J/= 7>IOX$A(=6N\<:LALZG7YJ2)1'M&,NI6 G4,9>."-MI4^Y!$"'W(=K) YWP7;R!W M$W^$[%34+K,2YV/9(C?!2C)!5#! &_]-DQE1GNW#4'.EDOP1H$@'._8ZL:IK@ M/O#0)+"IEU4O &937<(FOD]1Z@3YO#\9]4C#\'H^U$[IAS\4-81F\CD-BTL5 M90VKGZ/(>V43-+V"9KNM<4**II;UYJ=1,]LN]1G@]4BVJJ2^6_J=>R![5"1^B(+B*8G@.H<4(U9;3<,0:[>I< M46J&WQGKA#W<'8$JR&W]L=]#A MT)"?D8P9R;D1B1T!?N0=ST2" &Q>ZVZ)^_M/6&R\N&.C0 MQRQ),#OAW$C)C@A^-N=.#68XVXK;X8&3U%60,*. .T ,K"%'2(?N>$/$1 GC M<:(Y+IZWA#,DG*/%8W@--BDM A45&LM"=Z_P5$2FJO2>CVP1T:6AK+@=#8 :_;ZXEM MZN0E=?ZZWS.;J7A62L'E-W$?J)@H037)9O=M[H';>36TE5VWH3E>Q]41^N " M2+%,W,KU ;JA0;2BWA-U%V$41"_;!_]ED3;[;GLOW/ZKJ77E[D!S%[Q^K"NX M\>GYG#Y)"P96:N9&(7^/-*6G+S'EEX2;G;BQ V[_;=>U4C-7V1JOUVK(;%Q& M-@I/,MK$*8@CFS3>M.Q4:W;%[<9=]-><$][@W^+N)/U ZR:V]\(;;/!SK-Z! MT^@V68^OZ*WI[;S/)#V]*OE0:QR;ZK7GL=Q'8HG[KN>KD. M8-N1R1>G_N]-%Z2,"$TVW%MLHPD "BJ3A(0V788""8DOD1E;VH2W8"%-"]B& MDUNJN@/=VFFR,"'IK D)K,ZA0WW\2O)]L "Y.&,9T'VKSBQLV@E4& MB[OYKFH*8[1VPAVL>CK+P=K< V^P:LIM/.I(Y.$(S%Z\6DG?I#LK-T@,2U4$9('R\@.>>!M0BF5L*W^CF1%N_)-W\P@. M&.0E!4)8\5]&8;K8NU^ $-!NZ5OZ]$J##?W$1>[%V#5$CPG&5#8S1[!=BL<" M7DJ]QL4MGF_F_$R8L<&+K*-#L,6H'1,T%+1QP*R /^) M $LOIF(!_Z>)X IKVY_M!+&CPQ7)1@?B"FM[5+@BZV,#5UB?J>!*'Z9B ?\C M?EPYG3/[]0HNNQ2/"6%JK64.,Q5RQX(U]4J-"S@.R# IV.G7:D\+&E-N!&0( M5)38EDW07)7?G-IDD4?'2IJHTT1JDHBCI=!09UC*"O&5@RP6B^?;LE1IB75" MY^N !/[FEWQ@D57!4Q= MON13>UQVEA>1X]RL@($=2_BE)9RZ@\.C5I0-^M85R&VVA)O M"+?(>WCE5\EC;VS=21U(R6HPY@6?[59RO8^C%8W3[3W3*3T-O1\O5FB5YA<;-Y265K7'[=(N6E;*2]4WQ^FZ; MP,;E)#.ZH@@J"P]_M:"Q$Q":,[*R"K^.V8P?+OV%WI7_!C\U%^1K[(#;:]MU MK2R7*UOC]5T-F4W=]VX^]UU*YCD'[L567?>&,L$64>"QN6T<;32*23;WP.V\ M&MK*WMO0'*_[Z@AMG"[DM.$1FX*XE060:)Z^.CQ&\Q^S\JP@TGF4M'AQE_ZX M?;JS)2IK(+J=\?I[=Q6,DP]GY:=.X/_.LN4D8T6\DA=Q@9F5!,3QXU_@M;FS M+<_>6]^I:6B/V]M;-:UD'ZK&>+VY763C>BQ\6F?]]9APL'@=LI2??"W?0:6JMM4*)/>W2%7R@+2?!Q\N"WQ=T%5-7I-[L MYX#"#\P0E3/;*B,IC-HC>=SXT+<=*U6#>Z*-%W-ZU["/^O>R)#-2R,(CMWK' M:P?39E50L_1Z !J;WE VV78DPWJ2.-Q4CN67!F3[**RYTP0W&-7I4WW!L/P< M+RC42FG^-F%)S$IZ,9@VEFN'.\P;^;8G?TKR;OXY$8M^9W0>Q;3SNS^FY' ' MY*%VVKEA:40+;Z ?K-$!=RR!,>&<9X3S/HGF)XQ[?JO[F0LPSLM G>IUVK58 M )RS.U8S>[.7!COTACQ'B#G]H,TQX8Q%A)D.M(P+*JH9@[53@'!4IN7AD[IV MN%%"J=G>.3^Y$=X85XMZT)F^&0&:ZH= QIE##*01M%I61FA_C5 Q.;6UQAI&6AA!)C0WM!I,7L12&AFG=S$-/;%/7 MNXU8SC2'.AM\C77C^ $1Q%2_S -LL^;&I] M+//I R;1DY\YCSU='GB*K%/F;!1;5-;XHSF9U\R2R;OO;+W@5=C@.F0FHTF: M58_4L-I^C^E$OD);5;3O-)]&A*N$[BFJ<_+YHYO6H[AO?0L%6>!6HS;PG6<_ M8$D99:'[T4KH/BX81CW1>-DVY:YMB#M0U;I5[O3MM<(;E@VRFGHG)WG"/'1I M?,EG@@UKO&WM<0:&MJ;Y6F]C8]SKO7JB3WG-=U@-Q7HO)T\D M^C;7?H=56*CJEY1-=FF5V'+N)(NK('KM "_-79 CC(:^%9!I:#\!G-&1?O)0 M,Z22V>X2XT" !2K$&5)OKO'*\3W":,/=C'68)C !"-8>]=@/A*$268J:#GFQ M[[WU+?O'2>Z=+2^_ICNJC)7E+O%.+%GE[.V*24T9PS&0 )5V( MWFB=SADZ) 1\AT35SM&2 MNK=!',,K.B-I+%+K.#\+L\Y/?T"-V8RC_2C^.P7YJ'>Z87]]H<6;?/Q#V.)3 MO:EI0&9*T:YO%S4"M-.8"BITT*0WI,AYDHRI]'*FF.$#7P3X,8)MO0TQ\"+ M+B/;11=;JM,/R\C2B, 7?N+"VN>#D])[RKX>994K S*XT<74+MHY3 T-O AC MK,EP.4S.E0#;&7:QI2UF*CB1PHXB)/=1Y27-_O AB MI,4A%1PI X:]O*38LBAV56>$,;9=)V-4XWQRTG4LKO1$\]W. DAVKF"!(1F+ZP+&KR*AXP1BCQHN^C,/B]P_H88+Q M5-W>-J%S1% A6\88+(#(D,7@S$HOF/V$'CBAFZ!X-E9(X' M,F2[F"(&T#@.P*AH,BI> &?T<-&+>5@8_PD]6OB;/C*,C,P1H85D%V.T8#2. M!"UD3<9%"\89/UKT81X6QC]B1HO3.;-93Y"Q2^LX<*/60B;@42$T?02I5V".Q'L M+17>M&>JK$0/B:%@?,) !BSF9]4%\)Q8517W4+?&C1DM6K8?.45'/:[T0SZ9[X-R$P85C3/>'>E,5%(&>*TLAZ@6#W)/;I-;)W@;E.T^>2V M?N]I T+#26W-KM,-_[X.'W>(>EOGL<B15A>L M;#<.KCN6;<9:13MN+W:E,<$@[[*=V(G Q,)_L#TQ-1:@VS0UHGUA4#Q:]EC8(AU$2[_:@X\>_@%#\/?OD-/2D79!/E#_YX]V%#]1= MQS&##M;@-@KC_-&B MP)9"1I\XH4=DAN17SFUWVW+;0'1H"&^\05T2)@5E\BO0MNOE=1I?1+##U6:MQIX3\?)V[6N]7-UM M EZN(7S/7BZHH_'SI!AX/M'E,U6>M]#K.CU/5^G?YNJ[_:;EZTKI39V]H&U;*!(5QIZ3L"_]>0_/%DG!761JY_^ M@BQW2?;MT#F+::(QD4CH8I%6N%<1F$!<=%)CF/# D/196Y86.6"D5]!-,)ELS) "1T*&\-C)$$$ MXK?8>>+%,4VY3!Y;( M8X*L@;5^7$1Q>L)?+?9+3GB2EH;-DL8.N(.V7=?V/ 3W1HB&S+UG&A9W/AY8 MY,2^FU*O7O'ZOS:N_!Y($G< ]&$O.40.H8?G/@WFEZM0P^6])[\);V@JRCQ%4'2I1_.2.BL.;B[=B>[ M/NU%[AKR""?UH]U]WNXJF!\#R2Y_)"RUF4?QDHM#5C1.LS(1:01%(NB6++DL M9 ["<)]/F3C$R^1Y/T3B5Q?WX]GFDX;:]N[)^$YP'3+HXT[4=%Q&V1IGS&MJ MN7];9J\IWC&K3>##;LPPNJ0D;#'A>XJ=,)FSR1N+ST<:;WR7 0K4M=G3/GEB M8B3U'S6>A.F9!>Z0&,*>U#R>'#0?GY\BOEN[/81]EVS M+>.&.5AC!]P!U:ZK'![JUGB=74-FXV(#&6%RY@>!E43H@CZG9=@T73:L;XG; M.1NTD[VRIAE>=VP2UGAUUEU0;QWPR[,W4?@B%FJ!4Q53[5W*JVK=D*O7-IR2 MEZHR]/U64_'17O+R'6>TF))7E;MUV*2Y*;UN:#XEM]S74^V<9=NIN&B-Q#TY MZHP ;:OIZ /=1,&&9>CG,?7\],IQ>=V%EEV!YCZX75=+X^JZ?D,'O$ZL)[:I M)]_25U)P(((%R7E8V;JM:-FT95O7$+?+JG6K;-'NM<+KG VR&N\557W08A)0 M5:XQ 5 TG9([J@?^NG93<!OP]I[0XU-_0-(6ZYT*FQA%>T12W6S;I5WTY M;+\=7K=LE-;\5A<0A1F](&O#'7]Q8A^6#!ZAN8=1[0X,/.M ^K=;6@< M^B^+--NT"E] LL=H'A>?7(<>?7M\=5;P2>,(?BA-W [>B\7D6#B((-ZPZ4(]P>7Z^3[,+5%GA]4B&G\17'@&6R(4 X$.9@;G_A M_Z:E[("Z-6XO;-%2O>I_@_]2?YO O6U.W=B]7E_5\\IQ:>,[ 0W-I^2K^WJJ MG;5L.Q5OK9&XMRTJH#U$[7[=RV>#:7KZ\A+SAP/(*O995K1R@JQFOY75.88* M^2I/L5?CO/G+]?(LBN/H%79RG!7[1%FTOR,)W.%K8H_**E^'_GC#W$@+XU5! M&)B*-<%BT7I&,HZD8$ERGE80852CY+H_%[J[];I;0XGS:+GT^9W9*TKO*;-V MF#HOJJ-ZW2A,#R-:K-$&$8KNTT*(-B5Z!XB2(6$<2TP MI_Q]$;["N**Q'WF^ZP2!%=2HIE"\RM?C*J:.=Q?*"ZL?M#*PQNZX\:*K'=13 M!'5?O$C168/>IA"BKIQ@!B7H*DOO""85 ]HB4SJVM"P%![:?:+P$?55H66V" M.X+K]*D,Z=+G>".Q5DKC0;ER)M]2C:=>-;I;ITGJA!ZO46DZ(:^[Y=\P<>!/ M>T*QVY@-Y0]P2WM'4Y/^.&/)V!+Y[?].G7%7 3!3I8=J .F"PJ#@1Y V+K,Y M9OXVG>!)UJ%'8]XRR!)O5R3>\TS248L"C&LJ/M6X:UB+$&_QYDP)YSIJ*C&^ M33Y5W"2D:>DJ<8WZO:*D'P+K*_^->N<+)WZAYY$!5K92F1ABZEFE$3>;24P0 M/345ZAU#!5\R!\;$Y9S9?'PZ4#JPW12 2C*^A#,F@C/)66."U8'M\ZG1?TSQ M]> )W.5\3MW4W]#KT(V6],EY@WGI>03/2:^AL,**2I MH7YOO!-' QU,XZ%@100OPIB)HY(/%+XK%I2VA(E,:.(/]((ODF59G KCS+'-U^MG6@+S)\YD0,84'XY]I M^DII2&*ZBN*4C9:^0 B("_JVHF%"R;MG&M*YGW[-:[K!7]W6ENRCU1I:/6^) MLUH%6UX?#WBS/DGJNV1.61K'YCX),]6:!==6)@@AF4 ]/98@PN_91^^"*$F^ M)N!=C$,.#"0JD('S\EV^(,UZ>YDA&6%[Z[ (K!VJ/L]^=U2L*( M3<#\I0\2 U<:+YT0MGZ>H^BWDS0Z 2$<[[_6147G>113_R4LI)6,RC[]_/[Q M/?\H"HN6I90S;DC>!K2G_%? F #ZT$&*NZORU_']47\TROF*$W:CIZXV32/' MPHY5"J?F_DS>.TE18Z(9%Y^G&\0.(OZ<(]FFC\#&-W-\6 M4<"B/;GP P"%EL=_#J&'G""/QO M<)O NW>VO$A1'#-EQ8.A"H/V0A@W$/5GN^I+((=2Q0M-/>IF_J)((4(!2%P( M(DL!<,4#'=((D5! WL];G@ ACV3"$5DZ2YO-",Q:&(L6QDHD8SFO3NQ9J=EX MRB8X7B9<69+R\HU/7+PK%M#G?);%\\*[^:430Q7RA,WWN,$:KX+T11LWS/5J MPLP-Z,T(JQO2SEO;Q_)*X3N.N "][7ZNF_ MUGZZ94,"PW5FK_LX>HF=I?+!CI;F.*%)5\]B^;.A+?*53AW)!WV,0TA "A%( M)L.H&\2#FD&EH97MS>4JB+:4\AGGW0J^C\9;^TWM<<:NMJ:5O4I58[S#?[O( MQD>H@2*).$DK.77Y!!87Y7/HI\G#XV?-E]/J^^!V5BV-Z]\^J^F UVGUQ#8? M;W+J8A&0.06%ET+^?$D$#2,.$#H#0Q/MON3YLAI^/_^07VX,*7>WZ9 M2757J&<6N,-D"'M6JA+U2!]O$ ZBI?%@(ZWBR.+(ZUZP/UV[- ;RS,0_)).+ M",&LS"-1&3:WQZK.'N.AWW.[.9YWS7'YMO+%+KPP1I.Y>Z(_ =SKTY)[H-<' M<>2(UZN*%N&NE,DZUJ$P*5R#@T5%OA@VJ2Q/S-H2Z?K=0Q0$5U$,'_8]QK0Q MFP "#F;C7G+ 1D[(L7$X?2T"928@^T&ZW_HK"$DR*>V_L M+?WT:!NAS_#?0<'GBT'0JF4' D_!Y(O S1U5D4'FC CYAL!*,3F]#+V1\+(G M2\L#RJ7XY]EAM-Q!BJL((SVF3IQ.UTS/],4/0[6E)C&ZL*%V3OUTS;[%:XVU MB=XY'?<(TV#=/L>8&C;'.\HT*8MAG)'D(_X@"QH_"B.'O/+LH./,$+;.2,/] M)*!-)[G 4O1U#L-8>V'7TM[BN!/8^7J'=@?-\!V_1[Z1%U=WL<+Q9TM@ &? MA=#\[F,N-AS:@C^/-DD8?$%EM&\F1W,JF7+#.$T1U"_?:.SZ"9Q,'12]Z_@< M-TPK+=LG'N\Q.5[@5:N* 6$EZ2:_TM*_I4O$+"A/$2REH20_YG\J3OEG)J/W ML>]26,Z?C[7]IR_(<<.M^7^@2_JA:+'O'P8/<[_/= 4/T6+*#_%P_YD\7YR:;T8WTQ\EXAK6RIDG=^ M2#PV@#AQ J>9Q;W8W?L<$]UI'_NO>F;%,7PF>O/.-4;ZS<<\R'>F8,HY=,*SMZ9][.M:%/\M?INJHU!$-1M)I"0NCCC[W MXQY>.GX+ YW!^C('C*X&P# R5,YK37+"@>1+J3G:=43@?NIY/OS@!/#Z2! E M,']K>5-C:)['#>1:%N\3OAL9'B]HZZF- :I+28DDZM2/7 UK?\EF7DE^4N7# M6G?9'^A2U!^&=PO!:FLG@"I"WS5]8Z-+,@&TMO/M]%*\S%P,Y,ANR1@8\+YY M7:;0@4A*$-!B6@74+'Y9FC:]\>J![A55FR)%[4)4QX',EP2_D)%S0R1X9&L[TIR\O M,2_@MVNK&8FD2V[OJC<'C^2.H"5;GNW>&)SDP*:87$HI0V&/40:^0^0Y[H'Q MX&]JA".^[<(<[\!ZN$DP#+R-RVZ569,2)R=Y:L#>M]<=J]$7\/J:KH;0!-O__VX\ M#X$6=0 ]GJDD+EQWP8=P1C:?]KIG^MPZ2WKZYB<*%-UI@C/8F_21TP_Y<[P) M0ZV4QJ['^A&@1GX%>KOGJT=ULXL(MGY:M"X:3$$ M11.7J\MC+I>K(-I2^IA&[F_WS (+Q@^XL98?E%F,7B^B".W_I MHH"IFS[0%1.=0H$3/^2#,Y_XL*PDS?;ATX@ /Y)+0[@X))>'@$"CYBICF*55 MXTEM.%S^:^VGV^LP26/N<,E=NJ#QT\()LZ3K9T8B'>SAN.[L<>*0K>^AE]V# MCKSQCM.C6\#BJI(0F4@R$RXT29G4Y9J3$'R@5^H&WP88^WOAY*;Y7-U>*<:G M*'6"47:'-5D?*7(;V'^ ^R/%:\/O89Q,N\K["'';U +X,^WLC,YDWX,>^YL1Y*8UUJ&P MT5$-) )RJ'"_'L(5']'-@;$JB3_'AX5]IC>8#DCH,44IS]VOS%! M/+/>$[S@U]A><[;6,^% B4^4Y^L+,*SFSDSGS"W=F#YQY;C5M. TX MW>PDZ9[5XY6\%6SMS5R?!ESI**K^-<<;)/?9?XDBI-@+^ ML;*0_8B/X/7__104CPO:BU&Q=:,%Q4)91RF_U"'BH&]UY.E6%Q&_Q*'F,$/A M'XZDJ9O><8*!7WC$L7PWZI=M=(SCBQGX$#O!OX>X#M\?MG'MWX/9D9R+ZSR" M'?/BY/!?K'K=C01_BQB_Z;7%WFZ?NPO.#/[ES"*94O8:^81^(:PCL)]J>.7R7S3RCO'_F*X]4[('.SGY_:+(7-_Q])+EXG%,MJO9V19:\PC M@7KGS2K4%^R_=*BO?@_C0KW@_25#_8X%)@7U0O8CA?J>OAAMJ*\UYO2@/G\4 M^9S_8+@?46Y1$B>O%<>RDRA_3I(_E MWT5AL$UI,!F^K:"VNZ#>.J!W\^*!,1IO?)0O]W9D^^ M\WL>)6GR!&\7J[ZC@7@A1^8A+5S!XB$8(4;?0=4=NB:7Q]=DSYV5GSH!2#(C MI\MHS5K_R@6QLC![';K1DCZF#.Q V)O,8 T/!#?WP!V8&MK*X=70'&^0Z AM M_F(-T"8%<9)3M_C8L$+?QK>'V_I,THO5+Q,W=IB<)_?T;G&#+YN_8WRP-S_0 MA#)76)R&W@7=T"!:@6S9"%+[Z'&WGK@]NX/VLG]K=,/KY5V$-WZC.XZ\M9L2 MKV1@9>9! T;N!?;2G?@WFK*?=3Q;HQMNM];5NY+:M_3!Z]#:DALGW$X Y]B6 M.76>5[OK)&5X'I-DO5I%L17__IF&-'8"IOFI!SMP<. B]3=4Q\EU^^+V]$X6 MD-U=JR->G^\FOG$5=,&%^[M3X6/#V_N9@]_X(;UF&9AJNMD_%]P1-)!5Y5CK MF07>J!Q*48LK12 ,X=(,4E>C==$=LTE7F4F=TJ3P$,H\BI=<&+0@65P3YML3 M"2]P+W\.-KN-TG_0M+3F(=^/(;\C ,Y#+-T90DV831Q,#U)Y,%@MI,KW-T$, M]M>4;&E*2DERF,6+K%;L^SF,"V+*=S=LOD QF.G$D'45Q=F?H-V'L;\_E1!? M*!PW?B>C8'2M!%\@<#?; 0&:"P$)2P")).)QH?LP7T)^1_(D?V9-E-(A$?N5 MO"Y\=T'6748%EI-3_C,_#)-&Y)F2LKN5Y]I<-UY3[\9WGN%8CD^3\W4R24?1(]!_Z+(Z[) M^J$+0K Q:1%'ZY<%%$[(6L(:W,K9PM$LGD)LN.RLQR9B(W@"XQ?U-ZSK\SHE M(4L_5H[OO2>?$S'",<<.V'#'Y7 S+("-*1@5,_&",BC).X])_NJG"Y]]'%*6 MRS@Q8>RR/T'S$!:R A*QL=CA^U[NUF6R^7,21"P[BK]^/P3"U$'KX-]HCBF" M>IX'EJ@Z*I0.KFVF9;9^:>7EKDR_LRA<)U0!LVUM<6*LEH8UJ4ZU(?KT1B'N MH0&8D;43>,.JF$_)8,*R]).D*)OP+/A8#,-'-F[%OF8<[C>>1" J=*R)Q)V6 MZ$-1)>^AL9C311&,?2O)QM08'OV$ (QX"2N:QV=, WBDQN8*\SUC#!N;H<<+ M2]U';.Y$4S_F2U(7=.Z'#)YHR'Y([YD!^[.=C V'4\6+ M(SWJ9AJ..:WMC&0,2<:1 $N[$(3 /M]_^^$W,4,4LM@$)X[(#CPT\N2\T;+T MG3CASO^FD4CH$L --MUML9=P:/7&"QX&.AR4F#@!7QWAA.7BD]G]"OYW!!G+ M.!;)] >2-I" LQ=J,7#,%V1;=C1:.^&.>#V=Y2AO[H$WLC7E/LQWL["%H2WG M8'L+8T2]9^266KDZ<,UW?B%_$8+D%644)FEHCCM:V_2L7ENL;XLW0ELE-K^L MF!,N'#6G;>E9V %5S6H=^9RNC6!DF0+U7T*1%+C;IYC-(1C2L#3_9\0H[M =;V";*'% ]7#@17)F1.)&@!UY!PR_GI%G MSA-2;$L@8,,L;FX6^N8NX%08"1@?:]GV;106&[)9:M*4QM0WQPT ;7KNY=8U M;?&&=JO$A^65,N4\H[:710^GY])/7!HP$C1:)_EJV(R$1NETW7D@:1; > ME6R;O,SQ*I#+8/H)7U)-@;EVS5\TA?^*D:!2PVM<<)(-J: MRN.RLC'>@;E=9%-'%90!90K:)"=N96P>0]421I-]5?_\32G6#?OIK_^1_R6C M]-?_ U!+ P04 " #T@:=8;0#SM.Q! IV00 $P &1V+3(P,C0P,S,Q M7W!R92YX;6SM?5MSXSB6YOM$['_0YCY,;41G)65)OE1T]81\JW*,T_+(SJKI M?:F@)4CF%$6J2S)\[WO+G3YMH\?G\TW_\XW_]V]__]^?/_WTYO>_- M_=EF!;RH-PN '8%Y[[L3O?:>_?7:]GI?01 XKMN[#)SY$O1Z?>O'TQ]/?ASU M/G_^!V[BT@YA%=_KX;9.?NRG#ZZ2UGSOI][HR]F7$^MDV.N?_#0<_308]<9? MTW)?8<\6#JN@ZWA__H3^YP6^KP/\U>P:#_I5O_BXN(+?@J+ALY/(>[>O3^S(ZPH9H]ZQ!+HM\]IL<_H3Y_[)Y\' M_1_?P_FG?_Q;K_?WP'?!%"QZ^/T_11]K\/.GT%FM7=1O_+?7 "Q^_C1_^XS@ MMP9QY?]SG7 C_7?LS6^\R(D^[KR%'ZQPUS_U4.O?IG;^YL4%D(;.XN/' MF;_Z@@I]X6L/(\FEHR^UI'N*($-1-ZY\;PX\2&3X0^B[SAPQ]])VD6*?7@&( MPF^>O9D[\*\BTE9K7V?I'^T 5G@%D3.SW::AV'N9'KALGX:3Q60- DS9$/+X MRE^M _ **SAOX Y.N"O0 &DJOEX_[)XB?_;GJ^_.X8?JYE\;. 4TC!;UA?KA MN_[V)F8?UGBZ@$:J"(U2'Q[43SEP_W 3@&H2SP%FCP3U97&Y"QP.A MD,3,IM3+!"U%!R+\&( 08HTG+CAO/6U6*SOX@./367K0$)S9T"J8S?P-- N\ MY2/4T+/TD5-5;:DGJ)?O'] M^7>X[H%TN8/,\98.[/8X#*%Y4DTP:H/JY7L,?&@\1!^/KAT;X?"#N$938#7I M*,VIE^T>P.8JJBFMJ[[7M[83_&:[&_ 5=@'^7ET9Y2VUH ??6SZ#8'4-7BI* MDF]!O02Q&?ULOU?K?J:Z^K[?V($'/V?A(PB>7N%"JIH(Q5;42X(-=^QF0FL< M:+V)>QV8;;4@U68-2Z.Q:;NW\%/GS1S;W5JB5=TK59I7+SO$?N5$V.+&*U=L M> &ONJ%';; %W8*E'"66M-,MN[T]^UT#._[9AM)5%'VO":TLX#IR<32KD37\ M *(ZPO*TVY9]7$>N? MZV,IUY*&UU[[E5D2LT$;*[29"WYSW-9C!W\8K/XB:(7@[\!9 MOJ(.0^GM)7S/RG;0=_M;"!8;]]Y9-(:?R_5WY83T9B M8VW)1:(:?HKHL>Z]WMWR;>%,PV00"5A_UEM="H]B8]$'FP \3A MMWK?2KZ6V]U-JT?XLH9:W%NK)4RQE?;]-;4$(C:FB\>FEG2,)G61$?]U@OT- MXQD<]T[TT8#8M+?H@L1X/G?0O[:;<2TU@ 7]/;J@,0TWR%Q\A/\T@$%9Z[I( MCKZ(L:+"<+/"G&T" NIK=,&B_*\R/!QUWJ>QO[L>)L)OT6&_OY[(Y.9$95MG MML[OX;-$(/1">:=U,KB!]PAXVE#V1]M;]Z+6^U5 M"W1 @D)177^6ZXJ+3E;Y05Z'J+40-H>;"L'LQZ7_]F4.''3H;(!^0"H>8/7" M7_ZX\B$DXYH9MKC7B_W'?YP.SD?6Z>!B M-#@Y/3FS^H/37=^R;!@'^7[:P2QM&OY8($@>^Z3$ES4^H?-Y]NJX6Y4O G]5 M0"=YD\_983^8@^#G3_U/O4T(^^&O8]M # MI^^)&DX*:E@'CA_ $8N?J= )7 XY/IQ\YM=PXJ=H)%>N4_I@]SS1QJ"50?$< MV%Z(373FJ-@OVBDU<'4^T<20,B[ZS:HE_F#>.BYXV*Q>0%"BCOTBG5 #5Z<3 M^$=*!T+X*IN(RHIU"'F.CB?HG[: /O+V!7!4)LLB.%%>H6V; MX./*GY.50:V5%_$< GFFJV[$Y4A4==:"JI[M][LYE!7'YZ+7,N8I0OD.J4=$ M@D0QYRTH9CR?0]C"Y!^X)@1]HE)*RG9((;R]3Y1QT9XRKN"/D^#9_^ZQ5+$K MV3U%,/J>KOFL]O2 )]5)\!CX;TZ3[1?*]O[#ZIR/] M(.?J= JYVH7U\$V"S>YPBK781G9+@YGWV:GM+0'!A ME!7K!.[<'4_A;V-A?+4)D'"Q=Q&Q!.*V"8F&3'GQ3JA#6(!4+6TLB^^\"" A M4)"?'=E)KRD^I;+B'5*+@ "I6MI8("-/<' %5RE+/_B@.KFWI3JD!':_TQVX M-A;%3RO;=3,)P\JQSY7J$/;L?J?8J]V%CGMWLP+!$LZ6OP3^]^@U.0Y&U$%I MZ0[I@K__J4[4KG<3QKP"UV6I(ELH)\' LH:GY[IJ@-GM%'BU*^#$A/!7JR0, M#L=$AY--A)(N(R.;;#A1*G5(,<)BI(I2NVY..@OE#% ([QR\_R<@#Y*]IT@3ELY__[(?GRTA:+OBI0,9#(E!W%"JWN?>]@7PYZO)P_7- MP]/--?KI:7)_=SU^AK]GWH_?'L8?[N^@T_^[R<%<=T+ M.WS![6W"STO;7L>$!&X4IG_9,3/YPQ];H=+SOPX<1WX<"4@( !>K6GUH51$G M3N[ Z'B^D"Y#KHI&T(@4D(H87@[%7 !H7\SO8Z2(8F 9(A"$ )?,;H8/VM%U M8A=QJ7ROK&Z:Y] @2>T\DIFE?71A ;!>@+*C1E1T$'W"1B,^R M$]C 55=/=O HNDB2Z@)+(@W\6+_X.M#FZ=4/(I0&X,Y[ V&<.I?T?2LIFL<( MR3?L+"FXY:,/%5,8H2PG,2C M.7)FAU/5W'@,P-IVYLD98SAC3J)7N [*0DJ@"$=-DYA255S*":+Z4\FP50N4 MQ_(TB0+VV[ZR:;GSB),"N8J>5!">!@0%;-244&Y,YK/'35'& MOJ$82H+*@D8T$;LEPGO=YFZMOB0: (N4(>KX%E7>C@ MB1(DAJ!XQ-/6G5PH9%9'#[XWHRX82LL:00%^R8@'N#NI_>UUE^3UH1'ZI8A" M//C=R:5@)CLRNI>K<,$V8S.*M[INI*BZ,UE+WD97C&TRAV_CDEQ!-W;4TC*5 M-#R"F[6YF3KB'^T/Y(7GVYW(%]:8'CSZ)&].<(AI'!F"#>QR 4 R'\K+FT@) M 4G-^I*4WUSQ0:<&O9)Q_*@@KEFN2+C,!GP?D9*2>7R&T.H?=)L.O#*:M4E9 M=JT+8YJ@53&.%<+"RMK6U&.*P$X9;MN"4-HX4HC(:9:KDIL*!\ ",0+4]E;J MX=PB&$ULOS6KGL;TD.&PJ":_6;&5I=]2)G,8M0SG317IS5JE%+8&,P@+[)?F M:QG.FBK2F[6NV3?1^#962RODT1I9 ZN=[(%-?9G$!&]T?=.F/3 _2B'BQ,=:T-DGWT/&&?!F9"90:AC.#%')S0K0$-[!Y\7;.)X( M"BXK[$,/FF1R$E%/E^X5TXT2@CHLGRR8 IIV<'1W4^NC[4"S^\I>.Y%-BO6*(L+^V38HIN+/7 /+W/?#R;;58;%W4.+MF=F4,R*=@5C2-*19%-.U:2 M$1NOU%$ZR@"\ B]TWD#LW[GW0^35F2R>[7=RU(](*\:128;\9GD^BI!RKV:, M8P>GB(TZ0,Y;='V5KOTJAJ?O(7=QUO(YM>:<9/SB$^]2DT&<- I/F[1YCU@G MKR!R9KL5$#.'WJAN#KW>#[D7'W/J*;)/7-?_CEAPZP?7D$/18N,6,\4P8I)% MVM!M@JF#,=/]_! KWQ RKY]7%Z M\RNL=O?;3>_N ?Y^TX6\\3%F6^D9RUI":GP9&"=GYY?]$=GZO=K MWH"W ;=PT*&H%]2KWYWH]6H31K#'P39W$9"((&5;F7BFS%,\C7*-G%M2/>A0+]^![?I[R= [0 M*YE%B0JRU@WV8<0L*^?(;A9,?3>.MX%([#RFEV#A!V![UAB$-^\08XB#X]G! MQQT$'A\J15X?'QOHZ4"C^@,;>:-9[%0-5.I[LTSYY"6P),/Y$BX/%L00?$)I M$QG%)V3*AF9JXDC9MB;%*1BIO% M B$I4T(8$D*T+_NE'3HS3C;@LKI104B9;"Z0930K$'5?[FO'W43$4#)"Z1Q. M0\LT+M"D-&LO[G> KB@#\_$;M*F7X&&S>@'!9%$(HV)\/D2;T8T_]3XK4J1/ M9QE#,E3Q8D+[# FUH1NEI)"B.M?(F)CU.2/@D$4#'KJF9\(3EJZL:JNB%.U01.IR=#@K/K^5TT8$%5/8KX8"1_FK3)F\23C.$1 M;<1#;491X+QL(G0J\MF/S_HRIA1)K>M&. E;6@V!DM*SF:"(D4[LO/4#^/'W MXO.YLX_GP/9""$L>T%"W-O$PW[C;)/C&N2\;4M)F9 M\E43-^#RB/6AM!<=GD%%!4VIT>P5$"T?H"JF0A$],C6H=F3JZ7ER]9^_3NZO M;Z9/_]Z[^:]O=\__[,(9J0 M8HI%^4"D0_FD-97%$J*)S??0>!Z_.Z2U&+6.M@HEZX6B3&X)==1MYLSW5X#\ M4N3/=KZ5"N_14< :3 H;*R)JJ;7U#BD;J65D7WXUO$)/Z 2* 5 MI2'3>24JNED7_](&VQ2$4>#,<*P4+#7^;@?S7P)RH'NEMDRG5P7I9=VXI37# MXF$GB6*,QDSG6!7QI:7#T9IE>/3EUEQ3X% ]K*+MF,XM0+_OQM/ %UYK:[?+&F<))>LX.%G7FIPPNK+#UUO7_QZ*'BP:5CM8=#5^ M^K5W>S_Y_:ECQXFV0/&?(BJIHOQ+COKP&/AO#M3AY<SR+G+?X MVFVZ4.(-:3M54#2Y9PK(D+B!K#=J*00!6#@1Q1+<%=!-Y9)46.0&0^1&,QVU MNS6*]LV\F>."G*7\[,N999IXU<&04AEX9J56PFB$4(*2"^/),QZQ2AZQ4V@F MM>L:4<:*TEE2#":S,L1E;[Z!/[L@B^= M-S ?AR&(0G0:!JY6OY%O:N2I>R2:!+P:C695/H7ADWPE<*9;$=O="=I!29[Z M1^Y)PLRL6%>(-HIF M<@_C>#;W)ZAN&:YV]@#\V+LX&A#O>:D$CR)Y"LM#;N M?=R#(W7VPF$/G#=*^DJ>JKK1JJ;V>>C$"4)=MSG#/E.>'[P(Q&, H!DQ3Q?8 MB;T*%]1XBH_-"6YJ\31V@&2K#$M=)[IVRP/B.'RT/W BK<">B\]DV'1M#^VDH5,::XJ_C+\!W2@CB0(EX5CU(&EXE:E\EBK \?3J M!]$S"%8QU&4[XT)U#Y=8W&@TO'34Q:0J@;CV%^]@V%43$EG+2:U-JUO'L[V9 M!-.*TI!NA)-D6HE*W(![0GF\^PR >7@+T40[LFB>OG<\@(X"PMX[1(N*54\W M@DA2>,GWKA(29AT*FH)U\M6/]_5Y6<2L=S LJH:$:193=BR)9(MCULNC=V'U M!R=F\J@:$J9M/LL<#'_$43 M'W0J[*T?[#)E MPUEX=[D=PPU KG@P+*H(15W'MVY4XL>W]KKL8*A5$Q)929SU< #<+!9@!I>\ M-^]PA'E+,(6\G^!#2^C_D0?WS78!CAE*9[,PC;+D;#FV_=-3A++RLZ@;>^=L01 M#4JH)6@#1U05[R([RU<(U;<0X/-%DY?(=CSDW$M7C+=^)CH?K2G3$'U2DO(: M+>8A[EO66;L6;#UNE&PX2X;&K("&).X?'WN;.]$&90?W9NARW?GE)GKPHW\" M/($3%T]\U4TG62T<)'T$96U*E]Y"7)J%)_9T@=U5E,Y?8/[D+Z+OL/0U> .N MOXZ3L9)4<-M4OOOR4@,[__Z)C?O\RGH5%^_\0QM>>.&D=7 M=A!\P)%&NWN8JVY^W)Q8_5&W#.SJ0DHR;T@?(^4+\X(WD\\KS*K6=8)4DJ]A M0T7Y>EWS[83NL4J^\(V>8VGT*J)K)YRY?KA!1EDX"YQUG'3YTE.:=WUEJ?$J]/I'1.>(655+G^>"N :]2(IFM?@TM2!2ZTL M)A"BI\UJ902_S=BWGRB).K)N#B!4@Z\Z&%V?G_0MK>'H"?^HK]RT2 M^$&C!6M2J].D;A.8H.Z*$Y5T,)1LR38\*4WA,V^W^&?,+X/B_+)K0,LI(ND> M.O8$/TZ8+K\[T>O5)HS\%0@8\P5G[92 )]9H-#KI]\]&9^K7[=2>LB8*WNKY M<3"PK+-AJY-"'065K?)KH&#";) NCJ[\U0LTUO )0B2M]?::TW*B M*!.=,3O0JR@V'HI]X5_[\%76;>SS:"SW_:\NI0EC^Q??GW]W7!?:/'>P.6_I MP.+YI+B,(3XJ#O&T4;R@V#7;V[:KY5BG0+&3CC'XA=K8?G_Z)R?GHS[JD.H) M@JN_K(E"K!'=)HSZ*BM.*A(0,6%R82;>8TPMI\6I)6WR;SW<*)YALLUJ.;,0 M<6#,)LQZ*1V')Z/A *YQ!P/E2PQB'_GG#Y$F\F-E"'7:;HJ7:BHJSABU,3!A MOL"!@[QVQUEQ$&V6.15E2W,5<.9!KP)22%DCC4 MAD?-K>T$.!3E*Y0<_B[P@3TOCB'46@\WU\NWI^68VLJ^DX$UPFA5MI/U8&2- MSD].1EGO=GL2L3Z@U#JZC5YA_(L?2W%YC?@Z)HG>T(W3G./[HN0;"5OY#.58 M]9)VM!S7J&_TQ3KX!V[>* S9NHA>WH>5@W0K)/6(I-79$.N^?6Q?]H:5\25O2 M.];8I571;0"+@E\#SY1PCNB2V,.TI1YLJI>VI>7( MWI>9,:Q)Q;>T&@W[PS-K.!@H=W3O=XTUH(GE=1O-0I@7A[*8G":,8YQ0LG @ MC',TEX32X?8^XP9[>RUJ.:9WG<G9J?+Q:AUUFZ MU4A&#?Q+%.%V])U].#2;G5'D2&["5@%*J>W$=VJATXH^#FL&'O]9@GY)0%^F M4;P=O]^LEM,$!0EN+X90&]NOW]GY:(28-5!^-SI7?UG3B%@C>R/IXFS0;F:) M^BHK3B\2$#'"/@'+:H9(20!ATE87[(VDJU.P]@.M_0M3\W8>3 3S[QEIM\H6Z204 6LY*[[BYUID\2S/)YK,ZM4N^'N"%MS4"E!]5'UOE@.!CVSTZ4A]Q Y=C+98"NXL-)8;)JYMAD M8]?5;?C744WIGEE%"$Q8D%).VPG-$Z/B/$$_R:K]]*'\2*MRG]7L%X#_G,&YFOR&OD J+9[D63TEC9&#B- MKKU':NPCXMGB!Q )&4BG10.)>A[_;ST/1-H;28V=SM?F*'[E _C:3AS<.N,Z M8\\U!71ZB10?F18:[&?%P1ZWHOV KG#0_@_E;E#\?A3,RF4$$$KK-BR+H!9' MH8@H#0R]^K?X; WAWP&Z%0O,QW#V?;6AU0S_Y9R?A%OJ M$M%DB]G JD)QEHIXV-1@C$ +761*7?$:V*MK*Q>-D-5Y7K0ZRS/2:&^%2DY- MTZ+W-.U5[$V!G\J4T X($XW,)]X4H*L:X:R(HYQ$_:KUWY$;1J<65'R[F>EY M]$]PL#8$A@D+V<)Y98')I=\O3B[%L_C:3RR2#^6/AOVSLZ'5MTY/VIMC]CN) M*#W#YKJ[@2:]X&PBU)IN\X:0OFC32'T43)@PRH_["TT;)\5I@W3H7_O)0^/3 M_Z.1=3X<6=;%4+DS;C=HRJ\+'@'%"^?*Z,;?YI5;9%*;#"Z3(?J&.YP\>9H M>^S!7H%K'SE023-: Z_*ZZ-OM7Z6@TF6DKE*%2Y=YBFT2/&Y7F\&,!9P4;MZ M 0&!:H32NK%%F>9+-K8%$&I[2ZWY28X$,UQ%@+L(K$@?ROH-:T=)Q5_7AA#L M_#X;2P]X-3G!8H7C6>2\\6ZBU&]8.\HV0R'Q145%Z)2X3%HE;A;T+$C(8QTK M*PPWJ_AOE4E<_25'0C<'HUEGD5DSP!2$4>#,(A!#]\USHC"VUV1.T8)O.=*[ M01R5!'NW;"@7U@H8I,DF"B/;FZ-,.$+LEOF.P^5VXR@V>O2[17?]S6KM^A\ M/('@S4EP*FK,Q=U(3L;._*7G_ 45!J L8=:8&=1[OORNH(XC]J]FZ>%V5P% MH@G[1UU.?,"=_E=H:[,D-8)($N .;7 @08N4U8!N MTQ.W1F@33B6AS'+F(!6:J#U2T;RL0\NRSCNI1"'YB&&3S7^K MIB@PB6!7;)_IHA1)Y@1=+DD#2]ZY0!X-EHZSO:>Z:)&M@A)UL4>//@TWZVR4TS0>*3 M%]=9;M/;HY,0S\X*%IDLGN!?PX4]B\^UV4%T;4>TE!%R7Z(+E21\?A4").DL M2BLD)2#,VDAD53.02)5$5G*/GRZ^[)OWF;O!IUW"$&7?G3_;[]7\VF4M=812 M=#X0YZ?:2$@R<=Y \.+KL'/XS7MQ7!?,IV &G#=\=.%J$R"E$"A%KF H5)\X?,PJKP:'6 MMLQYG0T-2I H\5N7E#*,#2)2-GHN5-&)&\H5>NDCL;B843$NAG$+;J: ]I$S MQM^(FW9NZKONK1^@P]D,,3(E=9L+:M\/R2MCV[O(TM3.T+6N"F;IAZS9)M6Y MQ@8!]M6U[R=)!88P 6?IQ:NRV<=S8'NABW7V"[1[[OV0Y%[C;\ \EE24N>[R M]B+FD8>,F:2L%AP2GR7:S<33R#0A+^%3/$_<>&0-MV<$/FU6*SOXB-.SV][' M4^%#*F@=G@A;ATD7T-'MI!/_'O:<74$[+GBT'=NV'?GO>"=(Q]] ?CR>6M9I MNR&^TFXBKRBZCN=P*8)B ! 7I8J#?.!ZQ/778/X,9J^>[_K+CRFZ M@)NN;4:MP]!X%1":#+(7.7OMHZ1F:Q"!\3( <4(BJL+)%0Y#UX+R2]IG;"7L MCP+@/2/TCZ>J;GQ1N4*@@T!Q4^JX-/@E(#NI6=5T(T%EG0FIGRRZ69D]*!", M9[/-:H-OE1RO_"!*LN>)TXC04![=,^OTO%V7MQIBB8#1\&:(\F@_"BP/@.2_ MI5=N=9W MYB@C,Z93"8T8\M9I4K>)J_;NG70P.K9;4R)>'$<]1ZGD;B&&MOM/8).UPUH1%E![@=_+Y.W#?P%??BUXKN!DX&CUR509@DLZ.D0X7 MZK2>+($(C=[G[[X4?B9MY5$^MZR1MKZQ=FA)PZG1DVCG'> B?#,IK*MB:T<^ MUD*JT?5P!QAYZV_DV)MI8T<^U@%*R26*.M,1EI5'1UCV2,R@];^ELCO $6]@?D8UK:7 MN\P-WT*PV+CWSD)X*V0HO!62]N&S'7>B%Z2]0)C#;O13VB=$37T*?9NXL.@80U0=3FJ?*745*T05;D T.:S2 M\.&D"\LZ.=%5^]RZ*C) ' )-]-W@X213=2T*P.$<3C)5XU5 T.1PDM(#*.WK M7Z452 >A8P=0MHZ&K%.'GGNS8FNZ4::RAH7((HR(61%+=ZNU[03HI%\Q\CE& MS46H$9C&6=M@9M5!P*R+M5/'SPX1COQN^<(&\T1 8"5YIAMVI#\&T"H+HH]' MU_8BN/*Z^=?&62.I'T DYB<_+:9X31O_6P\WC]WEVQ?\K>>!2'\7.!$@AMN; MHUY;KFYBU_@@/-C&VWZ>[)\M*= MT2Y#)R7N2 &!.0:U\AM";CT4]TER2Y@KE*%I19$Y?S/8 & M[ZOOSN%R)/#?.%(C46J8JUQ1H35Q+3_YB^B[C2F9_I@XRI$ 5W[(T#5W?7,U M7P\"XFD(Q1.X[02_V>X&7'Y@IP4SR(147C<]2[;$Q>3N\HV\6TF3G3C]+0ZW3C MHQB!* 14@9-V5X'+6&=2OV>,6MJR204;!!:EU98OW;B2B"@T:R^>73$/6!\* M:YGT\:P( &630S\O%BT))+V2;LJOJ"T!M9/%;G3C7/EV9R8;X36 $LSB:1?^ M[ *L4"^7+HN(%X%6LIHWEH"- F3:75JT[5C1>6W__)=)I!(6NM&TDSMQ.&SD\6W,%Y]7(*%'P#A?,:5FC.63E(! MD93:@I2)2OTN$QD<:;0[$JX2%)+25FA#M6RLYKWO+7%@7^QD^16X\UL_@"AQ M1+H2ZQI+J.K22THNP>)0P^&,>"2%\?^BS1^Q$,:S8@ACW-3N!]2H_D&+<6<9 M$8KY0G\HCVC'[T=X\O0S6R[/7P3SL-716P22L$/-%*)1SXOR:7P"YS2H!S@+ MI<(3-%PLJ*6*F>HKJIU3,JWT/G]#JAQ:@T$?JW/^]IHS5/"F.F',4LMV7:GB MPC5Z<$2K%4 ]LY]HX+9'$G%EBYGW+)&UFA*D4N?.@YT"890DO.*@RUX-4RG" M(Z99,\K3*QP%SR!8L2R$8D%=2%#70N"43,E9,W5Z1ZLXS'BXAB.>.,H5,D;? M;*GJ.JT9FUK*ME6E QC'W=_$KV"X,Y;^,$JAIQL\%/+ MYR$86%9_T+Y."8OU:L)H]4DFZO/*#E]O7?^[@$HI5731:C6-E6A<5%:SS/.\ MF^+1_L '*+B\-6EA[1@AJE&6\X8JJ%ET*%N4).)/O'O'?G%;G5JY4-+0J!C)$6-Q&8YV4 M[M^24KCCI\A7@G*$HDK^QHNF<)$;BN[SGA#W>2FIV_&ZO1>A]^-4-O.D![T M=<',76'E%][E:<]D BFUGF@S^1$UA"-JI-,R]90]0U24T5S+M3)WQ!KI(G,D M2&B6R4H=2MDOS2,(9N3#(*+-=)$[4F0TRYBE#"=^[H@UTD7F2)#0'!OWJQUM MX&L=$$X6^2&5N@H<<;-V0#1K=Z_K^8O>]H5Q@5[FE6::LL MBY-$FM!\.N"(C:L@GUFFZST(0P#*0?E((8FM,R@V2L\>SFP771A(' )5&]2- M3;694K9%*Q6< Z0BQ/P!?HJ>OP/W#7SUO>B5Y+BKVEP>Z9%EG?=R@;B*,V8PHJ M;1_R-Y ?)Z>6=7*FT^9AZ9"O*9U9^S5E8%3:,A1O2#?NU.0%']$J0') A./? M&!1MYK#)Q@N(6=N +$CHVW^6#0,,/?*]G]X+TO;T7]&+]O3Y;S';RLGQ ]"JM MW@@X]N:9T51R]1@L\.![08X=^+HHEJQUV\\/Q3/+&FIR2QM%[Y0[_B0#H>.E M\)E;$;-S3 #^M0'>[(/O(E)236WIT(AZ*702A$AKHI1)PG?!*+FFMD015!R% M H+"$RG0OM;#[?B@7S3/455;O0MJBT_O7-+KIOC+C^V/OSH@@%B^?MRC6[;Y M/@V4RMHJ7_W7010EBIM7JP]$6!1,^%-!;$-;_HCKDW/^$$)"MXD$7W\<8ASZ M?!^.8@UM55Y92Q3-$MJ\X[OUTP*YN8>^G_8E%D[T?]G>I?8^-*A^?1J1H1,ER?'S\C%%N MC[3LX].(/^+ZE.KC8W'$&!^?1BJOK*4:/CZ]]%R^-*-\),@5M-6RH@^#(#(Z M;OA,X7HK<&81F)<+4_Y7ZK10I\D\;A>6-6KWK*N@AHL4D0Z&G%FD[):QK[X' M/K[:P9\@NMUXKK8:+)5R(.TG5L]\Z# M0&W0]Y*VCB@OK9O2E2\"#N)$'T"P9LS@VBE!]IS MXH?/L!MA^2/J@D/F*[2CI0!-BB1K'!E)WOA6F/GMZ3G X_KC"8WB9*!3C!=R M!=U8T[C>BU03!*?+Q.EX)$3[]&S-2=<8F)2SD*TMWUK:J#:#7G1U2]O4ECL; MD@ZSF;>M?9@DJX"0"5O@][ZW1'>578.72&S'^Z)X!A(U]AE=\]A#S>F_NXV% MY@UB(Q56._I1+W9F)&UONJ1DCL7GEF6=G;H_H=Z#*$+9&^-^4^?1LJ)ZZTUHZN063Q/-_68'#II;T(VQ ME/EROYAN&JL^6W))IN/QJVS'J3-EL:!NVN/2 5UU^L^1>+,&S"=O(/#0ICD-+!M?=4%Z6PH2U10Y7)L7GLOSJ>L]JLB.CGGFN'/Z5;>0VPQ6A3!_8[ M70?9YQW6 5,,XI>D38?T/2/:A5!:%SW)WEJ@"TC)>JS)_L*M/0/41-BDXGHK ME*X6EE(94C::MV"HW+4&H4K=25M'?#PW7?I!X']';GI[#9\0$UR+-)%'%*(Q MTLFQ(\J;VI(W&M2A!9>N_-7*P9$NMP \@F"&%+PD7N_)WX+Y3!(1O-';/Y03 M*8\ECK!Z@H+8\XF77;OWN3Y:Y.IF4:B6U+*N "GES[GRB2@39T:::3)%S.(! M4[*ZEW$P8E1/!;5==DJ1\F%]QK?,H"!#.!=.D5KV-"Q#D\&UL79R?G 4N[4V/;NYGT-O!!< M @\L'*8L^=)YC@^@=H:M#G!1R(N6@(B@C1Q<4/('B")I%8CLY^OV@BI WV8(L]W*3^IL(^" P[ M@5Q<[;?@ 40Q9>_],!R_08B1_^/91SXUWWN*_-F?K[X+:1E>.^XF G.&7)7; MTVT^8.DS^TV0*[19^9YSV/"01C9N%D$X61[&D2*K)-N3Q"/ENQ^\H" 7_ZPF MB7 ;NC%("BNJDXV,B6DS%IR@XRRIMIM,^QB+<10%SLLFBC\(^&\H\G6>W 8] M#@(4ZH2S%Y!=+#4;/A!.-@14PU.BZ!9/4U-B8ID4E" V*9):.1 *RD!%T@I? MFT_PO@U#^]26ECT0[O#++BG 0%N&),.%DR-)Z0-E"4WZAH,3E/-D[$7.',GK MO(%=/L6;]YF[F8/Y+80??O?7FUC-DT5A\40+SI72]H%PL#FL&@V9&*IQ=6-W M#[8P$0K "V//OI##^Z3H\,;-?L;M]K(-Z^_VWHDQ661[/@6NC=*)^V$48F*\ M9,QRUF55=1M5?*!X]@KF&QWG1^4(DF;4 M;F2.%.[D3B W"I6.:;#B+L,74))&Y,KH1H)F55;R?6."H:.:JV.SD]>;/[JV MQ\R4UL2K=",=FP0E:552YTB(&C@1W<-J20$7\PL_6-EP6HO="50Z$$H?B5 )H08.F&EFJI)@ MOF>D3*C?L':45+SV:0A!'3.85A85_\]O<.9VO"4E?D*[9C9#%,D M4I(71+.R4.S<872X7O;ANGE?._&YA!@L&J=EM'_8A&X,025Y,%K90\FLFL;H M) 5*^"NXK7+"O:V2/.K%^/7LY(7'[98N;+=4'\O< M#?X[*,_J1H6O*\_?BLD M#I9:H$L*]#=D?9N8FVC3J]%Q4GA/7C=GEG5V_'HTC*ZD P/DCT?GV)]1VM[Q MCW09]A@X,X 4NE#EU^3LB&[C1VN?9QU,S4J5K@C4=H>);F-#$R:W-L1HX\HL M;VOEL*,][]_6!]+$()/:B>-8DS76FE?+@7W*6("6N!S;&&Z"W3@..%4#3H9B MS+H?Y5"MQ^,(T\Q\/+K"*[E%6QAT]3IU_-@I&HH-J$F2H]T@=V/&3=O"2.1\ M>UZ7YY9U>G$<<@T[[87UH23W3V?&U7@^=V( =EYH5I!VH^_4;0SIYYP7A\_ ME5258RW,66T*T$E:= &L[V$T-[:+KN4[H0T$M3W1;7BH)[/$8R5E/WT'P'"]T9K_9[D:!US[_ON.0:=0CSP&V5!=\>0B'\AL?3!X>W?:= M=VU\J'"!=VYX$"SBS*=ZO%P&^'"6DN%3N3]YA5]8_;YU'%U:*<- '[D<8SB/ MG8)%T-X+CT.GT;4.#]K)V#@S+^_13AEW'DX2B7X1S7PT$,A\M'MAS]F]\9CZ MJ NIC[IYTT3[,V9G;IK(3W=:74%0\Z:)]DG0K,J*%&&#H:.:JV.CX4T3[9.. M30*9@>""N)A]&4'[RE>FR"*'Q#!J[LJ13.IS*,I7._@31%A:+'=Y8GGN>CE9 M+BSKY+1=?8N!OE-:/8$U&<7-WB2A@79;',WB.$G::G>EW2 0!E&&1?"W'8/@ M+W],$8@EEF7NF7:,4&11LD'HI+I+IX:]I[JHG*V"$G6U-&DSL/]JOSNK3?FU M7X7GVN%/Z59> VPQ-/EPIE\$RKHZ6T07C;2UK&9B(2G\1=Y<6($+U'4SQ830 M@ ],_9!52A&HP4L1LT;[XR:8O4)VHA[!DGWRW8CL6KHJAH)R?DE2549-YM7* MVV3W:B^BNNA;UOGY0_2UY]*$C6]6A2N_#88^$GT"H+G5]M+ME!_ M@4U$C:61%GR]=HQNAF$2J2P#X$8/OXPZ,U2T2BU])+]L)"4Y-PS*G%%(K?7L M1RB 1$$ (L^KC^-!-;B-'OE0_R'0Y!*8@Z*N'*@D';%X \&+W^G31TSS+@X> M;LU\S[_^<&G?)L#'U/Y5H,3?Q%O;"1HQP>.\<-K M.P+MC3/!_N6Y /5XWM'3M?H,/1D:D'1P@V0/*A^/8Q>WFX1E%6!'!\&\D#18 M^"H?+)-KP)/0[+SA94- %Q>6=38T<,\[55G)UXT)AHYJ-NDX MD :D8Y.@@H$O"Q=-XG8:/DC0/@F4*;3()7&<-"%%YG@,Y>00H_21")40:B!M MHV8?,5TB 36@I&*KJ"$$*935UY2J[*A[\+TW[";/W.2KW%];U@GMV-T,VU0Z M9;EAEA0;J(WG50&DS40-BK[?F$$CC\NM##"*-@[R+E@3 ]6/HTOQZ.)0QH'= M^FIB -EQ6"D>5AS*J!LB?!$/*P^G,^WRY79,,)-[=%L<6X4>'(=7J\.+3Q]U M8Y\/9X1IO.(ZL^!_1AW-/-_-T<6CC<8STQNTWMKBR0S9T\)?*-)+8T:JA@[% MVGJ0M' [)(^C?F'7_%TS9BPJ'")Z#FS::#[Z. _]-,5Q;.LWMF6H\^AGK>); MTV]H"_;O.+3U'MHRU'F\ 53(KX?N/])O7(MT[CBH]1[4M74I*:^&\2/:U)7U M<3CK-)SKJE*9-[N5 ZM(\!CJ,-RL8L1$3ZZ.!$ZN;M_7R[SP>(+U>(*UF6CV M,ZMO6?VSXPE6 :AT/-I8ZP2K#B1H5F5%BK#!D.0S;B7UOD$G774@)YLL%0PV M6;ATF:?23T+JP!9EFJ]T$E(V;XXG(1F!$%I04O'7M2$$C3H)N5U69Q9ZZ+9$ M$+WZ<]_UEQ^,Y9&"-VO'XV9X)9' -;'E6%MTQ\%9AL74"?^\#0"X\^"' X31 M%"[QOCH>NMU,!&ZS4IV/!@$-5 H]>"="=HAQO*^*; UL92_/KC6&IO M+%$T<(R2(4*)$G*B5$*_^2YLQH42(3!5#*/R-^?UA[ _CJ!VP5<2A]+*'E?Y M7Y,4M:*;7:<"FUWQ(^S6[\VRCT#\[N.^5X5&(7G/SDZ'I\.3@75Q/CH_[:N_ M\V;K;MA>NPF"-R=Q2A7';IPK&?XT64S!S%]ZSE]0+KPAC(7EVQ:3^"[=9M\& M&$';-6L:21UWT.X\. /!"1+BB<"[3V2C[*=1:NC&'W6J+=)*%*8.D8.Z,4:M MHQM!1)7$K6:*N)IDXYQ"L"%0K] HO8:FD^NO4?\3ZX>5J)55LR-ZIFBIJ.FJ M8FNB[R?@PN:6: UB!W^""/[,HVQ6-1,U74EFHI-!K9I_ 1X(;!?V?3Q?.9Z# M3*'(>0,\NN:J:Z+"JPM.7!VKU;H<\X:U02SY+;HQJ4UK406T9KE!%=_B=&8- M+&O8;@B_"I*4A Q6Q\JL32PN^+?'"K#O-<27'6:?(Q4\^-$_0;133IWIMLK[ MCKQ6#V^CDZ]R3V=CV,7ZO/6#Y$^H7%_U^"CMQ''0:()YHQM2(T4;4IOUVL7K M%=N]=3S;FSFVNUW#W'DXFA4O8X2VH096O[ -E7E3;_NJWO9=OV@-!GVL\?G;:RK);W#\^D&Z894(LZ=H5G'=]%M-23ME5Y+7 MK!5&(OZE[T%I"+2@EC6-$^+"&N;DB.5^LET[<#@9L5?8<$KP2-NHQ:B<$X_0 MC$;J\N8XI<$C-*8#$#D!_HY>@P6TZ.>7P(,_1.@P58I,!G#B.;.Z#9O*M8:0 M:30A3#MSE8WR>SS;[V"7;R/>H,%_XYB_N!K(HSF$:+9\4%;FG%8= 4DI273B M4QFHH@LBH]G"+7!"CM.ZY$#.G/;)@8=&/"S@K)SL0; "3.F5=*-)C?5R!4$[ M?T'L'?8YQNXS)'AZ.(08IE9>7#<65%!E69":@+!UE]2,*U"4.]C@UQ0X2R^> M&V[]\/P$BQ@&?AY)7!%H 4CZ5-7_KISBVZ,PJ ^^)Z_ M!BA.:!L=1OOLE!0WDBM"PFJ5X[;,79N!Y &4.6CS!8S2**=XBXU+U4= M$P/+6MMOHY+MM[C);NVR)9V>@K4?H"',2LA!+*YV6HZOGIHL)NG4DW2,Y.\B MEL_S?&19IU:[@8D,?63G7S&AS-H^266/@4+1EYP,*%8P@0*<4BG9,2F;N?_^ M)=9),L?]X_\#4$L#!!0 ( /2!IUBP(O3J':(! '@R% 3 9'8M,C R M-# S,S%X,3!Q+FAT;>Q]9W?B2M;N]_=7Z'IFWNFSEG$K(:BDV 9F?_R:;Z4+AO__W]__\_7\B$4Q^3#5*F&@(K@9T!Q,LP#M MQ*:R,[K'6H9I\CI6!I8EJRJ6LF11 L$K!'['W)%W42P2":I*\39\T]#OER7N MB.@]D<"2Y>>2_LLE>6#QUGPYBGM8&WX7CY.P M39J)DB^+-X$UD06 /1@#K)"YQW Z0<=YD8@,$P!$:(*A(XD$B4>(A( 3/#V@ M!P+MUS%R(*T@O73[WK4C$L^;_]R,',>\__ESR-N#.\.2?@8_H$Y3-T%A<3): M%9Q.IW>BX0Y4 +LK#^=W@J%Y(\0IBEB^H,JZLO'&;&"I7O4DCE,_T<\#2,%E M\9DM;Y2>4LNRQ,_''X+UBDZJQ?7FXC^]']<%I5G3L0& MPD8C\/N=9$Q^RCKL#D"4_>E8O&X/#4OC'3@/L"(B&L'CD>=QV9:S33'X<(-: M\NRUH1/46FO+XA88ODHJYB?\=7V\\AZJOJ2/".1-XBQ'#'_8[+!MT"01VU>U M7R)X8==<$8E$XN<,,=BJNUM,L%$4_?H\_Y^8?CBGNWO\UH22$9+9X"%Y)P\Q M/@_)-[__'@%>_/VW!AP>$PS=@$N2]8ACF/<4;CJ_8*,_ MX<\;9439-E5^?J\;.D %Y-D]J@U8_D=9%('N?80%LA8OH"%CKBX[#<1A;?B! M:T(*BKPEB/*)"%E['M=5N$(+1<2VQO0S*\C M:7/5(4=Q%,$AB>=L(@;Z):G$*'*57PSP?+^1&]5O,)W78'\#37*?-C1-=I#* MM9.ZF(;U0=T,=;0,[!M,%O^YR7M=YZ2Z6&K&*RZK-(L,T8D4&;>9EA 1CS\F M@@P&17'=KI4<%SK3*MXD.O%:!S1SJ9'TV4'-,A%\3F1Y3LFY<0$\T6DAP]2? M!U6!MLB2A8TN95S+XU>.X )"MXPUJG=,J=:NQDQ!R64?:"W"S1,)>=5!*-SW M+.R-,T_#SEF\6M!%,"N"N=^MEL"9TKC'IHE)DV4&M.2PAVW +D]7=@3AOI2N5I(J[$U4>EPM] MYI&:3"<<@SJWY!7;?!*%[^B+_8-BUH? M%L6E:9%3(E$\I8 L;<8M,5TCX[#W(A!D#7;OGYM(]*7VR!F&.(4PLZ"9O&RA M$9<,>U-Q#!E>LAI9MJAT"9'4[,68LB0)2NARM,OA'7NX[YS%+PZW&R_8*;KU MD,*;(TWK,+V:4NWL&^X1%6=2%"U@VVGXL6JUC*F^T5/:GM'5B)SA62T:CZBI M;'M:*-=O?E? %.L9EO(!@=FRIY;#-7AH1Y(SV?:^E?F9K+E:&6@#8'$!/;D& MQ-ZZ"QH0%LDZM#M0JCV0 ]%1=:#*DD<$=F8" 2Y#6K(&BU2'3?C4'OI$A$QA M.4C#>@U!>,\)$%UQ(GSB]02G<8++E>=FXX'**_B8+-B%!PZO+LPMZ_[EOO@J MB=B@,6-4(Q-;Z>;:#"&.+?JQU9%JD,8UHO=)8;>!A/B.D^QD#\RG.*WP0J'2 M[Y32G<9L>F )*%2R+\D$NPMGL#IL -.P'!XNGYI^CS;%($IW"]-^;/S(DHD4 M/>E1*2(C)V]^$]MB\',3],&% H!&5 #V[[\1MKZW/=@,!X1Y6/L>(=)_;FQ9 M,U6$H;UG(V_Q(4XBRP7_%Z'D!O#_/OGSB9^+_NVZLG/7<,V/3E:]7HIX1[@ MB. $_/^JGM5O*_J):T4I#TUM_K+\OFSDYP8+O(MK)U1R+G^E,_8 MB5XV/[UP/O@:3:Z<7T111O2 :UI>%@MZFC=EAU<#=A#HQB/QE+'K.-,D:]7F MPIX0F4L'#'N'?!FSO>9G.XCZC^"9=!NWACU%GE4G SZ1='K@TL7^6]4_M72? MG7B"OZC_&]5,C6;E[)PM*E9:HA[4DG7Q>/ L]?_9,,Q> ]"H6*-AONL4VLU> M)Y=M)=QZLWGQ_' " W#@Z?[L"O 5_4^4^T_)/'B?I[J_SSX9:_V;]&SQ[;$F:+B M1C/MD4#4\GG]TM7":;3_<> _>1CUSR0CF=28:+!*]Y&>/5&&8$7:H??G Q-, M'@G-?72"OZC_HYJ:+K*%2A&O!9ZG_SX9A]AJ 06MLRV5$!3'4.V+QP,G, 'GN[/>OM:%N!MUYI[>R/^-DDPTR5Q.FMWY8+8 MGIN/LVXDS_>IP+\/+=[B-7XF):F6);MJL6QU$7?S!:<6D2]?K1]WF M.T/?[>O"JZ='.!4S':(MYUMU:;Y(I ?,I>.W[Q;>ENPDG.\5E MHD2H9%V2]K]Y6G?&0*[AJ^PH&W]J MR4\BWDSG<2)34=J]QZ,+X3N(\?E8P0W*'3Y6,#GE+;$U-Y\#U]?BS9.Z6.8M M!3C>Z=SFB+? TE$^@01?RR?K3QLC/+F-QSF_;N&>>[K MR'=&B6]/LJ\7"G#PL,<34+,,R>*7IR)T>9#/:Y.)WI[',K."E56MA':VJXP= M<[MO=(>(9Z[-']L-M<4V(9F[HWJJ:$4'P[;Z:)#.[%)=CAZ%/F0F&G$=+[8' D.XP2#D[(2M&)IQPQ M+Q -]U*F]B0P^.28Z5,<\3Z-7;7HNN4V*@6\V*M'%P+3?&*T2UD4?;O&OFQ. M8#53->8 >$2JFJB>@ NFE4[-<*NY,CN.YSA;D2)4+'=I=OO5X84<\):Y'UCM MK%@9T+/V&%^P:L.,3!]BES;_WV#N3S[[[\@6(>LGRQ;13":H?LQNU=FT62'' MX]BLW,B?G3&!5+I?T>SF-_JZ0;17&29XC)(HB*]SYV%)#8EWG(KO1 /5$W G M[3'R<5M:T76-@&>V#+ZP-"P7(%CK1 L%ZP\4K#?PBB]93X:5=FW'T(!EK^2@ MZ9JF.F]"CES^%LA>N:-+,3J!QQ6&+/04OJ,/2_39[5O[[/]R9/X2]K6A7156 M^?S,E[TM?&\W.)CRXA-%S9A\CF'3H_BTKU2G:J%^=@!UWY1OC2F<:V^NDU"O M3?BUM2A9J*6K\K)!,\.>[T_\.&CR[']]-A,N("/@:1Y2@=@0C0Q4+FFD9$T]-+GD@ MD]>:31RG)(71*=*.Y:ADXGR#!#[$ WN&_2?,>M:U=-EQ/1G(RC/T:3GIPZ)I M)CH@Y2KCZA-=8"QR6"J<':K_U*2_/NK+F/,=P2+'4?Z1,IBHJF1H[;D3*8R$ MI\>:>[Z)>BY*^1\_?NA0VI^T!XJ4'S0?V.["?'JJT6HIQX7:_QJF?8_Z?T@T ME/X4%!6V:V?D&.?F#:M]=NN]RU#_WQUH]BW)6T8@Q1K,K#16^%C:IH1T5<\] MG:UMN+CD+>?N-OQ67GO4$S.A$F_6V#DQ5NV5 MK&-9V:':PF">5G(BFYTV*J0M(,I.EA=D%0YPN=8I MD;%IW*9P!>BCZ2#"=QOIWMFN=;:'N3[[>\9YL6Z.3T^L0I9SHT1 F6]>THWHFOGT]ZB3S2F?25B M@$8J(P\07$MVY)53,.NV MS/:D7LJSS:9NFZ!M3LO-LUU#O3+09]W[^DC/'2"]<\&E9 MP\F/,\(;)/B3N&$9I]L JH=*[)%L+CG!FC<:W>98&["RDDX1D7(.4+&S6SY^ MB1/V#/\RN&"'._;P$,%H5;I22J.)MC9N"GUNUBOEG1 BG)L#]S"LL [+ /)22%DEVL5@L]O,FTQ_WA1*ZG,M=E'+X?)1SIQHK/G4= L0RN M ZR7#B92G652H-"?H4:4][Y^M$OA0-.HK0[Y83'B(Z1XU,FTG4NC& M<"8B-NUH+S$T6VEZ4ZO"6CJ-;&,G'2*G /;;T!L3H!EHY 3[!KITNH M9-,86JM?"KH(9LTI;Z)?@NH7[0HSI:,E1F&&9)'J/E3BY>8?Q$;O;OHE_==. M0GUE HZY$T)%R,2[=T*>BQY@O^QDPH"RXJYQ=S*72XFY0J/%;MNW3_T6)Z.R28?CRH 4)/DX"G.UX]_M]O'+-?1KZ9=V]U= M?R;C,A9:VWR>YNT17&R@?]!:8L*K8'G:P>5<.X+0E 6*Z-5B$Z:M=9VXXSZ"2?5\E^JO4S%(&O0>,AZ4JX\F8F?.SP=7 MLBTQG>L0W)AE<]7V,/GH:DPY?;YA!G^F7MOE-;X QZAB86.EZ<&*S_VXO-R M!$CSQTO@K=" G\_VR+E:\%+?;!#)=C>*%X<=IR8O!@]2)[3@IY>QKYP\>RD9(&SY<0_5+,]!Y2/G5AR%"=FS;8[+$AM>Z$UB^;1 MW54?'?Q!\4N<(^)P\$3LV87GVK(.;#LI0&T$-0S*ZK!4Z1G#':A0TBUYB&X. MO5L=GDKCID D-:7)Q\=L;RI0!?MLT<0K _2U[>X1'H>1B5@$CT>(^-?G\AW) ML-]SM03: $2Q7*OYWKC@J.9"4\#; )6"U2ZM;=T5TEQ;[N#L^,&Q1T^]Y'!A MGYV/]ZLW1;QC%W6->,$-NV]3[VC^W',XKO/*H:X""AL#JR00)4/@5TKF>5/- M2QFSNFT/?D:75.CV9]JA, S:=B<0>$_UAOW6^=PKN&?+Z/M;^,8>\ MLIM7&L &"*5"PJUE0-QDEU1)?K BR7)627?+C^,"9V=KU;-34A]BEW<,.^28 MW1R3 SI%>.(XU7 M:[PL%O0T;\H.KP;\(H-,RRG&2P;>% 2)3KF/T1)_MN%"[TU_NV_(?Q*&/B2G M4"6;K+G]>HL=%XV:$GN:-N*ILW7KG#6G7+Q.6>6V0HL$6$9;7?!%/PV$T6.) M+BLY1Q&C\WBA%.F=+69Y)Y>\.MQ0EWR<0\BXXG2EZ MY/LYY!S2.7WF?D_5U09";#R+LMK#8U1S,M9X%#V[Z3_U_9[?D=COA7RG:9%3 M(E$\I8 L;<8M,5TCX^<0X7]^;$_$0+\DE1A%KO*+ 9[O-W*CH[/PB;AF*R*G MV[62XT)G6L6;1"=>ZX!F+G5\U^E'(S$.&H9"!\>T:*Y&%A]U,5^)L\WQN%X' M49UQAT=?+GUXZNFU0T!'"UWHF%*M78V9@I++/M!:A)LG$O(Y,,))D)2KRS[5 MVO # DFZR%LB9X]X"]B)K)&0S[T-6>::7Y@5J_@SYZ[RS; M6?ZV_(X:>J/1=C/#X8S%F$6BFE7F$4EEAGR]$6626RW*MD&31.P>OO*%!DU8 MGC,6XSHN]UNCMIQO@EDC*]6(8?V5,:(W/MY@1IY 7O#&%Q!VT)_%;$GGYGCS M,6W4$]U:,;:6\$_T7EBOK.)"@\T[AO5)2FR]CQYF@&YHLKZKVO=.Z485/S=[ M__Z)"# &)]G)'IA/<5KAA4*EWRFE.XW9=&LN$)P)7MD_&3_EV3T<@.%: K#] MKR/ BYY PE[^_AO^P6QGKD*YUOA99"J+SNB>P/'__#)Y$=U"%%'!T+FG[^C8 M\R,+G?Q=/C/\>"_8C.JY]W[=O*C5DF0]XACF/4G<,:;S:ZT-6-1<%AQ"N8P, M>4U6Y_?_1>&X-E8!4ZQA:+S^WUO_"?S71G%D__WEE;;E!8 5P3K]5N[A1PS] M1]+^!]0 CXTL,/SGYE^M:AI^M4U>WVC2^WRO&Y;&JWZU4^"-+WAT\[N%CI%B MQA!+(]4!UQ!__T2U0!+R\#]S!RD%%?#6_4G6+7)!Y(B._18*\8Z++ M7B,FX88)/ H$ 5IQD4IP-!T%W #^CQO&HTR,H)A$?!"_\3OR94)"FOU291VL M>@._(TT9X559TN\%@"Z;^C4P+,@^WGP2Y@RS#546L7_AWO^6TT $TX _S\)@ MD^:KB5LG^,!0Q5_3D>R "*2O .Y-"T2F%F_""K!#_N_OGX/?__LO@L%_>=-W M LK=(=*\DW:'[*E'\^VN/8O/KYTBLASDUFQ-9%L>>,>V[T>R",V]U]\XB5._ M5D+R;?W>Q6/,KE[?_&Y7"BTV@S5;R1;;]/CA//O99-/M1J%5@)U,5C(8^YC. M)RLY%DM7R^5"LUFH5LZA\\3NSG=Y>P3-A6/HMUCF+GV'D7B43GQWAW=S,P5_ M?"?SKNGU3W?4$_B@8Q%H%QQ#NU][@G2"]W7-%MP1":#ML!>;YG.M4"3+ M<'4Q(ABJ8=TO-@=K-G75= $ZF!%3HQW'0.UZ9L[ M_^^%S.'7N\E\6#8VA2%;;91]UH<8#-+5PZ.R@ 7+D0:"*)];N&$ZCY9E(I#O M,X;@)=I .:9N/ 11X2V+F\RS+:&5BN45;=AO13KMG!*1ZF]TF, C=5]4-SJ\ M_Z5GX0ZE)I2:KW23^,9N)KXHVS]0#)4/TZHZ^,O_%/X-_X9_P[^'^GM V+Q[ M??K"AX+^B]V1VSI:E&U3Y>?WLNZM>0>J(2CKU2&'D?]=UI$#V-.@@9F,W\7] M"C=!T!"Y6IQ_;F3XD@T$J%<-=<"KJN$,C-G-<3!2W>4M.&QUW@"F83EK<"E) MSWH\72!GN,QDQA79M0G9VH9+2\HW@60 K%W FG,-&H0M2N_W,@4FY'__E8C1 MS*^=@"LP=?LL4+V=;+381JGG\TJ#K54;+?]SK=UHMI.5X%NKZO\+%Y8MN'KT MOQ"4_V^U$7R/_A #*U;-!N_EV=6+P8K4Z^N^3OT]L'[^?K/4 OH1V+VFM4L/Q$ZV^L9<8P_D"QGX)U^Q6RA8#_91E%C6%96 095Q0!8]T=WT;%> M 1JTF]Q36EJU**<+8AEAYU'J6ZU6"CF:@\?,\8X3D1HG*(3[_#<[:LG].-] MCQ^/)-_!U$?GQ@:0O-,YNH/.E*ZOA")4MY$LEE(L22:*M:?'^ 2O2F_8!C_? M2\?+]X+EX3-9E^Q;#*5^^8(_^>0F[P<[XP7'HQV*!;!6-,-X&[--(*! )Q&3 M=4QV;$P8>>N!OT)!>E60EB$.C!C#$PR 7)L87YOZM9H-6-M0-:9+Q_ORNQ>/<3^P *]$II!";\;_K'[G!Q", MN$[ *D>/ SK(SL(Z<_QTQ)#:WTOMGXZ%&/\ 9/\>]+E_26ZC(RFF94R0"3FX MI\>WY.A@KF4&:P#O#$P::G+'FJ<-,3#L4"GF5"K1E[NI'-NLQ9A(C50K;B0) M&\8_!#8SD >G/(H'?<7GEU_$_G!11[?"E1&LR M4X"1S1N"6BQ'50DU^J%)B9,1,D;048;K#P:O104A0ME*K3_Z/Z_XG$8LG2RZ MBP>6?)K1O5:DFYSI'_-!T R)I2R#%Z?\_'C; 1\.+4$V."+/(CX"N<][_W"T M/:.K$3G#LUHT'E%3V?:T4*YO\\XG%YSO9RL>L$$,1$9(@B(,YPD\.6'X\NVG1XIF(_;(Q!ZC M1"3$=!^_'-3?F+@F=^/AXV_?X_X@SRB,U=."SR?CO$L^(5UA];XS&UA Q$S7 MLEWDU78,#);PL#%!_AC\A70ZVO)-"LZ]U]_ ?TOR(I2S(!=1+K^Q0ZB6JJ4ZRT^Z6=%=.%XOC24<*'! ;)VOUP5;Y2,\(-']RG/1!59!I0K]+6>R]:1;@I*?J-W]PW7+?%N MURU%W5'D:PL\+'H7S*;_:;=_D;AN_V)\E]X^HGL7S0@5SD@X(W_JC'S$.+7O-0#;)K@ M>=N'IV+IB 7KB1 *.XX.=44VI""4X75U[@>PP:GR,M?=8B9O81-T=QCV;_P. MQPD4CHEYV4M6ROP+&W3?+RZGGJ] O_CQR*O)*H):O#L8J 3>K?1BTF2BM12<3W'KL&9RD[J^J@E=#D\G0:5 <43 MF5DW"6>*?&.FELYX7[!66O'-Z3O"5M'KYU-V#R#QC;Z&3W?PYG=!%]&F&\ & M>CV$MN.X'$9Q$&O$V-I15(&*\JL(2Z,0!\ER,71GY M+1P#&X"@ *PX<%TLSS>A?58_:#_P8JPY/U:&+RDXZ&<4:8^)+KIST2MJ6D M'M@@2+\^[\B.C?V E4)NQVP7&DM[9*" OV48O#/BG9=#F?*;_46=]5\.1O/7 M+<;K(O:#7!OR H.+#1X@@-"+WGEX9NH/T%EWCV17D^\[O*V@R5POP:1G]MW MK\>L^PQQ]-V2M&M9L(_^*1&D51W><>TU?V]!U<^5?(=1U*6]00G]EZI:*O)[;\5XZ"=H=_1F5?3*UVF=D 2 M H5#DQT'RA10H9!8AHZ,ISK'T)V3/M/&=[A_7#_%WKCN8YU_V?# M58$_0S0>1:JA 217Y9\52S/2PGZ@C[%?)$7>!:6P% )M> /!W:!*_^RO= M .R_3B_T:W1'9 ]TP/K90R718J/!C$@Q%A<=4^#[ >$& $@R9#S(UXF(+F<.=3S$X[Y&=/]@:%'W8 MBK6T-9"U-3C8^2V" + Z:"U17R5,LHRI,UK^? <1 ?#Z)H*AK'L./&\;&X$G M$O_U6@^]GXE?RV)O%GB]?\N"" $$A5_IZ[*DK'L:"BJ3081< IMU-'.WOD^3 MX.DAP41YCJ8)FJ/A1VX0AT(=!3PC1@=P(1$?OMQ3L2)%9=I[E.!Z9VA4BX_L M-#(#2:@,MG9?!KW1^(%I4$V4E0=EMSJ9YM0Y)FA#CM*)%&WM6&9'3(-5.=6/Y]*S/:)$=&[.'UVDW&I M)V[>07 2OXN_ZKL/"7X4C;//[QLJG -.Q^ZM+?+NH/#I/$EQ0#QRZ0-\T\!? MX _8#$O>G1OFJ<+'-V';,'YCF^WM$##+7KY8[NJK4KM;I1 MYM7Q^P<[3JA=WX@?\7:3/&8$_J"3<"RVBYLV$LP]I(V!S$-&YQX/J;AH^/; M;1J8.RK$W2'NON@!AKC[*YRS&05V]CBT MZ<<*^?U=!0SY7X-0H/-7D:=+4^\OZCPBIEQ;UH%M/R_J!/NA,7D05!98[6R5 M)@"OLBA@B/H0@[U<\KV$U5\XZW%\C;_%;VP0;N9SF!]S]E%N.SEB/C6_+8F8 M\\B7]@FWXKL&F2C9$[V1:FO#HE26K'B&]0+5HM_"=T<]I/*Z2:7?;U(/'([Z M(O*\,-P3 GJ+R;LC5^7AKK!S+]@$VAA*(RN)KB3JH M'_Q?.R-!L:^Z!R[G3( 746R/@*HN9Q;[ >?+B^OU$W0_Q_6_&CK[>@!]#]AO MQ].?P,ZA 6^H&S^34G[AVIUIG5*J,?(A-J"M05_;&63_V4CSSX;AOQX-_ZT! M^D<]^/(Z8W]W7J!-!Z<7V9XT+5G%R(1_<=,M$@$+8%/T)^#FK'=^ ^H55Y=] M9FW##UPS4$:<=[[8YHP\4WM*I36A3<;33,Y@V(>N!EET_:8KW=5$PQ&!($,\ M=H/9$#' $>&;HI"TN>J0HSDRX?-^C2P^ZF*^$F>;XW&]#J(ZXPZ3-UA0C?W/ M3:&2W7'*Y1V;'>_B*/VZQ@^@F-WZJ/=6-X]YB5)^UB?UJ?LO93" M/^!->0[&^Y]W98@35,!;:,4Q6AZK(+TUA@0B?G C/X3\?L^K4WYN!TN2!&0N M9I4I;L57%&(H^HZ._0=[_HA&Y7=JK3?HY,9:9./&R0P"OZ.BS\_\PQG+AV_$ M6*[EU".).W149"VM'DWW?QN>6=DH+9,&]YAE^?#>_SZI*_186U27Y)Z%P6#XSI>_YZ/[W"B,*3% MN,!S/!D7.3J*,UPB+@ N2N,QD,!C0Y(9!&^EN./]$'J[3$[:53)58=!5A MNEIIL956\X14?"?1CG%$+P*!7(PD2)R)O5#_:QZNM8-Y7A\BT.1"O/>A[)"C M77,1:-:7EX6^XH5;.^P?O!BT3=XE3GG";RV7[/;9@D,;N9=(!=\1^C\Z+KW) MNUCL,LC]K62)Q>^8U]. +?^+W1&)/YI,Y!U^(<+ZK62A[JA3GHH]5[+@=Z<\ MG?<5JCQG%CVEZ3N\P?E_P0;,B8W,X0?V>HZ9[QCO1ZW'M8W_+;-P;>-]2]]? MVWC?4.3'&N[SX-8S/N-VWZWL/9%U M=/O7?<0KL[G,7#F]X#(WPU::; 9^:%9+A4RRQ692R5*RDF:;>99M-=N59#M3 MV%HVO^H6"Q;2-=YRL(*_>N8/M(+>S>/W:41'VHZWSK@C93GSOW7FGEKN=4_6N70?\Q9L? MV$3<2MW^YPCT)_Q&(0.]Q4 'L'O?!,=W4FN#KV)W*\9:LI'_Z+UG,5[N9:[M MY7PHFOC2%PA?8\Q]>.L(5#K1&N(@N[E7L+;8HL,Y+"Z"+8+ B;$G#N$8)/G: M#1$(5DI@#0)]Q^KD=7IYT8\F;SWOGIS^R-QGM]X.[YP*35]H^E[#9&= Q= T MGI=I/$LZ'-\=]ZG0BL-H^XOVZYW )NX]SW3"K9@]/H3WN +#M (+KL\D<%Y MEY][UVU\+AP.U1<C1G2!N) =.0' M?O)0LW<.=]4 ]MP =FAFN1 3]I5!?KM]\D*^-D=-7X W\8!S];8].(/=^3-@ MS5!97\TH0U7Z3:KT^K9QWHW3F2]L\^V!Y:=T0GW+;M6?K9^?Y_BTL/D#,02' M ]$I7H4@&F#-$0 0/O/>B14L9( !M *SE4RH$VA=I'?Y,H/TBD)>Z M(]^;QL61H8K LH-\B!@[=B%]]^#Q75[Y$(I? MK/U@+M\BA% \5/4A% ]5Z:E5:0C%0R@>0O%KA.+I9#.?+1T3BJ=Y>X1E56-J M?P)ZA]'FEVDP8I=O D+L'>KV$'N'JO34JC3$WB'V#K'W!6)OGL@ 6[!D$P6( M&,/EQ8\<35%QFOXFI5&F+H M0V/HRTZD0I9YG9=\>)21;<&U;8C1>%U,ZKPZMV7;&&8_!]">TZJ085J5\\7F MQV6"YXI7=W$^-^#YMI=-( ?Y,V9'H-Z_IAF5:0#;57T?^G.<>8CE+]( D<3E MVY00S(=@/@3SH2X]M2X-P7P(YM=Q'%5W>739NG<'& 1.\*L:?$.H2S5LU_HJ MF*=",'_>8/YX3+!>L8?+UZK&5G7#FI=&F+U$*NOPS0Z#:NS#-6&0*IF&0(0$73B$@F2B)%?!>ET M"-+/&Z0?8?:7-7K(_+G.$'I?I+D(H7<(O:]6$X?0.]2E(?0^=^C]YUQ&O()F MM62C52A46WFVL78%-DA7L7J8G>+,L?K1>&!9+X8JQOR:UR!Z",KET,X'NK2$(Z'!"Z'V1YB*$WB'TOEI-'$+O4)>&T#N$WB>"WM&J,P)601^B MKJ/;++AHE(HR7XX,CX:H^[Q1]V$GWJL,6ZLMA-H7:1Y"J!U"[:M5OR'4#G5I M"+5#J'TBJ,UP[&P$2>)\.0Z<"<'U>8/KKT[U\NT015^DYJ?"FP6O0GV',/L" M%7$(J*]5K8: ^H_7R"N4U2SD*LE6N\$V.3*.Q\G$YX!6$Y*"=XX1&Q J\K,; M3ZC(ST214^3EZ^8/:^.?#C]0P7<:#>+]1N-,J!5VXYR[(R-?EPWZE[2_^TQ#7A!D2S#U<7[?^'X M<(CCKTBJ*$]^_PW_+%L25,!;2 V-@KY%?)5T3Z&6 Z"$X_\YBM;1["ZC>Y;ZH]HUZO7F!0.6>).X02-;@UV!@-'$7BQYIIEXP MZW)^-B!JJYK^'"AM(4.!,CB@B]0@'VQCT[VLNDGJ710\.+>^0X8W;^[8O*>C M:0)!YE6L8C@ :P")MQ K8%G#FL*/D9)A*.A[T^$=H/D$&1Q21>X="9J0D6RC M*Z8M*!KJ'/;0-"P',W340PWR?:2._4 :A<1_O2SE/29^_87)NJ"Z(NQ64' 8 M#$X-!F>O!A>\@DUE9R3KF#,"F 9X'16"/-$$ II/C(PET5?TZUKZCZ3@H*=$ M@J)N,=[&>%BC"$3L!RH7M+Q9?-5!E#ED53G![JB03,8\B.Z;C-B@"R73K MD0Y=_*W*FG^Q4S+>(+D NAZ(AL]L/D)2CWN$1+:2=W_9 Q0*2AXWK@@-T)5 MBWJ!0098-FV8P/)Z"6OA45=>Y8T[K*!C2%/Z_7N]("8!'5:J0OH(D+H#@,EH M42T/9=CAP=R;6M?/$_.R$DA5J$6AU9#FF.T*(S3#P:1J_/QVR9[!HZFLJB^? M@1D4:.?E4QDI,W&K+)0W#?;ZY7-$P9?/T*7O@FSN*#T J@PF8/D4DC;X08"2 M+NON^B]HZ#KD .^R>,2 !(!/I_PENS/0O!41T]MR$(J;ZU3!;$QXB]IA$T! M%C2-N-CQZO9'']0$38'J^8,S3TTPK:A(PMPBVI'DR>ACNH&G ?; MM2"/!FUYM6TTAN8"\27JC8&-^ GJ'= A@UH6+'5W7)6Y[KNAF \BSW64-AR^ MCM*^1^'W#!>SX0RK(IH/$5O7GA^U54O.0\H@J&,]E>KR9]M7O9Z60%HIJ>LN M;&;;UA0]L?>Z-(=6'_-5;P8(0!M 94H1MQB)DY37WE!6X6](&[[4Y>C7E8I. M&YHFVS;2_$L[UF332ZU]Z[4.!A;4N'.,C'OUTWXO> PN"@37?Q?V7-90=WFD MWOSA^:PJ>*04>*1QX',T, O8WB%YR*BB/!S"GB,M "40J:RA96A>CY>EH.$4 M+'G@BQ%L%[:CKFFR/3*%% /E?BSY; \DMYA+23DL-4YTHZ^)5IV6C<<*$? MAC7 WBBZ,=511UT;M3T=R8(G^9"8EE\"-F)#_6JA0DC5:LNQ^,-';?B#1S/[ M(0+L,04;$K53?K!OD9PKDGL$3_;I9\>!3.AZCIQG?H#&VT:""^?5@Q2Z-\L# M,.+5(<:;)IQ.0X=_>'N)J418H_]Y%ZY$HHDL 53MD$=L^,,8\HMON7T\*".I M=V0+'6\+) "R%U(?2$+7.OPF:O(:"T#FZQKG70KG#NM"2 %_@_*O>/;*&$!* M>Z8)$G1HO69M!HO>O6OO8E^,P1?8@6/^*[^#"?$H.;00KY74@(SD3'@K((.JF(+ M&2*29SI8TH4?$*6QY!;X>_XM97GK#Q?"=7_8+XO"FFJRKO-PJ;MN48,5A 5G M'/9/69I/&PD>9%;$2IMZWQ,M)* 0)T')A1*$JH':7 3 4[D:9O+($>U"U >Y M]=FB06[RUF*P&>!).A+XB6].H0$070_F07D$/+0/@1E?KB A.Y-0P6JQ^JH M/&0X&?'BK5?K\PC@0@)8$UGP6_(MM?O4!7XPLX)D^'ZDOFQ#A,@PB;M08DM0I7 /X M9FT*?,2)7H'8%*!%6$"DH:NJ$-E#'88<&+Y:\'0AK LI3Y6?WGKT\=P]=O": M_0$Z(/O]//+ RMNKM1$RO6M$6[W\S"0>XPB&!@5'1M5![24::\/WNN?9; L+ M/)\[WD.\2,1^;31F;# DHJ&&C 4;E@MA!?^^@^M+4QH-^"#D6QZ&LE&W.-- MRJK^6U0.D=WWW\#RJ+"'Z-!3WZ# 3CX/Y!N5P.FXYX >_Z]%7VUZ_=^[]W99'GTJ].C_L1[](W/;TA&_QFU[ M'?+H%FZL<(=E"Y5D)5U(EK8OT3[._B0*GL8(V/#*&;ON]#^;K8_W**H/7+O- M8[+XSPV'QQ,B*=(#+C:,DQS-#W@N01 T1T4IBB()@HS%F1N?9_PWO M^N!6M MN&=:!<6.S%;OX*3=UL@_QH!,THJ9_!&EJY4,6VFR&?BA62T5,LD6FTDE2Y + MV6:>95O-=B79SA0..KZM;N\;L"="S$J,5AW&UGN,!5W&_#YC/_Q>PU_^6I_P M&$,+<9(>%,K]IA MV+)I2^,D1W#DRY):EYMWE%RDUXX\QA,9U2:RN<(4EHR^+!E3%+P>3Y("/F]H M:KX;+4NSV)0C.?QE22B"*3WVSPL[= M2%P8:/CXH52');=:?Y03M<+30W_:SO4TT(LEH_R03W+4=NMN32RZKMDKM9H/6D:L6B#A[1H&_RC:54E+KI=DAC-'ICL[+&O:&,B M+CRP;;8B)&')K1$MDIEY:E U'"7-4H,:6S"I>+<.2VZ-*%4WB+R42K'M8FIB MT(-I6^]4ZARSW3IK)V=TI] KL6Y*J@/[(1>99"18DMFB_. AHE6E7A;ODEPA M+0RB3_UZG8MMUYG)UHU9TWTDV\W9<)&8/(Y)*BMQ\>V2DXZNY5N/]2@KI\1T M/S-=+$K5.I?8+OG8C#]F>TR!5-)#^]%-6&FY.Y X M\NNB@8ABZ5H[Q"NKFQ MW=&8_L*%18GMHI4TA"2Q5":C:+'Z:%S+TGI<@1RZ@_%*LM1XZ,RK$D[66Y+$ M1/O-$8"U[N 2P^GTGOJ)H=@&HS[S-,XG4^*DSA$[V*26BSY,J4@CPO*/M<<" M3W;CJ1P4IAU\DG_ G;J@Y!4V]T!P>=[--#MYV($=DYKB>F8Q5YJ92C4W:=5; M4:W?F=91T2V>DB+]>%D4)$LIFGI;*$A/4:G;;3)M9C2NEMPIJW9'$BJZ-:QFL2$\5/0:P*N1HFAE:74( M:E[1K6$UU%K;IL0'P%:?$H^<&7LJ]G"H479P5E/.S1V%;^JLVTSJ>+J5CCTA M-;6#LYA&+-K(C32>=6MUIF;*8GP$=1^Y@[/ZIC[5-V@ZK/S50'SV7<8F20BA'X&-:Z M@[/D7EI,/':33[@;?6@.,XOJ9"I)'+F#LZ94CTS-RM&'-D.6FK"O.WA@UA!;9,: M;;Y99=/:2$G;:;&:(9^R_7R=HW;,5AZ4%>:QTW]HRQ8IL+S"X6)DRE$[9HLP MNY(IX("'&BLV,183?O[DP%IWS!;=,9--,Y'0VW)'@:OY5B75&<%:=\Q6I-_B MI4$FPK)5IUU( VU>*D&50>V8+3XBJS7"&=GXW(R7FTYC5I@W8*T[9BN7B5?2 M^C13;?.]7JS3D^P.R<*B.V9+TXSH8K[HL&UF/,L\)%RY2/=@!W;,5K0VKY39 MVD.6)=-T=R[6YY/V!!;=,5OLXZ,^IB>Q1[;J\I-TO:=DW28LNF.VG@"E&YF< M'&&+4HI-V/UZ-%*;HJ);$ENQU4KV@5IH^+S.R1-Z]*3.FDE4="FQ_J[' L6;@B9"_[29[GR]E:*O.L8RP?^,M%[LK&:7'<> M6"MWPN82T+&6'0L:)'QD^F9PL;\:QN\8:E\L\=IR8ZU^ ]8Y5(WI$MHOOT>F M%F_>^VOO*:33FVO>P GA-;PLR@]L0W4=<.2U[D&"A]=<%I^)Z4;D6@[S+A%. MQ'E,!+$WNCZ9"'73N4P$M?=L73@1WZ>;]I\2#6?B8S/Q MR6QD:U/R)I3]'H_P%FF6#:7A2P-+AA7G@3H!:&BH$5ZW(ULMQ3] R:-J]B_3 M+/Z2=WS_]_;?C<' -14:X3\WY,UG!T;>$@+KY_<,+[S!P1"M,2>8?_ZX)4X+OMYR>T?J@H M;WZ7>4L8!3,>IWV,SS,4KTV7\]C;/4(?0KNO1RH( MP'#XS=RSWY#8P+'O#RH;IQ[P#@#Y%=??J8?S38E1MCUM)QCX_F0IKZX/0FY= M.8-./9R3<"ORO5P(MYX=0M^>PK1_F,\[R+",-;PTR'1@&W#](K1_:^5BM?NE M,MU^O_ZU,-UW9%;\/B5]4M.[BFEG?!W.VR/OC(N /J!3/A->?0X=OP+<= *& M/8OEP+^O%>!CU%UTXUP&]K<\0^>MLA;OY^)Q==EIH.,G;?@!A?CK(F^)7+N9 MX7#&8LPB4+ND#^(LXD8Z)>D$J/( M57XQP//]1FY4O\%$(,@:K]K_W$2H&\R_Q^F?&WGFW.NN)AI.\/N-=\;QGQO7 MCD@\;]XCD4OJ(OJ'?9:WI)/F+6L."=GA51?<8#:<)O@6K#F(-VLW!9H;U0JU M=I/JS,I<),/. 0JFIM E1.0M3L3^_KE)B>M9JY]"BL]AF70@*3Z_A<\W23%! M!F),<=VNE1P7.M,JWB0Z\5H'-'.ID?3M8IR(.OI,5^MI-J+BM22'N_&*C,Y9 M,.@6!/R60%ABL5)IC[DY071&HWRIA(Y8(?Q WE($>3SX<.T\ M'*[#3R.H7H8'\A)7Y!L'-F)W6]D=_$<[#&O4/]!_\[OEY4^Q@ @^!BH*#F' M#KPLH[RJ&E,_S1/*G",:[L 9NBK&"P(.2RR%E#2L3C"<9#*>Q M(D'@D7ZI_"H0DG&+6377FS0SA,+@23%7[SRYT4C]YG?B-AK'MS2?YQ,Y#HV. M!TF_3J0YH++48LXO\'FA7VTVC59V-)<0D6AZVSP$^=F\0(IE4C/:H]Q6JK-; ME+S/]-.ZJO-P67KASJ5PK_DJD..V8V05^1FZIF 9.712\UN&X'R0^#M(57$.1P,I1RNEC/8VZZ!TCD MQ(,[O:XZ&BP)Q)'UI3&IBU4DBGX(ZNL:Z[$:I:R!TYW@KAI3*D:D'H\_H"0^ M%-)8MU24"?U;7T,BURK.'MKXX\7Y>-#C<_*LU*R*-G@"!:4)T@XW$)M,1TY" M>88(A(C>)JAMK\T%^@$WF+IE.+QZ+,AQZL']J;Z2@P.//W%==#P7R!M:**6D M>:%H.K*2C@_*"QE_BO)9B4L@5!&-0EB!#O^$/H_K\GD<'%S\B2)[1%?&&S(+ M&KW)J-%NE7'>:-!DI#:)&%V4I!,BARA%W>+XOJWN<_==>/X*_R*.6^_6//]* M&A2[:Z*]?V\;,%S9G&V(S:'QP/5KDB,Z&GPYJB$I@NL2=BE#%;!+K_#SJ 3( M1FK.%HW16'&(<9N=3%%*7P@&&/PV'MWG$PT%\7W.@:I_Y:TN82K@T9T\B L#/>4H*.'1[ ?"MCYPQ#1%==ANN?T!%Q-?KC:%AA*2T[-(49 M59_F1G-DX9$N,TA;;&DA5I*>*KOY35/D;9R)AEZ'T.MPO5)W/*N]1^P8QEJ MOFJ[N&8L&D2U^E"7:Y[8,4CLF%LAP*803" M.=O^9Z'S]S4KP&%G@NHB(NY14$]5,N;:8#IDNU0Q:[:JE:02GZ+K_=!I#(0+ MB"/B@E.S])_J+P@C$\X:4'Q2EJ?=3-&"4MQ1NAS[F)G'TN)$2")91K&.-'X; MC^^+,KH =T &#(%E 1%S^%EXEB+T#%R;2CD:.E@*3D$7# VT^-E*L>S0(UP\ M,VO$BQ4)SS5C,8%3F*'Y**%[?!$F8&X9(A&Z"D)7P?6*X?$L^X?DD)HW'HMU MF:JQQ4)NGJBZE%I!S@/:L^?4+1[;EZKO,GT'WID.#(XH$IY?.+;WX-2'E;[; MNW#J\9Y>L1TO2N'Y*%;%T(578ZJG1D\<)8W!I*U-%LEFDXEWH]*4([STH\1M M/ Q.^!9GPZDEX;N=$:<>[^DE_X@Q"^\4_5@EE0+E#--CY^U$7BA42[&A(B'1 M1VCF-AJ[Y$P0JU.7H5/BJPD>*"B=*-><"DZCC@Z9\?S4 SN]WCGRBO'*;H"XY0=T+U "I8KG@.;E^".G#I>;5*)-C8@ D-6M["7MRU [:BR%8"+*2 M8PNE+CU6![FY!+OE7>U(WY+$$>_EN7HI#,.^SUX*CVK2WRV&67?N:ND146*9 M^H-A#>U&6F+J2 S1D7$HA@Q]71NA+PS]RP1U:^[EVV52^W#U<>%.@S YW57 MB\U\54OU-G]=N9$9N=]1ZT]\.Z=(#Y-89RZ4YE"Y>=GI$K=Q>I]N"V7](CT- MX6[P=8"8#PL[U]$+]G20:[-\\8Z86Y)_P#?=ZY M]' _/'127*-F.1J*:/$S\+:WDS:367UF&I8WI\80&\HZKPL@\%,8 S@.'OT6QC1^\R M!&1)>=!ML-UVNEN<\/.(DF\ "!R\%'?D+4.'9\ZOSN<0)K@[:\3Q00E.\48E M\:!3C3;3JT]*O7DC;\M3),$,DN $=?@=D=-M?W@)<(0PMOZ09\JO*,/%]KGR M/S&=Q7$3V;QKG]8MT4RM.J$-I5AN/)35R.))'4)802^W,L);_ YYQOR*1'C[ MG/F?*,)'SDCS+AF>2..*^Q#5"FV^.Z[FRYP@3E5/AB&PB-_&F2OS:?Q:IJDY M)KXX]0A#IT7HM#@_8/$N?43(G4BO$6DQ"C_1G:>'>ATBBCI'>NGQ8M%;BCEB M".:I^3?T582^BC-$$^\3W%8A6^]7BR*>4XL3KEZ0JW0FB007 0GJ-A[==XO& MN;LHWHK*7$O7&RYQSC;BX60QE]>O?;X[P')OHDVV6V)GK9%MMKMDKQAUX@/- MI""(8 (009!AI,0%14K\B0D2+AXT?$9NIV9WL(CGQR/6353SZ:(S[ 7 MX*78N!\PC)VX!*]$> [C;$#!UN5D:Z[/W3>4N95,+16A<($E\W9E,&#GB3B* M@8A[KH;;*!%Z&B[(TQ">R3@?V_YQ68R.YZEV5DK6<*W8>ZB.).KQ,9M$LNC% M,A![+^V\3._!]F6!83S#43T(IXY:^FX/PZG'>WH-]VV!EGO7+>5VHU9.6K%1 MFY=FBU8FZX[[(X@S$K[S(1;=E^@N%/_PVL#PVL!S S@?DO_F4[K3,^<\SY(: M->/,R"PIT5,D_Y[?@DGL.\)U 7X+/R@S=%AL7XJ)A$+%?&/"NQ0VQ=;C=?][B%?+EF>U]_XE1]M]O'TY@'X-*(RH8.O>Q M.W))$EF' W3N(_ZCK76/@:@"[!#*_KO(8+UQ!4IF6A% M<3)"ZM-,9Q1UW>3-;_P.QW M9G(&PSYT->E;/9UK-/,(9"==9V184)S$EVX1CU9E4:K*4UL<*>-&O%&O6[/^ M7)%N?A.W.(ZC_[;)XP\6XU<57P.9"K;MOD(B5VX6U8Q$Y]AB"M!I4Z"BF3ID M)R)&W,:BS*L$DKTJ/<_+Y=.GZCHVZB94Q3N)E->I6:&!UQIL,<]DE"FMYAAV M2:0=!Q8QX[E"C+=1.M8R;PDCC")N,32B7TMZIGXOP?2.=]D@?D\[7#1F8$MLUNQ4SKT9[1:7N,Q:Q(YW&-TK?-Q+H M+?%;&)DJWQ^:T79W/HUUP*(R2\265*)WZ*AM\]=KNL"#OCMVM^P9^5AK1W(Q5EZ(!<&EY$;$E3C*RY!,Q,+@NM!# M?IT>\N\1[6^Q\Z_)MM96K32%USIL0)B(Z/(BX)X%K0;EK*"G?2G;H7 2LFWV#"D[ M4ZKQWF,CTQC3(%7G*"\OT1ZLM9]DM!LN; +X^ >KA EC^P'5F MZ#H[G_4ULIP_+@OH[M )KRZM&VZ?CL1YU\7 MY39K (>7=2!B@+=TV%1XWO1\O657%#%[Z4ZPI=BP@=0D!<'57!5%E67 4!;D M76?7DQ5^,6[+?+1-SLN1FLIE8B &58F7CIO$F5N"VI>9)Y3',_.'A5FRSL>B M?TH@17TX=6J4L,"95*KC=.;F0NXFD4"B';%$_#81O[Y$VVN4P0S_BE%#,RTP M KHM3P"F&C:ZR ,XR&$A>TG'4!+-,(U6F$;KJM-H7:"'8DV4O20ZZ75!]O,% MEJ T5X!3';;X&=2 <."PC1VJ4"D*E!@A1H8R%LK$(B+FE2%:YL3\_)TTN1T? M&7HPPL1:UYQ8ZQ(=&P?4"*3P4,U0Y>$C*S/QW/CA(=[@9 EI!#]#.'[IK@\_ MU98=GAV^OLQ;X37K%X-AUL_NLY[<[&FZ<>LAGZUZAH-2+ACM0P6ETVK^_T;5R M@K&>7L5]1];/I"Z^2]_%E71EV(M'%;:;Z_'C>A30J@673PD?LI ,?DLD]GF7 M0RUP')_*E6B!=_E3_D@M\"V90=^K!F1ZWEHLS">[W6QR^8[X:/6SPRE2 Q[L M(6GJ%G\[K/JGP\,Y/+Z+E\KT[H#=_[+N M6W5#E&U3Y>>('<"OC_5)E740&0$D=O?OG6C\_1/]4Y0GO_^&?Y:U""K@+:2L M1D%3*[V#:@U4%8[_YRC:99-+2/I9LP3:A5[KM/?W?];[_JP[(X*A&M;]4D&N M#2H@)>GI2@E$!A;@E0@_A.W>\^J4G]O+Q4;BCEJN,>]7.A91 2/P.RKZ'VSM M,Z+&%BDU?A99(]C&&87@M>4S3ZVN'AJV=[SCW@(JCT+&4>T;]7KSXACF/4G< M(:G6X-=@8#1Q%XL>::;6U#[Z;SD_J $>&UE(7?^K54WOY$OT&?(_U,JJ7^W4 M[V_P"*ZJD#I$^]-II/VA**_8E'\/JVZ2>A<%>4]_NKR((N0&TW\(GC#RY=K6382I/-P _-:JF02;;83+,%_Y;92JM9S59K;"/9 M*AQT?%O=WC=@CW$(XPF U8=?NRLN#NY#H[,@2'30L MP^R2*#(CQZ%@R\2JS4E,=J0R=Y3NOAH,Q0F)22H?#3Q]PTEL=F30[-1T)2I. MK=HAMIU=B^D+W81#T.S0SHR=+F6<8WE$E=1:N#)=?IP,Q;)#APMI.M8YN<6' M%*_TR>V,+_<60/?-#*75XLYTY-3"9S9J(:^/K2FI1DNK@5)723"$=5J$1B:X9/=BFX>N.)LQ[E&:HVVXE$F4QI M:>N[A;'K@Z&9N7(E(Z!BN>6@:Y'K$5N_A76WR5//\!4ASA%*X.>NI6N:0B T MUZ*%=&AF LP2V8J[;3SGY#,?\\*Z,R;$AS/F"V* M2^RI,^RR[*_&_4;"+G*-M:)6;=NGA$C"S_#K8B#.MTJC%%AZNTY-.+LSUBL) M4IWAUTZWYF$3/=ZCY7!TD.H(M0P1#@S-$*M(8 D!2O$(G81XJQCNU;*.16!H MAEANB"P\K%_212J)$\]PZ_(6'(\5VH.?5=FCS9^HL7:RS_JGYP\O#U^@^9VT M/J#_J$>]Z5EM3]5,.0SJZ NWP6E,5M,/O.>)G5Z('767G_3; MXQ^I5W-A7RAU+Y[O)L\T;#=Z-F">_XX K\FGH^(>)73ZH<)\LF#2%S\/E97$ MD P#_--.Q7C;33SS]R,N$?,0IN1 XV OM(8' C\K 1Z$>,A3N1@YV MV)23C8#8E)>-2+#IU0(HN!._MA._FF_R([WU[5;-_,*JKXK"N5YR8B6!+__W M@?SPN\LG/V+,35/+F#]T&8^6GJX7.LDOEGZ!=S1=.[:H.3J-">SI.0U/^8-$ MK*L+!O,33)*&%$#C*U/-.J$__/TOTRD$2S?T94?SGPKZ7M4W06&C>\?^/05- M#N2_[DAP,B0Y;F3VYWF1P']7)##L(XG=M4B ]*&O^?V.=OG5E7V?!93O(..? ML$&1O7[=.PQKH.]T)]8MQ\ZW7*- ;U:I5F\4U(L4L:_Y)'X-47JN>NP:Y#6 - M$S-8ED,_H;SN\7O5#@%].=_7D_]IQR*^;[/.Q'Z?D%=U0Q#U?:1Q-C_OX%T0 M[06YIT7TB6:NTLD?0D3.Y.8J$)'/PN4\003Q$B((J5S4) LAT9*E5XL;QM/* M/9RY-434G.)DJ88&QY=Q&F]6^MJZM0+)&R O%<>?2/:UWMRYLP'/W5GOIRU, MO".Y"O_2 6'2%B?)MYJ^\1+RIMN6EN3(:S>9_^'XA;]TH^2GOI&3C=7MN*#H MMAM=HN'!K5TF;XB'=UHO^*,8S^/!U74U&B"'@E%S72U-FM>]G:GJ_C QL\Z@ M4JD73^F*Q2SY4"GV>9,=4#6S+Z4W!N#4$X5EVY! H]%Y7 MV?@EZ26[;I'5-F[5:A755HL:V*BG15)Z@0!./+'D:U;'??I7>IZKA6J0D'>7 MJ @;4%<"#:G+&U)WK4ODJU_S@ZD7 ]W70<@J0:?*%QGD]QM0!'8&HP:CH-X2 M^"F-;BLRB?4W]4 C(BGMU$Y03\2K9@\4Z+L4Z)OI(>]<\J_M!_DUR2_V9XVE MZS"4B#04SR@U9]2$X:2TD3O./)$D>=\.CV&R7O^ID'QGZ4%Z&[.C%=235ZC@ MAYN-ZUU..7ET 88NC'M"FNOJ&$/=MH%#U=$ZS\+U?9B9-WVZ[[EBA(8K:X=Z M,P/IMSDI;?).T$_,=2Y1AD+Y,(N$+HS+Z@F_)+WU"5OI8+:Q1F.]85FE5J.+ MJZ"J%"@)Y!.-/9X+HZ8[NB?;QRB(MC8=TP^\-,47&CYW;OA 3\8=:1DG.4QP MBOM*"K\/5@V<&$\ETF[P".^W] FA\KT^*&P'T1+\":5?LVB@2-^E2$-?QB/J M*+\N^Y5(CB5RJS/H!,458C"CC$B+I&-W=O0)8UZ+E-Z!-Z/R6H(&-)A^";+R ME(5V<94$YIV]D7[R4B(!4+V0QS/XU*GCW)(>(*$XQ+=FT]M*7+'3EXX=V]$G M]LR%,E"J[U:J;Z>50/%_(Q7EU\1?9&O\3J7BD;4NZM)NO"KCPFXAI=W>+WVO M7@[<*)];3U+I\X\W[10,SUT7W(U^W*9+7* ';2_H3GD8O+JNNB(DN(IH MBIWLTXYOA1Q?U6D+\RN1=&RR3C[AZ)W7LC1 ];+N!P7]Z ^"EE)N \8PBR.O M"L&S$'W?I[J2#N,9/2YU^%CBJMQACX>3!$8P- VH$#!QXX[D$"9NW/W9_V.! MQ6B\YXK^9BK6=F6^U=?H<8?J X%-TS6HQW(R),],+_4MF*DN]%1P=%AL\NA5 M^V_@<[CU>M_X#NXW=D, B>VZCONU(?-]3!NNJ_,(YQL:&C9JZEQ>N_T-WP>7 M EY D_DS]ZN<)TB *YD8I;T^4>.WV\!5Q ZW CTM9^ %5B! MYZ99]L\VVQFD:MLL(@OKB4OSK$Z=N\HM&D3=EJ:N4S/VTV.. ^(,@#?U$O=J3\#[=-8W/&LK%(S>W M7AJTU*"_)@<(^18*4H)\)_NKI#NZ89Y#-X\>'HHE;6):PG1&,"M!;AWVZ26+ M(-_UB:99F$CRWJ .FWRB1EOH57]#&:HW*B]"P_81%R/Q9#TET9-\%/,2#0B M\HE$Z3O.6OG&<]/5@Y._!MITOY_E3R1RJZ77?-]W"^E,WY"/V&OQM&A$+]7(;09PG^X57O:]%KWJ7]A2Q7]!QWW6YWJZ-P133 7I MLZZ+?BG:Q-MM<^F^C'5ZN]H#0^J#3>5VK 9:3Q METW.:TCC--SS-:O=W_(ZX6D4JB.+RBH"TDBETGAY+W:>6CU43'##O0;5]#M7 MTZ][@>J[0Z8WU1-.,G@&FRJSL26XC6&1KTW61E2O!]6IM) P^OJ:PJT9&@KR M@UG0[T#%^+X@SQ5/GXI./+'D5:GC-LSN8,"F@GPM)>--F7:27CZO:XB MZ,F6K-?@(M+ 5:V"&P8^B$Z .4!+)K>6S ,5.MS03PWY,M=\>5LS^^V]R'FR M-2_K6+ZUHO9>%=3'CG#^=MK%24=UZU1O52JO51%GRE3-I?CF9+VX9?K4LV[& M'56S;KA6=$\P4H75%[ZH9E_[Q[YD9N C=TNV.Y.56,.)S1!1YYTMTY>PM,<@ M1F-/!'K%!*M;<_M[E7(8]KT9'%PW$>M/X: 7^E5GL]\V1-/9DTCL3R;*< '@ M "1J4>0316!W;,Q>V3W^Z#)\Y];!?87$[U;W.$E5!G/.P(VCTP-^8\\57A_U M_-YF7;GDRJH(:>ISMJG'Q8AW:B.B2G5>#)CF^G M:D1!UE:A'ZQUYW)WQ#PZ9^?O7NV+GU?Y;0/XG\>XZN6K$,6+#LM'J2V?A'8$ M!/6X1L[11E_$EOLLM8F&+A@C>9\HY\D_3*9RKH/@J!>16TNB^/*4K*%*=[G7 MG,103CMW%9\H/*ND7^ZN&(@&=XT&F?9=N4*#!S.WKP8-WR)"N>EUUOB\>A## MP\164$P6CM:V;18J?M(:*3IE$7 )Z#WF\(X]\-8,68@'$@C]M MH/[.L>"ZRM*O80&V=H<-9DCL+<2D1869ZD*=YP 6 (V'>"(HYDGTY_][.?@)5(>1C\2Y/\57GP&U,B0FNQ*XFT\X]A%X M9]?)7T_+(J@K;=(W4OR\-> %-CH^-D3U\E MMA0 PH)K /$.@!1_YE#Y9[CT:RJ?(Y^\.^4KR82BT&Q5NQ%>&H^1GA^^.AD)UF&Q/JRY<='V9 M:?]@P9\G67@YR\*7:1:$:N$TT7:%'PP!8F'T?PI\7VR,9H5_B5U.K#22?_/7 MBZ5+F,$6M:*,26R1)*2BCN(2JQJD9.@HJA2I(FG@S&G=\O,!OETMVF/:K6TM MH=D<] *YW5P*'% U,D.UX2H>[@[.3$06GKJD9TMUI21Z_YFAS(Q9B1S'$RC2 M'ZJSN+)C*_8B45JR0Y6J,U\T\.E,#*62IN ZUR@%G%24,/S;H?:FOMS.5NU8 M1+!-M]QB*Q33B\#0S%/GF*@Q!K+51(I?5AKC\FB)E\%0'/MVZ*HZ&@O6OJV) M<:FW;"VW]M(Q^A(I9=Y/#M5FIX;5#4OO#1HMK[]4=W*4C*2_'1D63<.G*@V- M;QU$9#P=2W0_&E.-F7V#Z2 MJ'O1!*.18%#II$,SZY>]KS ZF42<9M1,C*SJ&EY(#0;/<46S6:) M6FVJ/%WBP#.+WXZL]TM;B6@-1F)O.Z8@6CBG8HA M5$MV+0#/9#/XT8AP\,TO])=O"QC$C>;R^K>VZ77:T MFR74I\Y0W^?)Q78F[\L6WJD;DUJIRDIX'PS-4'^VP1K5P38@15GN&65QQIOA M#$PU2WUU,6Q+=);Z+F=..Y7D@:@Y'J)^O[%L3\M< M,C)#4ZHV"ITBEX#%6AJ45G%YRW:V43(R0ZF=(I1$:SVN6#+3J#+@XFHT L_, M4LKDAN,:8DQ1$6=P>C6IM 7T:BSK0V"5B0Q64K92,<; M$W%1X+=N9=[=%O'2> Q&9A:%EAKX<+[M8&)8%1N863TL"*R?C,RL2>"*^]FF M'N/HA"];$N[O.L:02T9F^%0AI<4^XLL*VN(W@J%6K9TI@)%89J(4KD^4];C- M6BUW4EQ.!-(+]V"B&)&1J/&AZ54;*FM1!(]T3-+ R'7Z5.K;H81:J3-&/9A; M-8K9$M;<$\Q:)+%90DGSDD]:ZEX4:\VM4:Y*&FD%8&2&4(@;8;6)59'Y]:3; MV[::R'YN+I*1&4+U]>6R93=+1;'&=(=.A5FVW $8F5V3LIC.C+V]C\680^8U MLU)E:XMT:&9-ZMSKEEJ*N17Q[6*Z5\S93IJF0S,\'8Y7;6Q='W>LK3_3J;ZX MLZM%]=3@T(4;AO7 MT'1HA@+E]P@RA,*'$EQPD,JE$*!1E^<78KL831#FI&:D?H23Z]VW!@:(8( MW*;$30FQ0O RCY51LCOQZX?TJ1DB+,.!6:54)5%!)M(FB.)H7Y+2H5DB["0G M#"B_5^4I-.BWH@:-3\-^.C9#A#'G^_U1I"3ZRGBFBV:9B)73G&]Q M<_),;>C*JW*LR0R(J\:TZHAPV,2:U-^G0 MC [3VG0W;K3=ED79JCFSHAPMU,T"#,U,()K@I3T3M+M\7,,/U+"T6Y?0]*EG M3(@H,H>=A4KP88VIKCAVL9ZN^NG8S#ZXK:B&<&WD@,H.1RM3Q1>]TO&Y&3UF M78\KRH$9;?CM;M:<+ [B0$I4'NRF"K:P((@+=-+,* M@AL!KXM+'86)--128.VDI8U[ET;(9@89F; MHT'/UZTR4Y+<=H,W=Z7C<[.*GU/?2Z,N6A:',C5MUC&N2Y;3Z9[1_! STL2B M/[;*]3#8(<1R(R1V#W9&]5/'5DERFJJ,RMO:)JZ5B^9!B<#0S,J$X:3GA%M) MY(49+AUDEY#F4A\,S2S,7BN#&CN-%RC5F76#@3*;5G;IT*Q$&B,J,?OU")7] M7NP7,9,94NE_-Z5SR-S2!CK==L=L<;14&1Y8!M()MA9]!.F]QDIN MB+G'Z,'!,FV#+"[Q MW;)-16!HAEX-I>EP_4YS+PK)N>HK<7$I]M.A&7H->YO2:HRE&+L0)0IJ5?CL4A]5T:-8*ZANT,<"7-$]5_+C=9:>'VC8=FF&: MZJ YD)G1'A.W(TFHB4[D$4':3B#+-"'I(FH)J_;1+2?B1E\,O?8D75>67CK* M]7M*2(>B8.GS(LG/5P1R?&Z&7FW>ML6BYVM665O.JS''=!6YGTACEEY$?[18 MT<4E(LH"2:+;"*&C73HTL[+='D,2U:;3$05)]OQ%Q1XW$E,,/Z?;.8L=,AD/ M^JAH[H9;MU@V&GV62\=F5C8B7+D_:58?D>!1,TC*A+,%8PR/*0FQ;5B@Z[)A! MM5Z+2%>6)=@L(B<]6E';8FWU!7>3#LT\5>=*&KE=Q!6TU>:G5F++[>N3 M/AB:W8?V9J4VJ9UD#??6(*Q38WZRXL#0+!&*Q%JR_49R\FYULK)%U?#0IJ-T M;(8(/8K>UY31T$1U;"H0\GK$;(QT"EDBH!VN,2I9NPZ/2#0:-LNEHI.NM79-5!#Z!4Z]Y<*-@KJ5#,\S8#^*HJ"WU'2_$U:T\L0;T9I(./:,R!A4I MPHSASC)[O0VZ(!M=D4DS7+/,N-P,YW[?D/L\96SZM9'@5X![#C^G,AXBQIC2 M?#5&6[WA&,-'5NB+:09)9@I^:Z4-AY/^ L71VC;L8701V:8!YHP&Q,6Q3R!# MLVGI/:2%CC2[2 X78&AF I-X/]J;,DI9-:'7ZY)!3V@MTZ%9#4@L'M9:9[<; M\KA8HQI1DQJ2P7%L9A]:[14E+9M>CQM(7 M$:X7#W>3!QJV&ST'4_!(W/!^[QGXU=GWZ^4<)..A'DH#[DK]](3]2#-R7_.T+E)>\[@M=A/N2 MOWTA/D(8R^&V0!C+Y[X4/[[:+09N"Q07N"]?G?IP7W*X+T5HO>1R7Q(<>[6Q M'MP7B&-P7Z 7)N_[ G$LK_L"<2R/^P)Q+)_[ G$LK_O"O-IP">[+;?:%_HA" M_U@.]P7B6#[W!?N(P7,_A_M"?:2AO%QO7WZ^K]IW'9AOV_S^?,.0GR$3\PMD MNFH(Y/I-=WZ%))GR_#>AT8_,+$@CR$>72&:Y&2C?CB0_R".!7 ,EZP+Y%9!$ MD(TNX>>&-/IQ#@"DT8_])I!&;R5K=T42:&= T7IXT8*2E!LN>4^2I+HV^/)_ M'_ /OQVD8J[+4\RO.P]?:[?)J:<;K73MFCF(ESRVSQQ;+:: M_7DA!OE1_..!&.07[WAYB\##7Y*D]Q=W2._HAA&'QXDXW)]" M ^,0, X!W1-0JX%\E#,:P3@$C$- R8)Q",A&.:41C$/ . 0TVQ]'UNZ*)-#. M@*+U\*(%)2DW7/*>).G]Q2'*[GKCZ4O=\^,_/RS^XZN)C,%']79K!$GTF82'$]3?>0TU4:V&9?\%W;U K_0-,_=R14 M97>]=IUC?Z]AX*K6Y< 8'YG>7D 8IG)N^HZ_9.!XL$[Y,='WGYTN]W4;X0UAP]QX]C(@R7LJ?[]V)Q MYIB=_AR5BQ])\I%8BUN[H1- UKH14J6I/8_#31"H<@-49&JA/@YK71JHKFN, M7'CQ5^85ZL%XI2QOS$P,##(+9)9SY.)ESTFF=\%3"W++MXZOQ^&68R;&D5PC M>7])90>RS;?.K\=A&WX;FD'\Q_XP15:MA9)%380;4.7WLYO>,'4R9W0A/I+?4J;P7W.? MS-RI>K(*4HX+H6,& ]WXWP.. %Z?_D/,EP9 P7"(P*>$T0@I]9"'+&_"P0%\G/^AX*FJ^9:MOW_ M?4"(#P7#]=9R\+\/YC[XY(1KS0U.O_]0<.1U0M;3"SX=3>2&[X>ZEJ!CLJ?) M+Y,'F-K_/HQ4:5_76:JSM6,19X5-AYSYRW#6EV@)__ W1F-/&,7\]]]?$PT* MTK6+&G,&N_^\5&EBSO;[#P!"'%8DE/*H30L3JE:,+&S*D/L#DN+N#!U>!-&. M,SF#$>)\/QES6H7@3=U=NV%@UE1ND6 $F6($Q(>WPX>C_S9?9+F+<_8YZRUE M^*-8G23**2]1@MX$F&C61_U%?&#+"A#CZYRW6V_>)2>U<@4U<;4^5K!U-"2X M1);H#W_C.!2E-SUJ;T.7:Q^UQ3PJXYF5%OZ5KZ/V[0#BW)&;T"QYS!F\&&R: MM,@9>$.L;6J*L=I;)+$&^CF&?OB;+A(9Q/CK8LZAO',0A(R+0<:CV>]OA!E? M*I=!>G3#.<6!3K@QZ'I+HSX)&N)P-JY51VS8'PX7UU754;LRZ=3GBLE3,V4@ M67U3HM0(P 7QX6^&9IX(XEKZ.D0,B!@0,7Z &,]Y\<]!P!-4(&BE+**>,;/, MO;!39)8+9GIT7:@8T^SZ=0025F/V MDR$-$##4_>!9^1 JO2)O5F.^97GE!=&TVU[OPLK'=XT651BI-:IJ-WESZ-27 MNE85_6%JM+ ?_L:?&!2:+6^)+,>>O@^(+,?.O#G;\%LH(9.)QVT;XTA A]B8 MZ8WU8:VTO+*IL98K85%%>=VB$+&Q6K7BC6RGD4,0.GQ":>*))=A7-(A\U>?\ MD&&KKJ?ICAH7 D]V?%M.-U365J$? %"_AT3D>P"MVW=C.B?(::$9 M_A^XR8_2P_^]"=GW\QKAPC]]!8\2+0=+MF\M>G5]SW5@.\BM4^2"_ M0GZ%_'K7_ K<\@_!KT='?*[V\^)>]TKHI1X9"9-2WUA1&KD2<7*4%=_6![_4 M2[Q+[=M;2Z;+/J&6!:>V^OU<72%8ZMY7]^(=B\- R]Z3Q$X"&T[H_5"8E(_?O&)PLDK M^O%SQ:>W_A]"P?V7'A[3N@N>O@D]=2G[N@9VJ^#K06"G M!PDH.M37&]N-=;T0R/M"9 9+$$,YUGK#-.[W7GIX:3]=SI:< U;(9?'UAO,\ES/8TZWV!HCA^344 MU^.E@C7])<-P"?: LC3LB6:SI:PPPQ,"$+0%KQ.CR=F2<\ *4"*@1.1HR3E@ MA5S6%[T]&7)9C00E M;%W(P,N:RBN;G9=J&(W67,+;XC<*M=H#IB6)2&],P5 MVY,0N'J.M38_,+?NK- F)1>BI#$V-;&2=<<_%MGH>_!9AYG.L,(&;C*LL('L M^GCL"BML'G^/'R@#'%;80'Z])W[-I\J7YWC3+TR"EI,VT6'JKHHEL(I MV99_OS7DEY1,?^1^Y\UI6D!J')5?V$8#/5F$G^SZ4/=VIJH?C>L2R'HWKLNJSOH (RX(1E;X@.<$["T+1C'(X^T=BU4@D@LD!D@2?A??$K MK(6"_'H__ IK:!Y*<[MP$E2^V6CO25CA@M8#X M%/9$L=G&(Q"+(!9!+(*G,RRK@64U4")@60TLJ\F1OGKA(-XE=,R]VJF.Y]AF M)YK#E1BVJJVRU%BDGG'\QSKFG577?#<"M]/]()D)","!'J:>J0:Z=AH'6.)R MD;AWCH_Y3)6",;978FR#SP*1#N.BA!0US_7],V@R;# M7J4/;NL"G3*):YFK4*Y@J5,N$.(F?JU;P4.J9_P*.H@KB2[Y3(B@H3,>VLO2 MUG* /PN7R$35@-@ Z\K@'L-L>EA7!OGUGOCU]B9-9FWY;O.8FSC<:[J+^;W+ M #AO7>W0I4T5I>J-CM!F=FZ+2TV<-"@'+P6!D'$'D &/.%@P!@O&(+_"@K$; M\NO]ES0]MVT[A4H\_650Y9O[@5*5L" #)0L6-L'T')A.#BMM8*4-%(CW7FGS M^\Z;A[\2Z-6P]%>S&)P4C]<<-_VBUFI7EJ4&JN,-.CSP2T>C^Q)&@#N#B&SI M^84<-U 082KUW1B[BI'A4L2R:^H26L:LLL>UM@&M'3&)^!XF MP0O-("B]1U""536PS@S6F4&)N#4KP#JS^ZHSNT3L[Y9;V]6#@NFH[AK>0'19 M]<;U--U#CH,_89M]P7=M4RO\ TW_Y)^/(1-<($)W8R9XN[*>6Z\4LGL.XF^0 M!]XS#YR\&^\!\HKPB(=IE>^(WZ%*"_D=\GO>^3W/0;2!'LBFHVN\[#D)H?Q3 M]*QJ!H2H*G'9JFE\-1H2GK='?C]ZUM6#1NK+:)^O4[_X AZ]3,YJW?./,SF#,JU.W%B-C0QWDSW$T;W&;7\!R4PKQ_I MAWY91^/Y:,3'^U9,:7P4U>4%$#908@=E+0])Y#<7MFN?YM\MJKOYRF];[7(O M$'/N5/]N[8JISD;5RF@OB\,Z5B2=OJ8)2GJ\'^OIL&+6AH"U*Q!V+@\[[\Y1 M\3:X\WI9G5H<3+%5Q>^CU!#O"<.#O\,J?]CH^D<6Q1IKBT/)6$BB.8KGGB.1 MU)COIY!#?/B;8=DG@BS"(EZ(.1!S[A1SOI.%<#"BN&]8PZ$53BFQN>-["\?X MPQK>'X'-+"PO1ZOQTA-K@M#!)0_A"2RUJ$ J HY23Q@!.P;DH13QYB)W;;#Y M;O7AS5=^SW85YZIFPU'M$)"EYWI@1EP0>*82!G)"Q)';=1WP.L^U[61((WDQ MN*+JA$F&;RC1K?OOM]A\Q_^QO@]W:I9Y&-L M_+LJO6S*3BA[<0%[*N H3L"*2]AW^YI5&!A^"I?A?USQ-/+\*M8\-'TTEC;K MKM-MM&CT#U*&7B^_6/=XW%ZWG;F%3'N1UR2#OK[C)(Q.*RHI\JE8S ;DH22] MK_OWKEDP>:<(\6O!]!S#P\]$X[N!BL5XW?4M9,B/2%SPN"D> 9 @4Y" ''[ M@L@[E:.W.VF_7XTT=5L45?5Z'CJ4%LA$'#:$JGVU@D><+XX;7!CU+=G&)QS" M;&2_G)ZXH.#QM906*$OOX=:P<(\4LILTM>)*R1W,;Y<$&Q M]8A4HU:T ( !ZA5I%E8K0LR -ORM0./U8D-EM&TX2(3UQ2T_LC'5"ES;OS!P M?(L7]GR$,!T4EU!$M]&*UMF&HAX9Y-DC\L]2/7=KG%-[HM5) V!Y]L]0?5R5N5^E6MGF L MVM6%&+NJS]-X;X:6^RFVL!_^IIX('%HNN2CUNW=HN9L;':^-+=-.M,6',D-: MND[L.&7%R/W1E:V-,=]DV_6IL$;+[:TVT<:*4&NDU@:HU&-HZHDA7[,V[NQ2 MRZKKZ;JCQH7 DQW?3OMS%V1M%?H! '58?/ HN9?P>K=W4&=WV1LK M(;L^-+O>O#(.[O$[J'.X\(V2#\VO#Y.B"_GU7:A\D%\AOT)^O2]^O77EUX6O M$,P;OU[YRC3BY95IQ-LZX:<.NU>[S+#'QUAD==8#>M_T?S^N)P1+W0,S]?2E M[OCF3O]R7=O).U4^.:=&P#=U)"CG:*,OGBKNLZ.JJP>",9+WYUKUD:87>J.5 MCM9(=M83>I32"B()8U+_/?:$L02\TO1A:^TN?(7C^\:;+6X8 M3ROW<.;W'?-O!@$&?="F^I1QT"[K_@\)C*7?#T M3>BI2]G7-;!)!5\/ CL]-T"IH;[>V&ZLZX5 WALD,N*N'76Q9^7=28^WZ1!\Y8P3@0E*9HQL--?X&L MD3WV^WV.OWK149'@U&1FWMFJL,X2VQ0GJUG;"EOM[61%C";^.-&TV+0J#(55 M8>\\7?O"X:"\[_K%\S#O"T.TW?*8?37X8GDD*P#NIX2VKC:6[5"OZ[;6<)[G M[=4M,ICNAEMV%Z3 M$1; D@%QJ!]8,G=689)2"U'28).:V)^ZXQ^K2_0]^*S#%%]86@(W&9:60'9] M/':%I26/O\3;0.EU J[96&84\LB\,D9X@L]XDL\"2$14#W M5 0$^146D< BDCT>-9%NM MW:J[GXEEOZ;L]OO-3NO]81^ZXWT:+T.'QYSJ])?"45CXDQ2=2[#6L6ISM9X+ M ['Q MI]3%!JVM,1V@$VG3L-SJO"3Z$< ><'\61!Y81'7MF%O.EIP#3LAEEO(M!.). ME&"8Y0DE IJ%]Z*6O6G<\!(J6M>PA1ZQHXM6JW%P]F47WY3GJ8J6!@*?Z*O= M<@JQ"&+1W6,1/)W?9;'1VY,!5B7E8\DY8(5<5B6]/1ER6;YT>WWUPM'22^B8 M>,DS9ZM WEO#4KN/UFVBR>^/(0C\J&-F+\2ZVS*F[X8Z=[H?)#,!D4[0)-4S MU4#73N, 2UPNY/G.\3&?.6DPF/E*,'/P62#285R4D*+FN;Y_!DVP0XEDJ=VT M9-668D-J'(KV=IU8K#@(:&+,M=)6H5S=OJ;L1J'*O$$)+$R"Q6=PC^\LY?Y6 M(:Z'9FR8Z_P>&3N?"CYD;,C8D+$A8^>_FNI6T0O(V _-V+FM3/69"!$Q'6$<$D#9A4# M;8&$+%(CW7F^1(E P'=5=P\M^+JO>N)ZF>\AQ\"=LLR_XKFUJA7^@Z9_\\S%D@@M$YV[,!*_1 MY+*7!=UZI9#=0ZA M#?1 -AU=XV7/20CEGV)GJZ7NU1U7&O"MU7C55^B1A[._W_"@JP>-U)?1/M_' M8&XBPUK;H2UT6#47JS#:\'2M+^%%":,^_(WA3QA]Q=9[[QX_4E__>\"/DS__ MSO #GI?7\.2_!WX_>>OOC-_ONDG8CXXZHMN4ZQ&/A&A+U?;EWP M9__]MW*Y3D8YBV7E ""_FP?R-9 0"9!H;JC8^KTCR2_D]'.^)!@7["R&;#K3 MRD@9"7Q-J"_)+NFMIQ+W^TEJZ4H:WTN$W:F5,M,O44.>BDJ+3K!H;WNEA823 M:;\PBGK"2'@)4AYJQ6XN::_1Z9]7+ ^[^<)OK*SD'5_ HY?)6:U[_G$FYZYX M]-K2J54J&Y&S*$VMX6-Y16Q @1T)"NQP*&MY2"._ MN;!=^S3_;DG=S5=^VVJ7>X&8E'=J+B?B@MIHUDA61&7*M:KUYT_+*K[D3V! M[S0E.DP7G!@+ K$8L<9R,C@"#O'A;YIBG[#BM5J=0\R!F ,QY]J8\YTL!*PS M7W&=H8FB.*Z-)YUPNZW@5P:;Z9+1_3@N.=:::\C3"7H8[^3419JF(A#L$\5" ML,E#*>+-1>[:8//=ZL.;K_R>K2K.5A@>NO*P]5:FUZ%HK-$!(I"B MN6(<86=(N%E+/:L8^^%O\@DC"&A\Y:$H].82>FUL^FX=Z,U7GC-%:!O0W)+! M]D,Q-!H+T3^LAZU-=%T=AF/D/:6M2!*ER&U1,^I.U6VD!A/(,6%1X@ECF1\E MF?P[1<,K[(JJ T1]R0D%6U02Q92<&-\-UW4#WCQD?@9OLB9S -;@C MKNPZB2S[QT]I&I,,OJZ:CNRHIFP7/A\"_L=T09<6IV]QYL7 Y)<_B3J?)Z69 M_L:68[ /^G]^;8;)V:0CRV/VS,].$?WY*?Y;,W=__S?Y\?P4U=9E#^#"\O2J MSS(.GGK"0Q3]OZM(\M<\@S'/L/99C*D7DTY__K^7<_^"4XCJVJ[WZ1F,7BSJ M1$H\Q:6%CBB>+EN(;"3O_23;D1S[IT4RY,^0%O4XHB-BZ$23??"3(+]^E"/;Y2]=//3.?/-V6 W.G@Z=_]=QT M6P)W\PG'/E* )Y*_GM95Q#[2Y)4VZIO#!B]^.9+EPM(#L/B/D5 ^RY;@<\+^ M"?S9_WF9$';ZZL/?(P!#(!NL#%#6 7=#GKA4_AE._9K4YR@HI[ IT:QFL*BF M2:A,DU*QB+.28K"JI!+)]PPI*SI)?#B^]4T@\=4\N4IZIH[!<^-"/?D.6,VG M#+E$N?WX.4/NN+BRT*WPW2%?23X,A7:CPHWXRG"4_.SPW=%0J):Y8;W:%BZZ MOLRT?[#@SY,LO)QEX+@STGD=F1_4Y-G(AHUT"'MM-E-X+7'+4BBSQ6K FU"QS+ M;-4B="'1V9%1I"[78F70YUOH=+["E@U$VT42DQWI;KI3C_?;([2,3@_FD$UF MVXLD-CO2DX=5?&07:VC8'>W]Y51:EX>1A*'9H0T.M=:EO=M"M]/8V'8HXBWG]HX5>%&(Z>:\3]6B&9$, M/<-/HY'$[483Z\"W1HH1MCUA$OX=$S6C4+FVC85 *$\8_ MPR=3J6Z-I[Y00@6E3%CU:#6J5#@).\,HTWUJ,<&2N9[9 MU46C;R]'5#OB6[B,;,28HYIN,M$>FRM=>C )O&3HF7W= ME4);X56[:]7$+E(M:<)VPB1#SVSL7N FMN5LIGP+0 T>.T4GH2M^9F/7'A=C M-8+DK18]ZS3T,;,9$QRX0CHSE&P:QDPGM+FU]3S&53P=FMG8P'4.3.SM MEVB96.VGJWU)'G72PJ[,4[F@&RH)YE!H:[R,L75E:+>$U/&:'3I93T(:LQPK M86V6#;>(PLV3"9S96"$(4=/56PUK>V"ZQ8,>< U\ 882&=8.%Q37I-@6BK3Q M01BU.LNZE!#K# _,JBPY)[M=4=S..*-I!?+BL(S T,Q3V\-.P*'RH(ENFX$V ML,7H4#TD$SC#+M&ZIU3JQGS(FYU27W071C"?)T//L(LRC&L^L]"K8LS'!HE8 M0SN($JP^PR[-@QFR:-#J\[7*9+DH8BXYW$? /LT,E:J#R7Q KFIBO&EN)O00 M$]1I\M0S[*(L^.0$\[V#M74.;1H9\'D\Z/>2@^4,#WC+01_A-%D1!1PWBFYM),K@ M7#MS#/!MHE$R=N/8:E6QL;LMJ2;'ID_-G /QN"/,1+JYYB>:8&&CB8A%?C+7 M,SR (A;7EUF)$M>S<7/J.>*0T=.AF0EL=)[2^^2^AYJFXR+1V)[Q' >&9@_, MN,GME$3!0;?%35AOS :[HID,/<,NPB1H]HJTT+#"UF&_Z"MZA["3"9QA%U=7 MQLVA6*GSIBIP!&+% ZJ7#LW,U?05>F[J74^4B8IL4VW.=9P(#,W,E>S-B/) M5%1TC6GMA%<&@[:<'.YGF'"V+#.->3#U+)W9&L6X%+L59"$5SS!A)2[)U5UK M&HI(0'A+&\-U9=8'0S-SQ5O%&M;B<-X2^/W&Q"KL?IX<<H@NT M)4R;:+$XF23H#(9F)C"A&1L)5_VI*(3E"F_/Q>$PT6^*9P0F&%NAO%AY!&^6 MYGN"M&/5WR5S/2,P?M/&MX:$;W@S1+V@.U&Z8J*))4,S!3.(4OTJ&9N4ZQ);)UI&G#TE=&V)]3]6D3229P#HJ7Q9Y+;YV&2*G=J1*7 MUK5=.P)#,Q-HKU7R,/1733'4T/$N-/W>!$N?FIE M-%P=]O0ICS5HT.'&7;K MVBYAES, 7Z-9JB\0QLR:8"T[V8N!0Z@<&)J90-EF2PZGF',1V7$6JLRC0X]( MASY/('5Y?78:'#V9JFO;\L;7/SU_>&D] "/[9& #4U,]FJC/#I+4HD\T:O?Y MBZ,YGW[SE=7_PAEZ&I/UJ03>\\1.+\2.9N+/%8+1S$?BU58X+^SG%\]WDV<: MMAL]NXJ>_XX 5_"GHXLD2NCT0]_$R5>4OOAYJ*SXKAT&^EOX)+X?*/@M!]X+ M1],?AQ"H5V^2A_MRFWU!/S(XW)?\[4N"8Z]>&0KW!>(8W!>(8WG?%R8-Z(/L^$CF-9]I^@<43*Q!\.7_/I ??I.:.'KMF\"9'T09?[$YQVCI MZ7JAD_QBZ1=X1].UPM>=.*#0O1.ARY\4W;#'T86E[%S3FYR+&?/K#/2J7'WX M^U^F4PB6;IC@M^;_=4?"]$-2O+;UQ\W._LST._HL-OCOB@W[$;MM9[ +2PV. MXL4+M86"//*%1^@'XQ'B$DCZMGGP?\0MPD8'S>^<10$D^>X2.T_W/UU43O)% MC(MU3CRZ3?+6.N_[BMB;J*)'W^O;[_@O58%\#8J0RR&7_Y9G[BZY_.XL@XO> MQ,67/8F+TGBSZ(D"O5&M6K59 M7"-2S++F[Q>9]CS7,(/O-"1&NQ5"-FP"1UM[S)T?>)0S6@N)!*F,]!-&7J6% M&!351Q'55X-8CRBJUVT?_JJH+NKD8MH)^AY?8^*FX&T[/ET!]0P_N9C1= LK^ ^;(=R !:!3MI5MOQKC8#\@ML^B><>5R3_JA?5/1-8L:;Z085DHTMR&O0D^]P_.+22@=4 MO6]NCSRTG9Y#M+NNMO)2?)//MIZVTW0T[H44GT$]DVN0$\V@6JC0[*PZ89W8 MAQ8G,4!KP= G%G^M/1W$ (@!.?8MY! #KJOQ_"8&R.7%08WQ@8J&#$J48FE- M#6:@/U*B^3!/+)-M97O';I27M #-[%*7BNG[87K=J>KZP>6"$1#-'@2ZH&?E M(KJ*MEM^>BE_@E%)I*]Q$KXRD+TS\-3>!,.)AIH-<1+IAM6EB)$=+R0VS8LH M0K\*E%[H5WD++>/WI->J6/2.((BE-:FW,3^L]C:M'6BI2/U >A_!I])U'23- M?[!UV=>A$^7Q#*C<$P4Z7ZZLT"0R7DY$O TDG#\*^#D%W),WIJ(;NN?I6B&0]Q?, GW/@OQ0IMMM'2^9I5W\ M!K6W4U.>):V1)F>/Y/T)@TJZHQMF +S$7W*Z7[OZ#(D7LU 95(HHSC:,")O. M.^LB!]K9)XH,\<12U[GY# KV0PGV;7TR;R_8U],K+B;8PW!#5[VQL$8GKKD- M9IM9A8]2P:; E88$D[UM]:_'D=[HAB@QN-0-7H"5DA-DO#VJ0P>R71W# M?+Z-<2E[>@D(;OF%W)X!.6(^%KG26+&L<,=21J7FU*=-#MRP0X"^-$]X$8-^ M&"CVT)^2:[WGE\6^TYN5VR.RMA7+K 6\*M@3@SU4DLOS5=G/ MBLL3J,2%1A@TPO+D77DX)>19ZHZ6V,D,Z^K!:T87OI\*,]=A MBTZO\4OT$0IFMT ASK@)? XED#NB0(= M!V]P9J=B_;DY*_>Y(0T(U59M-TJF'^C =7KF[+:Y\6[TQR^\:CY:7L+)*'F<[+QF"^KP=^6H5LFW(J*I=L$O:>8>&A M;)_K.C#NM=<79._W3(&KNP3NK&57OMP((T_6=- O4S=WX(YKV/GR@6P"F%/P M2*Z!AJ-Z(%F[HA__O^$\=P\:?!;?U_3Z*NKWA]C*,*UR-)/[RVW4/EIN?I&]G4GK,.C@:\"WPD)XL>FCCW8.(\C@6?/YAZ:Y7E))+/ M2>*GI 3.T5+7)9=*Y1G@FJV8>J_:W]91?:5B:YZI,O4Y)V%I-U/R"<>R56BP MR ,*=ZY2$QY?!_E-X1Y4+:YOTO1(G&R)\CIBXO:"ZP/A3K02ZHDYTY;CP0H] MCEZ8C1Q#%PRTNJ +YH[TF6>SJW>4W520ST!<)$8'BFP+&*JO5QL=)Z*I5TKT ME[2O*?E:*V<( 1 "[MCQ\G E'K\- >+>C@RA2A-6V:U,PR;J<-:A#R" G7J M-(H^4L5'0A0OU,^Z7F &Q54PS?4TW4..@S]AFWW!=VU3*_P#3?\\"L!1-U]I MODR\&^@[0*[;7V3XV;S[G';VXG>OA:.F9:H:+RJH;"%BJZR/6XM5M;B0,/;4 MZITHONJ,AH ! >-G-:+\ L;[4(]^#3&^!0II,K5#O];LH+HMM*EUN$$4C0- M ?)1G]#BY3N0Y<5 P/#T%5UX;6TN$#-+E'<"HN<]2Q!7WTX32R )/'W3@!0 MBD4?M%@ZD^M_!D&W1(#'%+WL\?&.F2/CO>9$\RB99]HB#7NBK]FV'D()A)(? M>J@@E+R=BO9'4*)Y8PFSQ0IG"69%<3FEJ:PG*90 90Q[*KZ:17A';JS3&Y2O MWA#I@#N22=K:?T!7DYWN?Z.!??KOOY6$/Z"9"E,/WKHRZ-?V\ODMY60)BF3![2#2$ M('XJ;&S9"=* CKX-S0VH)X;6 HQ7/T3*RJ-%<'IRG#9:'KF!=(4'N M,E?>'@FN:_;_$1*$MARR0Z18Y5LMK-MJLH$V)U,D2,S^XA/*9F^+NL_"H:S> MXR]=+T "W5L7S-3@3ZD(C9Q'"$3GGD(PX^76^M(0B/\HD?[&%^$_ Y 3:VR; MH['?1"D[6EITO[0,\(6$IWU3"?P)Q[)]W&$V"P21-^R\EE\0>0=-6[_-Y C! MG2ZF$F (QY1VG.8ITALGKQ[A1_, M!<"4A_3OO)K6434=V5'/I'5 [X:]8=_6''H23A$*STWFH/D% MPW/7!4_?N?8.'%FJIVMF4#!D-24&5/L?)QJ;>Z+D,9_CIUR+4#:@;+S#VT\> MKK+A^5"L)F=BVW46(&S7-AW=%XQR>BZ>L7PK8Z4_CKQ>S L.LV\:^[9-<9R$ MIRU12?0)?92^'">]X13?+ 3N&V@-[UGBX8,CBL*GHA8_P M@;XYG5""\;-'>% -E[58&??1N,L&B&2/G)G3EW#ZE2/\81J(GG,'J.YZ[0*Q M<%6K8/H^:,05;I)O]+WNJ>8IKS']K;L!Y/ O5[$(]7YH##V*H^"NDPU>&D-# M(.O"4=3Y$P9H9Y"4F HUSZ=YEQ>$M;[#7'\4A0F2IFU*L2>*A9U*(7#<7-UZ M]\#Q=EZ4GP6.^4P;[8L\35A#(_0[/4,9,NT4."@ '#3U4%TACAD">L$&'@L)3QN3,EA6!8)U'%#RH3,IAYK,KTJ^8D_GBFFVQ_QD-A)]K='J MNY54\H$C"7NUVOT1O$C#I>PES_+TS:G^50.T+OAZ$-@Z(!KP&^GKC>W&NEX( MY'TA,H/ETK7!+&'9RCM*,<\]T6"YR^T5KV>DK;K>X#.D"$8Y]4ZGEN49#.8C MICUA6TP975.;NAAS6R=8]B4"/;J@:/::7>$A\D#D@44Q]Z_X_1;RX&1T*+9Y M5>-QWR%XO,:8=2]%GD3[HQGZ02I@OJU$_M>I%/FOK[K+&V>*8*"9^PCM"N!M M/8^J;WVG%/!S/=O/E0*VL5VP7]@&CPZ%SF@^Q:E]->J#.2<*&(O!2WD@+KS# M=B1WK0[]$C!\BP<]EYW.E@H]04-K;_)L"_,,;0&F"DJ#KQ#8RY=/C#<,73TZ MOO:)&NDL]$*R=7KA^-DO)+R0JE&@'6[Z ?3$W24T!$G6X$M/]P//5 /]^'MH MJSY.OL3MF[= [>EBVM-1T 6#/XGY()%RP0&X"?[COTCUX+- @U]PCO;U%R]& MOJ9F[9V.+B+26D)K4V=EX\A24E:)FI7VUB7H5ZU-B!P0.6#&5'[TJ^M Q[>( M4=RV%A/;K7-HN"?MIATR"-KG &* '"LBVU_R=Q2Q[_'1[9.N@,/J7]KI6LF_ M"N;IHDG01 _H54\9[>OIJNH71,QW8JM"']9;:F%_!)J]A'JNEKV"5K5#L"DO MX?D(V:\I:'S'8$LK5NJ(:VZI*DQMUT%KB=V;=O1EGC#LU998$%T@ND!/6.XT MM3>'EV]1Q=@*XYHAEEHB52(IF-]6"LM;X3'9^!UO)ZB4C"<\ZA>14<+>F[81-MH[T:3;T,8N;7&$$D&*&YH6+K>4#(?U[)K?;V MJ\P%%'[QI/D8K<_;BS9EF8)\4-#Z?%!;]G.#A%L"___L?>MSHLRV]_?S5U!S MSJZ:ITK=@(HZ>[]3A8J7&*](3/QB(;:*(" 74?_ZM[L!Q6A,,J/1).PZ9Y[$ MM-"]>JW5OW7IM83)4LV00KG1(MNUO+ZRGB"T2F-H1=(QZJ0FC'1"I!/>[0S[ MYCHA.5C8&7::I5:\X(RK$\':S/F:X=Z,3IBZMMY(3L?-$^4:662?M8=%Q#J1/-UB;M4G:YIQ M94_&T:SLR";Y#-5:/LX-\9TLBHMX&:#1\,Q48.V":)IK2,H'477 ,;_J\+$T MM<4ARY7E=6>@,-EX@8:60R;P)I#4!0,UD>1^?LF];JFDK^$+^!/)+;6<4;:: MEU*5U=)Y%AOY*>.T(*_)MV$"0Y1' M!%@90+. =R],MZ? )"3'-%%A)=&R@(UOD\&/B8*NC=#($?H)AP=%].2\J.*Z MD_P4P,'1A9 H;ATEPGP-&'7@A7W=]]J]KSRUGD!RQ#G+TN.B;%!K9] >)+U: MW?2IZR"1NHC4193F\HFQVQ^HB\?^7,OV0%8ER[VU&.?FO?3==(+4!4H\OD#6 M\16YNZO;HGJE:_F1)KQV"#=*7OG\>.C<@6I=$V9L>;K."$"IS>3.:- 6[]E! M,A^12@Y]PZ06Q6M63^/BX*"VYFMO7V?,')+M()7R9YY376_^]P M[PTN0%P#YZV.X!]YQS"\LM\!F!JKNDO(FK=CD!J__OOO8616?J&0^_6]3%\Q M=![)120744K)5TDIP9$0H)/V=DDD^MA9,59/T.>@B,6M!H6N M8P45*'LFFO?I!Y-CNL6<9-]I2FG(#E*4UR\B>=*S&,J36,\MW=UAFO6ZAY/FOU-X67MP'$C+<+!2.B"R&[V,Q MG#$0\=UK>UX:A'C"^;(VXP2E,3>7Y+U2BS^RV3LMU'K>\)N9E;IJJTWF]JY0K_4W#R3 5L&XC,<>50,[3!^%VR^^>#!4T M="V.(P2RMH1$Q&VCM-'1)E+GC1E$^NZ+>#TOZSKYK*[_B+V_"'M?ULOPR3SX M'P]E_&?&53"V?V42=$ N&5VSL'_%O8].WN] )(WKX[AC@>UEC:$MRIIWQ6/; M' @9]!J :P6FF/! BS2"4U?(U2UH!AT23>;@2:X M1XK@WM<#ZR,F1OVN8W:>&O=QCAEM,J75N"C%2^X@A:N7,C&:C&J71EHAF W9W:R/;ZRO87E%"QBVB'5\V.21J(]EV M3&!5-7R#?91W[(9N/P'L0#VBQ!IFM2N/2W>.TE-[%75A)]/:!$(;7#TT=4J# M16+\[<4XRM$XD%25% K+LD)2<^5 M1:%HL_F5RR*]@/L 'O86?0:D_FTC#\@%8H<20)DP8>Z!L < ['R90UE$I>$( MB!&!Y<5';1UNI>A '.E5*SM6MZSDY8&(*@'WV<:!+2N!%W2>Z1]DI#P3.HH^ MH8;\[VF(%]2WZJ+MO$>R9:CB&FT5^,_[%J'*&HA/O;<_VX298]GR>/VN=6!R MD.]0IR-Y^?N_\)_@*9(*1!/IFZG_WNU%=O14_V@AR7]=)&2]SW94-E"7VP5G M0I/&__Y/>.X[_1>7=%4W?P4W[D.+\DE-8X4X ?&A"40E+H[A>W^)JBNNK<#T MR"62P67^7]M+^TF\ R12MT3H9T2- U+.Q54\1+"]\+/_M> SK#RW'^J6C"]6 MFT"%:F8)T-/WGHOWQ=:-7S0\Y='Q G_U%Y:B$IGTA7;J&2/2J1TCBL341!KY M?[O-PE&^1#\'XG5$XG[\[F)GKCY&2L/V*C3[;"K^/J.6>$7)G4QP*^(Z#@_H MN6NB C^#6V?%"'@*)+;Y;->?9:/9Y7BBVR0*S4:1:_!<$?W$-^^K1;8+?RE5 M&VRC4&7O";X+/ZASC2Y/_!0:K%"LPK__0WS@6@X4VJF%_63GGN=?1O4Q=<>" M: &2'ZPD !]@ ).PIMC*%FTQ!L\C%5B65V#3E2T 'XR.H7]VF8^WBG><.:00-(Y+)M]5T[3 MG(B:O,$/VAVY\!=6&[5,8*'B#>C7YGA[!N^.X*)L2:IN.2;HPDGE55U2?'PR M'-R5GZ;2INOHW'P]V-3;CMM/+]T?!%RQ:, )V*8#SJ9=WG%^4PD/=AS^&]H, MI$N"[;@,.[]^0)_0&,1/5.,5'1H7+FE4EE 5='/D([!/##)$D07U]?=$AU3%02VDT;/ M<+2AC%U^2+W IXOJ&EIH/I6!YH4B0^,AK66_23B>\MXNQ8B%(R)PYE>ALQU3 M\\O^PH4=HYF74^V!9CS[X@/!.G"\!F=!L"/,,HZ)IFZ8,K!%#?&'(A)_"_X*<#EB,30#PA4M:#"I<.*FY]D4/0:!/"1C\P,N?BG# M;41SBQ%C1U77Q%(&+OI;#$=LX0+ALR#'67")Z*NRYO,U/.B1OW0"] DT9J?K MES;&]Y_B.W)C:/W&T/);LJ:)$GJ)/S^T&9!-_'7C+4 DD:#P0!XW\<&!IV)# M"8]Y674^1\W18&C=( F""@3;WFC&V#A$U9;QKA_L4)CO7YG[CKN"E< E([M( ME$S=LCP>@9MIOB(S,=_-C#Z$FPT?,D=U>*2=X$-ATK&=Y>TV$@\-J)Y$!(\V MH%Z2+;C9+TX[/%L47@>><0?W$\VTCA_=\91# 1[+DJP&_(3I:ODEK/LV(7>HBQQ=%9;<-C\?.: MNP5D@P4R<<& \-3]71^B('P M4UKR"JB0\_ S>&?X?,';/^P>)<*'Z5 AQ747I>A:SM"2(>.:Z^!H]9\?\R8\ M0KP9*']WJ$%(9C6@[*X(7/0M^ A)E[P@>!WTCVI,I_ MVG;U5V/>IK9_.B$1A;HQO$S(TI@&(V_%G@*'BSM<.MXYQ_#KUUL \A=BZJTX MP,,:<3W2IY H7=( !^MZ-&'3T5X6=8<3UW@!SL0"6 L$#P9TO2*XF_JSF0: MXI78/NM*"T=&LO%&YR?D'S#0-XLV*?>[4T&N\*4U:U+A]K-)>=D!E!T@L M![XY, A +XM>[!DN+*3[8+2<#CSJ+C%U$7'K8#X$YF#M%DA#HMBYPHO9!??D M2LFJM5>XL]HHO2.X?&0*+6 B\P]"T>;X04?G1G#;SAL%*;3UD,9ISP1IB*8Y M$/I6P8Y7"H\*D!YKN77GKO[PY$(C@"0/_*/_"@0+XEI\D."C$SX=(BU9@VC3 M\?+LCVFZV+Y>VLU\B\KA9!W5]M 8X1VL$\S):%=,'9Y"=EBM(CJKWO'JZQ#O M 3N=+QJ&"I%&8*V(NW<&:6[H90[$2)XJPJK)"A3(SJ'*[@8';&01>1V=HH%V M++%\?KN0KFX@T'CL6P5])(^#.05?9OG"]KM9,OU?^8AO![N_)2@/,0)NRV__ MFP$C(&D8POEZ2,E_V$=)[+,S&AZ"4VA 011L;D]@]*8GW51BVY^P,IJ*U@LG MB SP4:HAFUYW+&+FF+(UD@,3:(?1JI8I M53"4C0X4-J\/.1/M_[C#7%(<'- M9:0FX??+ .%.>"[Q<*P(=1S4R2PR N$:Q1A1@/;'"/XW;XH;!+SR0)W(SASI M[96,H "4" W!Y#L1+AD^Q1!E^!_(,? D'L&#$VZ6=ZA6H8R(7F=W[[**MZXW MZBH+3)! #286^P36+IE21*G:Z#_<%QXZ*_?,0=SG*B@.C42DAEP=,B[0GNN@ MAH-46W/< 9!\V%+AO=GN(C%D2,VL.F/-'=4[<64AI&I\:/VG8=AY^R^CQ^= M:F^-'%S8IY47+=EJCL/N*U8;\7"A6#UI]DY[M72H>* \'OJO'&M86@ZGV3C9 M?]B4J$#(4PL+-&\ VU##^R& M*!=6_ 'M+KFE*'ZZVTZ,"0/?)%23LJ$"^)<]OR6>U?IP/SN&R%0W&:; T:;: M-X?+EJ)5CNSG\7&WLI\GG-Q8=J'&\S'MLS#6\[^BV.$OC [03P=_]LYE3%7X MUC"7!'O@F57;7?"C+[M]N%PDX,5#>B_"_*8.6,@J0-:$:$(#-TDA&Y5.>:8$ MD#"\#3Y-!L#\Z%-W+G'T./]F!O: :".,'4PPA5]#-I)7WVIK(=I3:,41<[C8 MJ45X'JTCLWGG!'"6(80><'1[4T,#T0L@#S]5;5P*K&Q!0H*S&4;K3#LR4 S"LT;[Y"K.RKZ GPW M!,204D-$?=_:]:P61 J\$B35*H#OWRW%VJ6!("/) J$*M/N:3#%XIA5]P;):^KU[% Q MK;V,7QF.8#7-@=_Q("?R M_97@)A 4&:]MV7$-1-,7H /]]&$^C.MN(UYL1U4>:?\>"JL;^[(]B,@_E(:R++",,\C#F]'&H1<"9P9,9AR(AC,5Y M*6"/:*)E.7/#@]^>X8%C8;XM@8 ^SE$:"0&RH7Y$<44%X*,O2/Q,HARIU; M.\]TC!@Z-L*Q'3PR,.;$G8\<6=&X@X)G&.^'^M$44/*2!TS1"R:Z/G)E M9%9Z,4A1F\@X[P9OB?<,]+-E!6LV='3Z(YY149+%V-3GOM:$4Y-P&:;P_D,J MHCEXQ0I]0^:E_49?\Y#_, AR2*$@AS^;H'(3QO^H$9@]=M1M$8/8 0?BM CX MS("X1S*>X+*L%ZX@)J!1OF5W]&<+FR4O,SPD]52&3S-QP@OB35/&\5D<$$#4 M@ SI^ P"XX\:V0(@@,T!"AT.HP??4@62ED4"]%6?4ROK8F^\A/WWBO MCCT92TN@4-I1T^O"9W!UFV[VDB]VIE9J':/UH"G-^G EN2FUM.S=0&[H=8YC M?@KY,(Y$EMB1[MP'Z+LN@H09Z9CU 88VP2/G&U9G1Z^UG'?+_O)FR[Z%]P=; MB2_G[$6"=RZ@G0<0JVE$&VM+&ZP$ C#*UMMJ/K0(5 81 3!4-0"=MWL^*[_1-X:OG@0$?(8^L@1'EPA^\X M-K'=6W VY"YK:FY EO5P3!.?O])>%.(G>N,_/HS:EI.$<.H5NKT_T(%D0R6" M-2->]#)WT(M.\,NK%)=#'E2\^"-KWEO>>=>5(."!B5"*3I0"]W@V1I303C]@ MJ%7?(>@8YOBQ8_JSVJ*!Q+?4G;LZ7-B[C].# Q$((Z276?]()(;E"T229F)! M$M8.,%5#R5MQHN"][AZ_SH^TA).5T$." ,R^RG/0_/P16$2QM> #O$#Q$ A4 MCB%?Z5X09EN@-4CPDN$QL)1'"(D&.MS+]O(L/,^, 9Y:?;9BE$JS51[8)@G< M0?AVAH_ZX2O\JQ^[=\M60.9 Q?SH'E E6K3)S[[Z;!:0 M3*<<_1=&FU R0NDG1HT0Y&863E4EO^CARIZ[1/G2, M'1_WO1,".@ Y4.$I5X7V(,I "V6%[&W!F5'L7]W3WH.U?Z[(_$PP/U"'EHRQ M(-0BU5W997R!9)<]1@1?VMV8^T:PN:H1#407%*[<93*@K%*HF)[SSRZ=5#"P M7;S3S<(V,-[0$_A)<3*S5?B'^_+3RU6EL^0_O]ZY.?Z;@KL/8&4@%S]4P3A& MZ[N0<)1Y%Q,/_(;>*Y#V/TSULV+(TS7W0MZVG_T-M*E7HC(<7Q>'N@//O) O MSW_$ME"E=SHYAH=@=G=?K%!&/L8=,DI9Q,%CBQ@"N/W8,X0CC;LX,I7VXLA[ MBPL<(NB$16Z2]SPIE2 XT40Y$"/=NU0)9V:@(PHG" 1FBS?_G<_5!+:I6X8_ M_W"6,SIRX:%HX,N'P'XYF4L?@Z'$:'_HG MA. =SZ_G/H.H+\'2D(L1AX\][ 496Y)5>1<_#<=7O3ZS(6R:($+SV"$W[!)& M5S1M B(V,-'-(+8]0:4@ +KZ;HD3^,MD&_8-1\9\F/;V*7F!P]!#O5!=^#K5 M13#R^Y!M$$Q$2-8+"8H(BFXA[A GUV,?ULO8=_OT3P)SG\':@T_$H(Q=7.^W M[X# 9D@Y/EQWY8JQ:- 3Y _RZ]]L1Y:5HF5,G=2<++$@R0[HPY'# M>77>'!LS2F'HXG"9XM;=>;T]2 [(@V=25%FTVI6)(O?D-,_6J:=1EH4C#Y[I MR(65LRRS0%FOZ=RTE%JY-#>!(]//1Q8%=>-F"N.B4GA2XIK+ [M2=0>IP[>K MCI%/U;+QB;(H-A30*S9X$?5]/7Q[K2=5;$LWBUR3:ZY28[)Y5V#1R(.WYUU2 MV/!S,B,L)$Y8%>PX56=3ZI%@50LX_<'SH^[E;+V(Z5@WL;^!@)IV]H^#8HSM]"R2%>7,<+Q=;# M:5+F[F^X4?;D>]Z15NF.#?GG)<*+L (Q;VC?[OI MZRU!"7MM %R%0K1\ED']8R]_!;6XAW3016(\-VQ5'^J6Y*2>FO,/4 >+*RFN MCAV];(\F%](6(>\$F=CW(YRE+*CO[_1]0-AA@["V*AH6^!7\$)X4I$(^9VYJH^XX7VPPFYK^0\A;]QHX"J42: M.M5)(F2]AIZ/1&X,.2^@6O!['!5A_N5YO- ]]%<]3;[K#[\X&"H.<;DE<&$/ MT\N<0;VW8*S_[U_5K*83=+01M[ 1U"O=OJ*-^*"-R"5.-NJ)]B'23-]K(R+- M=",;D4M0F6@CSK<1[VV#]1IH_;A5?UBKEM>4\,=$!<]&!&@TH0__WX_TCS\E M2#)!GQ3"7>8M(MKA-1U7".$PYGON]!@Q/81V_\%V_M.B*!0F;$B<#2# M"&)_-RP6N$Z.YYI-4C'OAQN7B^R!6)S,(L"K>?<5I'#.P3]?3()>\LT?%P[Z M3X6#(A/IY*<6#N2/W1>&V]WXOUWKRTPQ?$%K_A5C4)^=,9+GT))7[8 (G[F+ M&9V-Q:^]I#\J'74&1\"UUWV.3HW8QW>%A9SJU)A,I/=2@C^X?:MEVH.Z.-/- M('!O;)27X]??1V M7B8G M@S3N/9^+T9GTY=!))-@W+-BG0WI?3[+?CC0.)9MCZAM-2C)SH7:7+JZ-QW'' M&KR_E?QY)7LX3G++(0U$,_N8KR_J#-LFDCJDR(^:./[ MU+659:;-V!88[BUI MEK?CKQ\T)-*JRDJY=5T/EHL[V=N]MH&5E/(,4V#S@@"6-@M2RK2ZBS; MAIH%PC *PC J\[D]/EW=QB5W=[?*/K=I>!!L_$B-N*\&8U?? M/M<6B4N%JZZ]KEL2]6>0II :#91XFLPKH)0RLN:HT**SUQ9U'KCPVYUNDUPD MI?6FV^-Y)CV!HH[@"4W'TKG4:_CDW_@^Z.\+M;7]:W&]V;O-P:X%/22\PBU! MW9;GM3I0#SY\MP&A+<39:.!>TXR]3GHC5% $\Q*JGQOJMQ"\]"=(3!*H:A,J M_8WO5DM 7J*=1.5>NZ8X N'/MA6D7^U9$108/_)D8N@5Y<:E2_[OS-+G-;P/ M^2:H#.C?3^X916Z*FR%9Z7?*T[VN]?'T.\1-\)?3V=&DX!5FV4H5$VH8S?#: MW69*S24R/IDMW>RDG2^,)C]^I],)ZK!C-.1)-:B"LJT'P)?ST\E'$8;N2H:5MKD[@2E6I8V17;!RG\6$(4\0YK4NKML,:K]^ MDPF"*COJ^H(U#C)OT@.9DWK@_;G1'3 7O>8OK9"0-X=P#EY1\XOKOW.LFSVR MI[&P[B.FXJ7$X6)JPC^5MSL4VJ#=_AP5C-3RCKF/QQ_KPH*4TVZZ6KXKIEUX M"B<3N9<% _>/"K@AK/+U'3?X]<-0V0]465:R0RUY'*X)#F MF(>?6F-OVR"SFG81'O);7Y:D6?8 5=W",R%3)#7@V5RRG[&Z;:Y@-.C%(K.J M=U ;\Q +H@WY-7),=#W2 MH?\>"I>;9PZ5TJQ)R2V[P?L0V@C:WZS*[XNIJNUNNKXW.7;*BD NZ:E7O!F1S@VK27W5W!QFQ MO6*,"2OTQA73S:8RLUYI@@4+[^WSK?5[1IN^8O%Q90B)RA9N'8=:XZ!-#U@A MK)-\M!NJE7T<]X;Y):C_X[W6!-O2T&<_):X3]_J#@^:/S+\]/%;H%UNDW5.5 MYKC^V':4,<_*Z-BA$X=.GN#8B:'Z4V\DN>&88*!O%FU2[G>G@ESAP:I3FK2H MVT MI5^<#A&PF&_IRTR'F9#T>_7_M>L#M<[D=]J(?1;M> M6H_%51,0\!A6Y[,*VL&]9B& M?MFKD;;4(7%QP>@Y&,EBN/^4A?E!'.&VAJ*-'V_I8]M%D,. K)!FD:J%I$2%Q'&4WH)QU^V[["#9:XA7"[ M???[T'@M1I%>];XEHYEXW6RV#@343U'V;7F(P98R,L[]Q03%X3YY'W>*C&K8 M1S7L+WHA/JIA']6P_ZL:]B=+RO[^^";K>;]G<6'7LGA7L_RPNB4Y&4RX_BJ_ MX=9#KBWKTO">+5ZJNN7!)K_,&1 TG2Z&&ZR3""W4NE93\_?[ 7E)'LHCB^@" M::K!PVNR)GB6/[_S[UW+:&H$ZTS@,()*!=[8/4RV;9WMM15%?X/0"M[""/&DC7HKH5+FJ.$1M%TFN'_U MMMI^==MPRMZ]!02/N:L[CA?C=^;S>WI"H876_ M!>2&J4, #FS17&-%XU7U#2T CB+8:MS078 H$WY7>&(0L*&> A@I'ZEW[#UV MVVM*AA8Y9!8/2F(8J:M;-Y^\;P"$\.LYO>7O8IPN+FT/4+]Y#5$* 79IAY!Q MY7N_X#*R9WS4&G )4N*6,YQ!;(WH!+$P7!GN[PG_;[0-G>VU(X#/':*:R8@9 M,;SW>JE+ ((C7"Q[[#F+8+()41<'C&8%$51XC' M@FX%1PR7;6EZQEZ)8RNNCY3U E"NI"OKT@2U)#@H=]^9IAL\W:KQ2H%>.>T^ MG\DN*-22X&!DIJQG4MUNYEZAFZJZ%"71["7;QYH7+#=:_?'A/J4IS+CA:%_3E3+R2FB0U@8YG)ANAI5A3MWVLT4#Y;@HV6E:2R?B@R-27X\K: M7+:/-1K8J/UA_FG)+C@:C*K)K-@JI6='U\[>T:#1F98>2:!W:G=UEKNW("@Y MTKCA06J,%L.AV585OK9#K]K@M''G1$2.<;6GQDCGB2N2]H8CZG]U)/:&3V M^?CC1NBJ(;57.\2)-HYZG4 M\Z'KHLVG-[UR5RA;\W&]NWK,3#?XJ9GG0P==?I+FJ7&*XY=&YZ%MS>X*'?=8 M.XJ)D%DN5KQ9)VF[WDBWXY72C&T?:T>1FN;X65XKNLJBG#=+@WGJR>11BXN# MY4^JU+K+'R MN?'\25')SZ6CGC*32 M22JJZ^RCP/-C?9-N*XK;=H]USI@94[(9 M[V<,H=DN-@KI4O6^8T_@R -"M;F)2+N#ZK+/'FORD60L3E.RU;7B M-,MBVY 'N6EJB#7&<3KUF1*_ M8SC'Z%1G>H:%(P_VGE_U!E;IJ?0@+.SJ\LF0&M5JNPU''NQ]G:JEQS6Q+Y+E M=?^IN"GT'T$7C3R8YR;;76C59OE)6<3M-)4N6.F9BN9YN/=3XRE3+L;K2W+1 MR*<*Y#W.'(7LH1ZIK;*2JTQ9*5XN318F@6C@SH>6$#O:SK M(P3J6&U4U2! GOE#1OMSDON02S#?MJ?(A^_+. MVZNO'BMG+ES])AJ\$H'Y>;$RU:X,-_OPHHCW@U=(^DSR>F/+OXE[[3=(E_-<=V5NME1S>*WGON/Z M)[?)WG.K-1#9(U=5LQ,W,W^J5^Z%YCR>4>A-H\JNEYUB M=X42!Z "3,:H5/) _?WSA0'=L<9)7K^8;X#FK@O>KE[EXVKH[NHKOPGX]Z[; MTV="?YMB4VO.M$U/:3XZ^7EA4N2[.==KHY%*TK$L\VH]V\L6*CD9O'LNO_OW M9%!4[X@]%N:_,?P?9*_/5>%D/T3I1[MPC!+?5SIV=TW>A5?]LB@HZ.I=%AVA M/$EG[O@_SW4HTUXZX >')TLR%!YPCV[6/8^^XQLIS\*69;B'QH!,E^I,=CT7 MA76_41C/-U)]G'L>>S\U=$!'8\9&[BQ( V58%+11MS$1J2^:;3L MQC;B^X8M;VPC(M5T,QM!GFRU$FW$!VU$-I'.11MQ QL1J::;V8CHK+Z%?<@F MJ&RT$3>P$9%FNIF-B.RYF]B(R)Z[D8V(5-/-;$1DS]W$1D3VW(UL1*2:;F8C MHK/Z%O8ALN?.NQ'OS \['1P]\P4&],B31?YP?;YW7]ZYT-V=UU3UQU1[/-L5 M%TE7T8?_[T?VQQ\2))G$)4JOF&>:?0/!3C'8R[F&PT_!,0?B]*;K7='.__A] M\MI0>/-O2W^^^ MQ?]_>S7N[WGA0RZ$_@TKL+O$RX@%+L0"R9/VS-59H 'L;Z +HF,@.@:B8R Z M!J)CX,^.@;>;02_:C!]@&7V8F7"C0O$&)GB?A^!OC[]/["'P&HQ\%G7X/L?J MRTPPO,S9][GY8'L?+>*&LQR#GYL;/K-6B+3_]]CGVY'W2/M'W/"EM?\?!(BN M6H$$/K-KBB, /U&\6_A#$T7*S\;9UU[=-0JJI*Y3-&YOW5^]_-V'%3\).L>? M* >17WL=K%71\KI7!]_9B1:KC? O#1&NVV]CW<^.\PN!,L8* W+:JK)>5)NJ M^\=E54Y,$#MWCY1;6:U+\ZZQN".Y]<-L:>>S=;5+M;UR*Q05RR0/BTU%BN$O M\YVOO>YS* 8O8?BV%,-_+E V[BOJ@I!W/PQGCV@'WK3T2B6U7 B]>ETW[DPW M6QVA3E;,C]_I6#)-G:I$%VF'/TDYOO:RSZ,<4,[N;2F'"#7\@:9H /N(5HC? M=_C'=>&NI#!QX:E^5QYK2PIIA=R/WTPLF:4CR!#9$I$M<;R.]N74@MYM]";Y M>8H2Y@M>Z@]63_<5^T.-B=00=/4^I;8XNEV<%,;NE$I:N/$E[5L3J4@U1-;$ M=[+LY4:B)G,A4S87 :X."U9'(H=C [7;3R)Z@4F1D3T3V1&1/?%U= M<=R@8)8ZV;+NI;S"4#233V?D@C%"3DC479J)I7.G8,.M7\@I.!9\.S"]XL9P M[M94-LX77?GR.NQT\9H++/)L#= NGN9[(SKJ/#Z/0$XZ83'Q%92Y[G1Z_&(^ MY&2ED*?B]3)(9OZ\.\273HWY[0'[=*U)(%G_ @"4)Y9)!L M4FTM-1L)>.['[UPJ1M.G&M%$\AVA^L\MX&?R/)R2<%:ZMVK-9O6)Y!EAT1\O MY7:^^*$1"V[SQ!>T&;D0UK.%3N4T<3FF7"CC.&+!4#$J<\$$J"\OY1^.Z\]X MC']9N/ZE!/OM>+WME-5F+E.X(YLYA\\-E@\*,VTC44]#P$['\7B9IY/55R>_=",JS+?:#ZD\AU.5E@I T0PHU1VP*"P1(Z.I8[T"H_T MPR=/N+I6[.*V%,FMAS-N1W>\(Z21NUN8A28_%R 9[BAQFA$9!FD3%-(@8W3R MDA;2]Q.KF\C/.K,==5M*(D(;9[2NEOF^_M0TDR['+.J/V;28:5/%-M0.N1^_ MDW2,)D\95Y%RB&R1;ZH=SN1X>4T]D$J[,:R/J!X)4NM&MC&##\V1DC5: M>BQWFA62?E3N*Y7DF*U1+E00*)B22\9(*K)&OIPUQ;A;(,+5BRC>B#X\C]L%"J0OC^Q6''U-:'=*RJB4'6H< MR!O:5""U)#5K?Z1)560>:]G2/%_@@.@"W3 -ITA-!AD4WV&B_-._-)V^MQKQ M#:[;52.W'N*Y"UE47ZA+FJ"Z)95]] M=UU"7;>2[_LA":(!19_#)/TF7!XA[PAYG]<3<>( K:W-8;*69D6AD*>M_+"O MNI6/O?&]>AQ+U&/M*2\LBNV4HC6G\]OKCO>#KZ3 M2Z,\9U.<2B[$-4,^-32CD6\C;9(^JDTB]!VA[V^%OC_A[8NN;HLJ(6]U B%B MI1"%*L^?]+3/VTG(VR/=022_BH1?M!KNU9=Z??-BYYZSJ SHWT_N&45NBILA M6>EWRM,/]<#/VQV.7C>9,D3DDJ=FEJ8LI,YR=<>QR2ZJ#VZ3Y*F';.L!\.7\]$,# M O1JMEATU4R7E!_'T[O-@)Q5>P@"H( S:1CN>P%HP+?40=$IL#5EWKM$,'' MB?W;;0&Q:T_H#DU;@J,\I6=L=I&;FRQ2!&D(!NATC"(C8R R!B)CX MHA>/6 M ,T_WG.6GE85H,;SV/I(U.#W[5]P; M%6(X]/\4O>6WL+XFP,H F@6\=ANH,I9^&*)!K$'84P#_WP3 NYLTA].<6@2 M[QP1==&4ID22BA'(^L1=T?<^2A*N:!'_=V8^+SHF7L. &OAF;U1]KD^_@^O#5&N.GS/^ENL9C^L;HFD.,FV^H678GLC1 M]:=D>R:U2QG7_?$[DSAD=P*RAXJ(@HAW:4HEPY1*#@JIT4")I\F\ DHI(VN. M"BTZ^Z&4 EQG8(B7&@%(QR+.6 >"'2Z"N$[AW\9@ ZN,C@@>E!G[^3+QD_/E85U7=M7[A=>\I MQ7,(R?Z.\M(4C!P5Z.,3NK^$5QG>?,Y;6A=I[BZ<4%[5)<4_%88#51HR#VYC M02KP;.^NR':F92CN#P) _C#@RVW3 6<[C\^SI7LG@_>7;0(!U*__^?/# I]N MP9-]]"+!'18-"_P*?@@OBH&OFP($+7[-Q54<;[D63-=;INC8>O !!B'>)_ND M"-'&&X,^\7$D2?X++=HV@XGY+Z0\8KPM]2"32U#I4WDU(WEYY/DZ?.88,GA MR.#W.()_OX8F$)6X"^GT'T.W9,1LO[R&44OP[)G^_N 7!T/%H:6KC@V>+?32 M6"(T\"BS'+<%X%JV__X56DXF&"K:B!O8"/IT^=]H'SYH'ZAT@HQVXHP[\/AK]>=?8-BT8__Y)M.#_)^Z;K;?505T?P&S]E#=H]NF-!S&W]JS-Q^.\9UO>*DKM8T8R++.953?$AN_7'KL0_D\MK>TZQL?,3 M^1Y,,!>AX:%-"/@/(#S?PSE&4K$4 M=:HEZ,TABZ/J*OUI<,$MZ)\OOL:/QPS?6P\UX*RZ+E"7H([QP;'^9;*9DY,R M>Z\XI8K59/4L[RQ8SI(LL_EYP>;[HX7A#E(^D,KE/C^0RD1 *@)2$9"ZHN9!F1[' M[O?1=Y5E#U1:0L]TGUKZ?5N8BZC+,]0]5#9&9K\D@LI&""I"4!&"^H1ZK*0[ MQWQ1QGRUK/5=OD+R-:NPK$W,X:PR\1K!4:_=4OX<$"H70:@(0D40ZHJJ!XX] M5MJH/4B-EI5LFY1+3T7Z*6-V>-6O44S1L73F_-;;M4_?[A280!S;P(QPU-EQ MU+7K&!T)P5\4/EU[O9&.\W4%(6PCRAE$S"S 7^JFV5PJ& MRL1()O6Y,1:N9_4%0-9!SM,'JK-K7].Z6#["M1?V/;74\>MG!?>![!KY@B3, M5^ZZ5QLVV&Q^,LAA1?1J,8I/>OOL^4R]+,U0\JFD0M6-^'D:W!$(N!7-XQ+9 MIR]FMU'9'3_Z/$E1SS-,_V8BV'H M+U%UQ;6U.SRV)79_;443D8&@R$0R_2\B]#,BQP$MT0V,$,7V;ECX7]N_9!%\ M^$J"L+\QMF[\HJD$NO(QA[_Z"TM1B4SZ0EOU[/(@G=INS']%8FHB*?_?;K/P M^ZZ*/B8)W:<7:\JUXSIN3KR53#E\\ '_\+F)M_8"> MNR8J\#.X=5:,J&I2XK__'M[*+!O-+L<3W291:#:*7(/GBN@GOGE?+;)=^$NI MVF ;A2I[3_!=^$&=:W1YXJ?08(5B%?[]'^(#U_+\$NK)A?V$<-.!C$&$1@7Q#)G.FVW MV)C1[0$]()^/Y,BF-2OWR(*PH'+]TGVCQEM9%AZ?!R/G;FF@#N)\08G'EW?Y M3&[0F]C)-D&@"1RF6'U/N_\6R- M;_M.TO\./(P00I UQ[OTZ%\![(Y[=!)D[;C 9^_:HCDL.35X,J.AU(U=_>M. M >$Q*1C%18@*X9$2RDMV+#!V5$*5QX 8KHDYJL+M7>(D)%2,&[SK+N+Z1ZN/A?J7M5('[=J=//N#??K/LC7=%H]W,(UPY<\E%M MJNZ>US5N >G7R#'7^/K6FWVNG< &"H>(6G"I^HC:NF"7OFB:=<6%YC"T78CLH;/R[Z3W0YFY U('<[;JZ %UVY-9>-\LOJ9!?,;2F' M#9TP,_@R:*X[G1Z_F \Y62GDJ7B]#)*HT=8'R:#-/-Y7-VEFP"WLO+Y@TJ0^ M-I"C".TSI@B60-4-5-$.2%--5_7)^LL)FGD]57)[],#EO-1[DN=3L *4 GAY-:Z&;CS-T M/0C).?V*G(<#G6$OY"U[&&_&3?P\QH'SW@@7_7-S!1V3A_RH.7/D9;& ]IPE MJW-#E$W4-/*PGJ/'KBIBUVWLG0R5=IRPLTFR7VY80A/D6D(YM:);(W8KK+=3 M#/3#*&)1\W3\+EG.D>N5Q#NZX_:%'J2(IA])0WA>_%+>OAB'$\JZ/G)E525T MDZ@>E(^4$9_*8QF>@E#9H#C%7U5Q36PS"_95PS9"E6'Z$X:UC">![AOMXF-^ MG79=]UA\C)J6V^,\-9\J\\%*%JR.RR\8]EA\+,7.'A?DB%N1H*5TM3N-SK2+ M$\]TV!^Y6=V-UT^-C$2NA=Q*'QE.W9D@(R/]?*3A=(IZ=5-L"LV[##\PW"7_ M9+C'8F[4PY@:U/K9$5DV1G);+BRTFM7V0-/^2&>^Z*2I2=\4Z$*'*G?'W:X[ M1/#JX.W,76;DZ-U:5XAWQG?9GL4D[7K[((X'1YIM9^,VND\661YSW4%N \1B M"MVV.J32*EO,3%+6H[)N9]UDOKK>%'1WP!R.E%NFNAF*H[0R?U#;JV)A:,YE MU*CY\.TS-:?6IJ[I M@4?LY=.(21QZUX+7LJ8LJO E%50^ >%"]$)1L^+AMS[/XWC)9;GGN P('B,P MR;%6V1+]MH_OW=2-[=1!,/48(6N2ZJ!W[CZ$A]@(F,18UD1- H0*1%38=PBG MX!F#^!&0"[ [A[I;2]*C!#V M1]3\?5%2#N5CJQ,;02:R4>'P6]B)2#?=R$90B61T M6M_$1E")7*2;KI?H]"IN_=A$IP_*8CJMA6]ZR=!P0A_^OQ_I'W^Z_$PBR=Q\ M_M*I6PVLY7E&]/'N9L)-\OX-5\W_&D) _ZD0H',G^ZF% $<4/#E(4C'O!^25 MVA>)+\(??YON>@:&22:2!_>1/Q7#%(&$P^J'/)/\4S7ZBC?LVMD=!7UN0!QG M>NYB W[!F )35'=^YK,)RK67>LF6'=B/<^T%GJ6F@.<(N?'DFTM7$0BR;UZ, M2^37W;4!]K/Q?$G:CO$S=&AU572TPF-)D=.3-96:-H1U_\\;XKXXI;*I6\?J MD*?2*VYL]^Y30E.N4'JU\=34C(E?ASP=RV4/NUY&(O]6]\BU%W@6D??\"]]2 MY$.-J\\I\]-.4;#CU5Z&9.(CWDH_Y<9&U_TXF3=D+6O5[Z9CI98T^$)IN%#7 M*Y1)PF"9)ZE76V"? ]M\J"0TQV-9 L38,2$[H ZX>Q'T+X#V/R;U]I6 U(W? M S@=P_DJ2NOO<$HID! XK@15#_PI2"8>UPPC]P#RCK)HSE)5QJ3']U7VX]16 MG>RD&X]-J2DX;H,S'M3!/+=DO68#R5@R>:J(6R37?Q/,N6FY?BW^\57D^B_! MR G!OLMUE+X+:@K7LXIR9N!4=%/X0!LDF2ZL&4&X3RE,OV1+XS:I]W$6*H,$ MF\J0'P%'KHW5[U&&WE171RBOVM278.[5H_HBMM:UP,JUUWUN_/(M[;"_@S1; MR:J&!,M7?<7*G.=),CE1&"U)6YERDLW5/] 4JXSZVG3#S%)DKR"LQ^FV^TB; M$Z^)21+JOO0I4RQ2"9_2*W-NZ/,M5<)?HJ%3.H&VALJD,N3ON-[&F,U:*?6^ M//A G: 7VIT%K[8S7).EZ.[C?;>9YY!.0'"(CJ5SK]:(O:4(_I&@TIMN'42V M6^23^3+:ZN\ #.\+"1P6_%C7:^943(7RY"GFAE%>%[-\MZ(*;'*YMQLDIO*U1U95.M\>/;2CH"*.D M8V0R]QU\-O^57\Y$1!X=RR)$27+FCHJJ0,/-,4Q(?Z^6+@I B:':&9!>D6EW M 6_/M9OT?+0WZ-KK/:&$D=K]^;DZ?+ [\2V&I!?^K +T ]25>P5P7M*C1U1H M-=YAG]K#NXE2MDN=!DTI3"'+>MW74E0L23,'*O2?2$&I"#8% 5B:6R1WV9_SG4WF"<-\RPCA=W$(#7R$_YV_S[_\*%5V[!=C%\I"O MO;#K6YP70SXO*JKCG3LD76]%HL,&, MRX1*65;NTLOU5'QH<+S(#0I*NBYI)1<"Y<2A'4W ;5<#)]REZ?+^@JAGI8M; MG#[QC1E)<4Z32JKY\5-Z!6'!;SIQ:#T$=(D1)K ,(*%R#^HZ<=N2$ZBX?;OA MM?IWVZ)VJ&J>/H:_>7_W=:]_=N1I]Z6J^W^WW MYG#+-X-RQ^E6D^M.&[4X3QR+N[ZH%(]U!T3"=7#_V3]X]I0%P;[WZR^&2'#% M&50V7]_Z"-XGY)$$G^2P]_"6-!=IP%;N[TF'XKB26%T;#Z*+NE9_]/GZ1<3[ M/<3G:&H$9L-'(-3HH3X#1IE)MQ'QZ<1AG/6%0YR Q(.R F6IH=N R,0(/"OK MQD_WJQ6NW]Z;$&7S050=D%_C?3MLPO BW_D\)3V5VTQJU=R0ZR?E<9.K&!.A MTS[!4^\H^'ZO:Q/H\/9BC18JNW/&^/J!HI]7 MITV_@7JIRLF[\"IU)H57Y5/!HKL F(>\7OQ#%\\2]1=<6U%81(T?-[B.ZPO_:_M%UX./GRE")^_,;9N_**I M!"H#':I-G:(2F?2%MNJ9XJ93NPXX(@%Y$FJ#_^TV"R_7[?)+N(?#(]NJ[EU< M_QI*1$''A:RMK2='/**AK#!GNL M$\JJ4>>LA3PER8+192L+J96[F3NK)*KJ#>C#/UM!TT\RTDR&;9L%M9.DW @VPPK7<%OLWTF?BJE^_W)X/NFWA%89=4J3=T!11X^M%-7 M1I) ZTVNF7\H])9=K6LF)VCH >V5/O.8+JMNGIL_5,7"4U)9S9HL&GI _.9= MT>Y25&&AR+D^V[*S77K\.$'6X,$$%/:AMLQV\CW.B7<&C7D-/"0S<*Y'&"HC M/J1HE>DE+16K>B:4,-##]OP= L3 M8V+TIPH/EJ[8'BX>,CT\]&!9=F75KM]752>\ ,.3 HKM[0P^9IQ5%NEUW>K MNJID9UR33VX6RD#,YDI'>RRM6VV[%I?)AB#>M?+D\-Y99_%ET(.1FUSU/L-) MCR0YCW>-N[[U2-+W8F#J&0W"S6K M'^E1='S7 46!I^2D6V37A(?P&L48)K"P#>GY0=$M.K_+ MCS4EH(4Y0I8PRCGW$1/J&03M1 R=H.T(OP2W$]N8$')[SU!E$0=59;@2].7 MTXH>BXQ4$8=/\%AOP-MMT2.NXX_H)82W#=VDP,;%(?-FAMK,% MZA0ZZ>;DFS<0^KCN0$$J8C:J:+^_ZU?JMG&RA7FT#Q_6;(..FFWJZ&(3O.Z9X-S.!'_6N>)OF_]G!:U^HO]_Z?'^=BZFOO:1KW+2C;Z&JS,>OV[,=;JN0Y%4H$3'^ M]UKW5V/\6\/P1SJQ[(<-\9'E62,_J?/4M[DJ'OM YJF:Z[5-H6-,\O ::"2%D11^ M*2E\_Q7LLTOAI-VS\FM6JPJ.6ZPN[A_S3R3.644]UV+I["DI_)0&:6GO4F9D MF$;X/,+G$>-'C/]-&?_&#=/MK4*48XON=87K$.CC9R4&1'PEE/A)1P;KS4+E MJ\GL=P+6ES5O3U5/.%8R88>VG\SII#0?W]<5\) M\2FW433;?A\*ACI5FSX2 MXTB,OYT87]8^_G,QSE2&*7*@61M!+ICCSB23,8R"WV6"IKZ6R?P<@511'!M8 M-@&W>Q]]A"_E_$R>#8)\0Y =&1>W8UQ\8>P2B#+G5>,\HNA26AGD[@OC@; P M:\UI7VEH!:?M]8)@+M37/!+Y[[3N2.0_%.>\+O):+9[,C^VE+(CMO*[=Q9VV M'&][S1WH4UU_;]R3 I_)3R&JBT,"S,-7D:/P?F1F?6\SZ[*( TM=%PK=J3#D M@E_KP.V. ;<8,FXQ98[;U4W;:].0/&E111(;2>RWD]C+ H8W26R[D]5X:Y4' M0OQ.KO='W+UB9?R6#'3JL/;N9_:!(.R ZNDAS"!KDCX'YT0-UU[:#5D[U^X! M=VVZO&@-79LP[U)^B"X4?8YN@9%\W!8;7)LNGU$^_G.!YI$?C ?\LZ^*C[YC MZ+U1H7MR]XD41":=7K2HG%'*H9*." LP9^X&>9W\"U1!^#]!9\B=]R"R0]ZC MT*[=4>U2.M 8]+NR(O0G2E M()+?2'ZOC25.R>_BFUVT;RBR\C9,DOYU6(\K6O;5%] MZ+J/5 7Z0F'3B)\C?H[X^5.8M?"93=1MA) U[^1&5?$B+!S%U&XGIG:]T^2K M;VW$O[?.OY_2EBFW"DZCVD4W&.;;KUW4$M>X"_61F$%Z)CP6^FJ# M)>.U(?F@%G+M88I%S0QQ&;$T=2IF$(EB)(I?0!0_LHS8*5&D[^KVHC,<Y3N*^HLR/WU0LF?Q:X;MWP8&]F]*1D?O)L?XY4P]N"KU_,11Q[.:C MK\":VKWO=%H?JTTZ+-7FHWEZPHG<8%UC57>1+.*^QQ!59**+SY% 1P)]*U>9 MWR30>H?PX+/ 6>=1ZAF4H;ISG:E5>%-A^:CVZGR!YA! @3;V* ?Z-N];O]1;]\YU* M['@L2#L/?6+KAO$U^*^LT/6&3P>Y/'ZA(FQ MSXW8Z7%H=81]<&/X/Y)\P1#Q$%_#@2>2+/W^[]ZOYS U/<0Z6DY_\=(4C!P5 M-,<]O+%@Q$(^%2>@ ^8B/-S\\!JJNF.QVJ@H6Q)*H.S S;)*NNF#7?B7_7"< MU44[T873S*NZI/A@=S@H)Y,/X\[R84#.K8=4)JYE-=IP?Q PF(#3LDV'7 ) MF^/H!G8A:XZA+M)=Q)>>RH)L9F$F='URQ$6/'A! ^ 3QDT-1O3Z/.P^&CGPJ M$28B$\X[#5Q<:/SS'!Q"Q#Q?1QW'B205(]#>X9'(/HG!-UL&D!#$@%3 #/(. M]>J1@X$+]O'U7%S%,0MI6^425\'8#MM^<6RCX4_V<;QM!F\-H?4?;W9"IA-, MZI2M&3(30L_7X3.1MS 0H^#W.-*5OX8F$)6X"XEPQ&QX9GKLSHKM4'$(=9!C M/S=8+N,/39#IK97[0EMJZJCF.*XF0L;-W_IGZ'2T+[>W+] @9^AH8VYP8Q+) M2&!N<5_(!'72FQEMS%]MS'NCCJ\=^%11]BG_"=@N"]A6(Y&/.KR-LR)K>%ZZ+P;YK+/T/ M=?=9&88Z*%;UR1DF>0YM? -IX.$U]][BT2+BA^ZIG[)&K(%H6N9/)EGL"\+)/F;4&S7'(B6Q1&="_G]PSBMP4-T.RTN^4I^V]C(BX M!:1?(\=$7'+ZGL:K7F9JFQBQRJ:R3I%KY,VV8A=^(#(9$Z]WEP8VCFX(C8BY8?L3^^JM%Q M%8']5-;):PG@AF."@;Y9M$FYWYT*9Q2F/M[=\"@4RR=.*Q/ M<+Y3[%L>6=^*V\]]/OT]MR?E1;-N:VE9<=93?L1TQO%4E87<#D^GY&G,MI>N M_MS>^VKIZU[^4"A+2H(GF(F8?/KL%D<23>T2:5(O1@?1'8MMK0*/,.C*Y7[N MT_^\Z?YB:%5^:AF-!7,"XEX&F3B&+_XEJJZXM@+8D4LD=W=1@DDA,A!0QJ%B M(T(_[RXTAJ:#TKE#%-O+Z/:_MI_4'7SX2B9;Z#(-3250_GCHUF>*2F32%]JJ M9YH6-;@+](M(3$VD&/ZWVRR\'/D^=5L%7TM R?8%+P/>VO*MZ/'NA=GM#='G M(F[Q](">NR8J\#.X=58,77I);(/2UY]EH]GE>*+;) K-1I%K\%P1_<0W[ZM% MM@M_*54;;*-09>\)O@L_J'.-+D_\%!JL4*S"O_]#?.!:MG5(WA+\_\EN*X03 M]E1W+'AJ0?*#E03@ PQT170JFA"<"BR+T%'3"E>VT)T,=)OIGUWZ MP$G=MR^ZQR12W)I"3+-&#^^J54Y>:UF;RC3'<-R['INA4G# 4Z_?+??*FS8<>?#,(LF,E2R; M["NRE*U2G1JSSB=9.#+]?"2;GK6*]QPG<6M^TTQN:A50*KKP%#]X>Z>\S%N# MM1CG>DJ*X8768VGI3+SX[OY(,,U/9GG%[BL+;=1/%:W:D.NC2/#!VSNM9:69 M*1:Z D--"JV:4-87%/*M'KQ]P3ET4V@)ME#+.)-'T937HM*&IN7!2&;UE&OU M!&.H./*TT!$=C;1==,P?C-2TE4DVZPXOU!YG[%R.Q^=E 8UDGH\TLPM:*6W2 M V4Q6)N"D7ZH\E)[D#E\)G4W+G%+,'&%-5.62GJJS!K+"1QY\,R<72KHYK2X M)GN9N,K%FTF] >F9/;+O3\5%IY(72&4^-Y<50);C<\7U>J3OCVS>/4Y*,Z[, M<7*IE^VE1_/[)]Q!]>"9A18'2O$DGQ7F/;)H:IPES I^K]7]D;-UKB"[N4=2 M633SR]&]]%@=.RYJIW;PT'YMRN9;&5(7Z'F/5>^:\UYV,AE0U.'0Y#2EURF6 M=Q5Z-5#9*B74Y_GV@#K"]D_S!VLQJT\$H;G(F.EJO_60 7CH >C*K,I->X:%[T8-8!V%62;/=A%LG MT6VKS7;9LJQFN-"LR\N)W5))Z.P(#:5>/*/X5$;?8S<[TP3@- )S*$-5X2W; M@/_U2M'+06"S&"6C25$R8^UF)[1>I2)M=;Q)+,1;9.D]-=WNW"5@>G9I\,ZD M6P-HKWG3S?4SG12Z*W/@V+MX$^6AS"32;2N^M18Q;KD4L^.\F.?E 7LELA^A MN>.J'\^F$>-ODIY^@:<3\%U3%"/A1)#9X\?,GB!UU*=\B;U8]BK@R\TRX>*! MPOB1,>%@?_$E6X*,7C_R)1F.! F]_DGH?0T>WS2%[HOJ?%[YHL!KV;K/Y]YZ M)=W&/IQT&T4;U?UD=7GEW)ZG!OI.'RZ?N_W[.++]SS=2C"\T#0?UH3^J/A0= MCMQ5&NUC'YFR>__H0BFUOMM/]F])PQ6,#0D^-0^4%4"K0F_@-3-T_IKW;,*7 M$S(RS,3O2BL.2/]&%>$>,Z/@/X!0X3-F%\E_HOQXZ_\6 M]=ACM^[@V:$C:]2HZ2%!TM=HLX#W4I])_.VV MUSM*BKB$V7 "*8'5N+#5\#SH?:^UR,?JT5ENF&YS*A.+SC5U4V83+)PTZ@+U M$*%?:LKB.X_U+1@H=G_^YA>"FGO)V'CY@"JP/A?"+!D;5.%\VFNTS5:PG^%A M@^KIQ+I$QC6!8^3YDN69GK7NHJMS$+$D'Z(4>37$XAL5_C;PY"X,P&LG.X'^ M?Q)]O$WO)]LX#S8;8U1'&(]!YC#RKVDM[?2TB&"<(N=QUVN31H M";RH&^$8Y#^UU[J'&;-C-ADWYCM=IO6<'IE D\;.Q!'NC)UXH*+7@R\^D_7O MB6A\1L0+@YS 7GPQ[GG>3A0+J7B1[*Y*7$WJ9B9JOM*4;512@D'=;Y/W%FB) M!X&6(- 2!%J^%J#,# \3(_1VL9X*E?L_]11$2010AB"($483OL4EG==OK)%9#+SF;^HUWZ067^!> M?^G.+:T\O>L.*&XU0=C)H7%(3G"1ZB"Q8T<)]P @=EY],O"N?Z)W_?46(G## MOXZ[[1DP "ZT&#CC5W?&;YAWY$O5WYI. 79 V(%%5N$% *'8Q72$2[.] M#IB,:YEM<1>-S]E1$@$()@X1Q'E%W\#W]Q&H\*'B^#H7;W1Z#,]F%YEDP2CB MVK00!%!4["&9"/(@_+/EWX7.^S,\\+U4_K7[@%YY#^EB8:0NQG,NE[;)S58V M*F,>JSKSZV_L@4Z^%##\YK$2%X,@0TGPJM-C"BP,8 (-5WB14!4/8%I!#.5' MQU"^X,+#K9?_DED\HP?Q^WM9Q1>!4$?;]Y<# K>9P*%.YPL/4ZG7])[$);/E MCJWUYY-9?;+9<2PJPP]1481Z(*GS#[,VY!_;/]PP%H=Y6\!UU!W@1 M*UZQ<7,J*X@-71AWG6A[!&J[@+ML^<+87;(FV*W7>=]>YC-(RL."[4QYILO1 M@MW))4?J=F*2Z4V(17V#T&V4Z$.2201A)/^@HUNKS1?5_KKU,N_;.GBB'@_; M,%T.RM9.SVPZI>ZNH4RS1FW97B/; -$-- V)5P-/^\:Q-V@4>_3=@]R^TC;V M;3UB/7X_[JMV_<7NNXP=MQO#MXF<_F$7EL6G3<8BQTW&(J-T5!C)H1B9DD$V MND@80KI.)\03T8R=B"8THA,DGJBI 023+^]!Z;?'76WL\?Y0,;^RU]F5DZ%)D>YNJ92KR,L;T M^6F^GU^2[*^_FNZAHT\^(*3#\W%7NL<"V@ZRQR8PI$]#MHG:TYD -1T54 1V M*@&!$&P#C;5F /[? /L*P030!/C7RFF+.TCVTX\B8:QF3B/#441(1A+T.#Z: MC(7)*$J38#06R.B( <*8GM+"9$Q&(6]/6A]V:MV4+*73D8ZJL].>T30-8^;9 M<)12FED[*F8%4I4M66Q5.^M!P[.-*$./Y4BKM*2XGAZ=Y3M=(Q^C/%M^SIO= M!9WBN2)9:[8I2*L M/&X(B5V3J\TMP12:+1'T&G#D61M1K5;H]WOEF$+6*$M:C?,]KD"BD6=OEV:S M3G)J3W@R-%G%YY&X-.=3J(WHV=LG_:PQ9->4TE&;7:/;ZBEUJX *#YR]?3=- M5[/3 WYC310\\\>_O:*!5YF:RVN;31*ICM,I<-+5'1$XIZ.M2D M^LUH7QOHG&1%YL.C5Q30M,(EZHC"(=OB,65/[?"O:9-=PY-F2$L., MT=E5&S+)1X4AR_#,NK)JP)%G2^JR4IVM5=0N"?C!A.NUA'$TCD:>+2D4D@>I M@C9IR.D0-:.9I;W+M] \SY>DIQN"/.T JK,4>G%U3O&K3%KT:J*ZV$3&^59J MVR:A<#8;]8K6-.MKK]:HM9)E3$*-$L.E$]2$IY8)JP2UG*1*D)%WC#SB+Z3 M;*6![LJ=D:D9"AF987I.R[F1U=\LYG%UNF[ D6=DJC5JY8Z:LV)>D2F:L]>-1C?3EK>U(A0MDND- M:Z@K[1F96M'ED[8?*6MU+I,G6RIJ^6Z)0[2"L5ZV=+5N,5OEG22[[3& M$Q!22B%+*JV];&F1ZZGE*!UA.;M73@XCU4PNU6QXV=*6H77[H4IM)ZNYD&RW MAPF*S:Z];.EP0\_2JUI]+8=&:F@0Z8[81,W3ENZ6@MKKDR+)M93"O,;IXV:L MMO:RI;U51I+EU9CF^,QZ7HC'^]O6@O6RI:EM?U,@RV2VL]U1U7)+:M>;7='+ MEF8BLMR.EGB1!(4T75Q(B]RTU?"RI=W)=+T,I:PX6:JI3;)>VH:B1='+EO8' MZRG?[ T$>=N0%#I-K6O%?L/3EBK#+11+@"ZV5+(7)<]%,Y(<_Q6VTDS?5J-MGVMJ6+\J(=S2VC$E=+T>*N MG933T8BG+2UR:U.T&E65RR6SJWZ,HF-1QK/-="R=%V+F-#V256XAQN39;A@" MK)R\SU]/6PR@^X>4^XH]0D6_-^A-R1CV_)NA0NFVH,;9' M;KQ)N!EKVEZW)C,@V JH30^2RF+/AM6$\F.?;I=? M0DUK[B>90G-\IC'V=I9(U+N[U4[F8]E69\[(BVWR6OW(@\;8G@=E429,!XT8 MGPUSWZY!)ATFF8 O_N,+%:;I@"_^XTLRG CLF _Y$M@Q?_*%"D>#/O)^Y L5 M9@)#YD/&!(;,GWRAPN2+:8(!7V[#E\0KUQ(#O@1V+.#+B6.9#/CB0[Z0X6C@ M\5^/,>^\V?]JP/)F1$A\U>W6URSX=Z+ 1%?0A__O%T7]^B Y8E0X3C^]!ONE MJ3^)TR.D"4!YMB\3<'SRSN.3LU]_6=,Y"=.GSG_Q#3#GQPCUX/R #F_^[W_' M3Z^0!GKTT_6(_J@:4="1NFX>T875I&'K%A .*B(#ZU0A KFX6G#P!U#@M3#< MQ>^MOT4= H-Y:[%X)=AT_Q1X+:P3Z,5/E(K7@A<_@ *OA0F^L6($KL5/M@@_ MT+6H&]($N%ZXI#G_92X&(&+$;@8@>'\&L.9#,>O*R$7MILM^!!I"A>H M!;&8 %H'T/J'0>LSBQ!L&0'6?FW/<$+W+MB>ZD:P<5Q#*B)P9M])*HZ0A",9 M-6L& MD(0.:OOQU-'\-WK%#"72 0 G"$HZ M;%2(.9"-'P\M U&XYA82ORZ\NK LX$Y^CR5I MG)]PZ1.?W[M-O"85+ZWZ-U[_XEZMFW: KVH6Y>N\! Q4 M/66+0T#L1C+/ASN'?G@ 50'J&!A>CSP*"&0-J*A FVR]GW<<.CC4P71ZJB9OV _W)D16@]4$]!_NT79X=)/PZ%<8[?'KM6[K0YDA ML]U(,=-?#^JHY4;DU]\8^4 F(M=H91H8I2/'S6=DN$C'8L<[^P96"??BH"^' M?7W&S%O(-'+L?$:&2\BTX[T%(GUK7MX$.R9]1X8+-9:/W@85^Q\\7@;IM85T MKDN-EAR7JW6F;-]6F4KZXUVH/X/T]WWM6:Z885LH"A$I*V J:E7M2C_G$F\,:G8I?SE0/;]E,6%_1S_691+NT! M_#31O/71Y.74&OTV^B&;B8'\-, &1BBMY(J9WMV-SILT0Z MS]L-B)F07_DJ:,)^Y?_BMKD^[NS\BJH?!U"F\'\DZ:W]E^H.[$S462!O6_K^ M ZR@SY/ 5^"!L(^YTO00-B?? GLF#_Y$C00]BE? M@@;"_F1,8,C\R9>@@; _^1(T$/8G7P([YD^^4.%8H"]^Y L9CKU8("U@S)RI>\;2!< 9,\(G1>0_AR.=J6P2J=)>J M]'/JQ 8]A._XGM?-*1 T^ H4PX^WS&Y-@:"'<* 7[X]?_ *O!8IN %\^FRU MCP1= =.("=07?@ '<&N#/ G?<3F7BMAY]' M:?,?" X]N_Q^%Z-_&Q9_-Z07-.L-D-YSVA^(PM4<0N=&[/>1!=2LE[I"L]ZK M0YU7F_6>2\6+,;5??W\'O7B#7KSOUZ"@%V_0B_O'>!'@'/77]P/KO M92[N+2WI1_#MC[K.?53VM->&/CZ;'5!U]G/5G6G M:+>L>^1;==<)1:F=1E;6.B?U!XEM)03$;?\VS#MK.^X.6%O2V?K>Y"?7V0[_4-1/4& MH/ R""Z]',2;-)T592FZW=ED=E4V@'@3!!S; MR;X*X=[N#C\G;3XX_3D_)MR_)0W7,#8D^-0\4%8 K0N]@=?,T/EKWE/U\BZ" M6'=QHO3U$.=KCI[\M>;;B^Q/;(UZ@S5_S6&6OQ;],X7[UJ=>7[_FKSD>\]>: M?Z9LW_H<[09KOOV!VX<7?=)[U/55JK8*)S"YV+PE+>16\X=S/EG(\_<,R;<[ M!!?WG_?M49\0_*@7ZM-#0.0*FY)I 8'0IX1E8/=U2\#)*R:QEJP9H4.G7-)X MA8!>J6U(E@0GQUN$-0.$P%L ?6UA&Y,9;^*?K9D! *'"*FRG#1J__L;(,'46#B"@M"J(8XBYUV&C1U#&KWPL#Q=-BNWT8F1I MVK7JTFY<%+NWXF,NWX]RI5@\RH46-:#OYC-)%%D4V G'7N C5L@*6CP1H1X( MI#^8N6>M!]"?(@^$ U$I#JMMCNW%@H68NOJ2E36;B\ZJT8YS[5:&B1T9[&NM-@/ M2]0;.X,?B]%F'6]F>KF4U>D5J](TDAW&:8U%;<'#Y]'!%\4H3+ >GSX0O*(X M>P8@TKH*]\4M/H>(_VL2S_"5-P F/'JM#;^^)00;X(U*T@BH_,06\(8CC$\Q M@=-NYJBISD2!8Q%&FKGRM;^@'T&B=8VN.L]>Q*<2>VQT$&PJ^K15SG^== 0Z M!.I1$W+=^+//)3A:E8M=:(SK1!!R&@[Q4_CB/[RRYK>FN\IX,AS99RG\.:0C M1+"JD>%([#_$T<^('&>T1 W.CRAVTL#<_=II#_/]AZ\T/G(98^F+/S059DY! M690*QV-78M43BT-''Q$K3T", Y7^O]NU]//9G1K23.4DN]/]Z-??-FXE#R4_ MK>.>\.8!%?)70H9G>1^O)7ID=!O.L8N>NR7R\#/(.O.!*&B3\"'OX_:SK-;: M7(MHUXATK9KAJBTN@WYJUAP3O.!'X@P&8"X ,6P"#,&;*%$(+S#W#WPC!; M1Q6TUA($XJ8%H;EPE-/UHNT[55TOC82F%%E=2;-YO%WB8Z3Q:!B?*>5FFU:X M6M*FENPJ$8H*ZQ$:2EW#:+X.![SVF1,00SSB%[3M\"K<9N"K4+*7:3VW&3T! M$/QB8>@;N,LB?#&%NRFQ0MMIF,A"AP=]_\0) IH ASW=^HY>0PB20&BZ!0'5 M!)I@ GUD:_"5"IZ8R$N:^7#\"=RS30 _@F^;&$"0+/>3QWWOF%E__^]D(SS! M+1G;P&-&U,A%+FW]",9T%V*]4XLO)G(N6XRJH=$VF93$I] B \;6(Y1HPV>G M%'TB_]I+2:]'RZN:L%:Y-*V7)=W5I+A MYZYE._^6=;A;802"5G@K@%O3B-K$TI'H.L)#/A GQAF9Y <$N^#^;>AK..XW M$BXDO#3Y;\K]$/]*_?O/ ]:&BB2D=?PET>8-7K-T QH79+"@>$GP5S@*Z@84 M702[\%<@VD=&Q?E=A/*-?\(A O2Z,:_)CJ./K1 QW2-?^#BX1,M&8F82"]ZP MMN@+!K"<"2A(/PS3F5>:7Z"J"$1- P]$%8LF_(TU31T^"OV&O\(+$ 1 =&]@ M^P1G V?R !]DP?DC%7:50C)-&WZ GFNNX?;EONKA<9;PK7"IOZ5_G+4>K]/3 M#BP,Z5'G#D1PYJ0Z>G[T"/B2,]Z=\";M/(C=/VC/(_R0WQ*7X,-*=8]8=>9BB MI&$1$>'<140N.!O([@7D%H]WKNMY613IV"KRX$4A]7S&P3HLQ%G'?AFNCT7/ M5BE5+%9Z)!^C%M5I8R3PL?6'?:S3>5J.;(YJ>M4 M4Q%$B/MC9)A\WKWZ[;+W3-H/O(0?V0LDUU]%_E/2GI"_C&=9FSI#7*HSMCB@ MN&H\U\G95K=36T9FEXSR_@7ZRM)R>&O6A= MK&H2UP$3MIP7RO'N7%HC3KS$"*3SA GML*1*UC]AHF6/YV!B(<)/@&'Q"+C! MO<.QB9", D95IK/S[ZTRM%'([$J6 M43?A-?+H(X!+E*KO'#&Y"B0V4[TG&H MU%#=$"H!+D0$Y]H]T54X-<=OMI'EP\->5.\PT7YM")KR@M]B#P:^>0GW#SA% MZ(@C.P\]=HE'*S'F%;@_ .R^P\=,;45!864WR+P]-YVQ M,,$^4F4* )H&!$['$Y@HM@"*0?>B2! M0YW;_5?V\S^B!D3EDBZ@XQ?%>;K*;PFXN8IP2H:NOO7BV@+:ZI&^6S9(:=B> M=:1\"VR:6;%.31N_G@%O!Y6$Z.WQ%].P1DWT>JR2Z+<*W#:A6KAZ&!^1S5T_ M.>)).BXV#AV/=@-J>9Z*(=TT#>2\0G) M),6;$=04:QNS$UOI9(@L=M*+Q5A)CEE$T.BY7?L/E&@DU_9"UTY,U*,3I"-D MI@'H;8 5,.!K"4PN KYZ8BL8\"!4,$%.#-:-@]H_!3IAXE9H^B1:CD\>.XMY7>QXDP]]?M:^.C7_$=.5"JM9T*;\WEXBJ8(_B6BYTJT&* M:\BI(=R0,GQV$XW[[:*V5BW;/( SCP?N(TS>AY:(0G#MB"]XV.N[P!CPAOGX M"FBZT0R(A6*;U]/+R(A..N=!V$W=__)I'+@?U>4-"9ER1-F3K[ML.'#AP 0T MLJ5/C<-?"G"CW;36_ +]Q7W\KE-EUM%8F9&9*5V*](K51*5U C,+U>R'<6:* M-R6SM8!@0*AIQRN@O,W"-!%IM-LYJ=HI]4+-W;0_,P0FV\BNE,Y6TJ6;<2]K%J7%*+', MRW0BS>3G/$5E9&C4*6_N_7:/ZI\ZC_H"#?@'0K.9!&T=0BHKWM@Z0,6"]A:; M,_1?QY;<]:;PNK5# HK"<,BOMG$8$6)%\[&# :2 Z 0C)OH*0-M@F9X>@1._ M/?@!YM%XC/TE YSZ!^B[D'404&*Z[9_CCG7/Q-R0@R%-G" +"M"BS\?[/>5P64YH!IV5B>8?A)=MA-(%*)! T(!I_HOP+])L10(:_ UH(N(H?*$*#!$8 MV/% 1ZNH>A764CA(Y65P?$;W@+T59UJ\L$),AZ,@2"8$:24) -_\,-RY""B, M(XW=Z)"SDL-UDHD;#3(M?2+_2Y@ ^0BX:-/QU [>%H3:)N^2P-D^IU-( ;@> M/!XA?+QKFU"K\*L4Y#\A$'#RW7]=[ Y7M7\T$E\;152A;S5# -#$)YH\(KNM M[,/&)CAAPP/R#J%+!+_G> 2/AYU(7YR%[#\Y,!P%]?=/0=%EI(_'1-K#C#T> MT0WLE^S='NDF1O M/"4=9!LKA(IP>O W)RSJ9?N@Q$/=@8J)WB,)$K1[;_%[79TSSQ04ZB$2$B2* M2%6E1S/'0S'"#L+S=A)K":$ZCADDR 8=17-TPJ#H9E$<(UJ<;OQF1^V,S-3OQB MZ@W;O;":O12:0M6.E;)+A"9:VV&_)X^V>WY'CZ@"DXJ0M%I:MK>5?E_;B+_^ M1CQN\FPP%6]/'?HSU'%D((M$((TE(*V_1J.<,)I4F0%'U" T$B MC\#!YLF]):SX!VU&XN6EQ] $/6[4;XRE>=^$\9-NOG P"G>A=ZC:9Z])?3R M7Z;CZX09(66@S=;C$-]KI@?K%U(J0R:8((E<0SAJ NTLY@)14AL8*IJ0IZQ- MV\* 9P?9*J;Q;I[34I ME=U$N88ZW&0[]B+)KJ>9:DPK04=%TSTR2Y\&V77;0@@ 73HA$#Q]<_SZJ]3K M^?O?U.'RT*'>*_V.'-$GE]:N?'0/09*N@C:_>>G\'NQ:G40ZQ@"YQPST;4+3 MY(;D[A*29@.!M5X8Y]X&N?EI/T6^>:QIVV;2">@5$('PKV>PFN:#2$7F$Z=+>_X,<9Q )%K/XT?PL?/H.NG^EZ6RI3]=Q-B/X/AQVF"HVNLII.4=! MR-]U/"Q\*J1#G,Z;1]]:&""$INZLPCG*WW\!?O?H"PMHG'@-!6;'<(;8;8+? M$R1(" ,@GY3X#<(B=!&@?H4$(,!92.@4!VP6T/<%YC_W<8LT%MPB#6Z1!K=( M@UND_KU%^B)N\,U&C/8K=*F QW?8)+3E&BA8B>Z/PNW/.?Q_LJ/QIGLS8Q\E M/-JJT!_0M5%W1U44?8T=3O0.%" 1 -RHT-$?VK::H-A<)).GG8G_,\/AV-4/CU M8\3SB"J$A-OV3=%=%,D"*EHG;^'@);H?@79JM#.CK=785\%!0JBAZQU.\!7= MJ;5,-VZ*HEH0@1H $@VL Z?H]>A.3C0Y3'&^F0@@D!HAX",?KQAG]7N&3W0;_BPVE)K@/" M.; K!30PE;QOS+%,F=J"S8:6U45>@>9F,+;3Z)Y6./'L-:T'5_E<^4/0^("$ M#Q 84O%Z5TD^2,7W5(+B]DLZ4!,=(*8=4PM77H/&R3FM\3Y3G)2XE%;,Q:!\ M%"TFMQD;)45& ;1D.'E^IOC@Z+I[V\JQ< Y1<8AIQ4-#:)M/\#?$7ABW\P)2 M$?> PV;O\+759T6X[?H.\ZZ@ZM M,^0^OK#L//_1N/W^E@Q'45-O9C>AI= F^+0+3B+CFL@",LV_\$$E9+DW\\>6!6=XHX!P/$F MZ(Q*Y@PI-TY80C;75-'!R6,^P-Z*[\_UG:PE)X;CGK0?C#[Z&QQH&%LWT(2. MW-%),+XV\ Q AA."BH!G) !T<1J?DT*P/496RD#W&F2$#^$&IKD95RBE"OG1 MI_#6 "+"]PKZ:26!M8E/U;W>B. ZLFOHD&K\>+%XK=N*\$@62 PO^DGHM!Y. M3I$@EA6$8'LL#$8ARZZ/$ST%PE%3W-R,X.MM"[)Q MA^;/MM)$/$J&*/)AGQSS&"2&*W'CI4?CB F4&L#F+XV!?#7>!D]7C8PLBC3! "3E7RO7F1']/G(2-5*=E,)&7"V$*O->@.+;B8:Z(+STY'L M=)5-\XVAR?'3VB!)B\4J%1?AR-C3D7-RNTS0Z\I09NATOUI==^NY96,4'9%/ M1U8+H\%D-4R,R98QU#?I;"0;RHBCV/G(3H8SJK5:=MEI+?HJ/=#7C;Z(1I[- MLU;:%9F*W)S)O5DK6B^MP3;"H9%G\VS62\JZ/VAM95LIYC0CU8Q+ICABSM^N MQY8[6HB%C$ZOWAM&Z[HQM)DU2EEZ.K)8K,QBF9(B=)9<.Q85HK'DSD3-2,Y& M]HU-=!QM:2:Y)66AEYWKK0K?&"7/1R;UB&US^4:O0QO1BKS*Z^5T;XTR@I+9X;;4B)/))+5(0B[!H6>$ M2N2E;2(9$LIR:2<4%_Q"A,^$ &H@!=&SVT0>VDUR$;\G91_Z$4P; A(+CX"W%1I")J[<. M>\NKX6^G.,%)",GISWMEP6Q-H.=J*Z V?2JB*#]CPFI"QED./G,]%UNVEXM' M8L)H(JNRRE(Q#[&P).Z^H)%!=^88(_^Q^.)X4.U-T) MH6/ B7,GPLGD2\5,CPXNCYZ/ MO.HI5(4]2?:_AU"=U#_.90=T!^[52P8N@L8OW@_EQZ:.Y.;*EPM>OHWVUJMG MCW=$/ET^F'JQE&[ B"]B!!6F XWP!2/(<.S%BMH!)P+;]+,8$=@FOS BL$V7 MY<0[NT6_BEN_;M6)=ZSZJE;8UTN&+A#Z\/_]BOWZZ/)CX<1U&VPD/GDEMHT] M]8KCJ7/84W^\!AH(>2#D;Q9R-X"P/U]:; AK"CT1Q6%HL*)V+=6%!1I/56,0!9^L"Q$OIV1K.Z/ M._Y\3Q%^+J?U,LU:;[IE?5DCM"_H>/="J^LG3 S$,!!#7XGAQXSX#=K)/VTV M"/_/.#8>6(1[??/WV3'U/Q=3N)LN^392BU7SUNO^G\OIWPV6\H)*$I%P["2G M_])5>3Z?\?>>[ ZHAHX6EG7S,8$C\FM_28FLJ7I&8 9#LI?N9$N5RER4!HU1 M;!3Y]3?^0,48C_(Q@>H&JANH[H>RVRZINJE>KA2*I>D4)RTGC41TF&.UV!JJ M+O/K+T4_4/'SQ+9OY25F'F_!?5,_\586Y@9>R+W \5MT?P_D,I#+J\GE]_SC@"800[]:FG>#,&J>8CGE2JN3#FI& MD-,9KMA3Q5MZEWO59!W-K.)B_;4IOLIOUAX5$U_K]X"PZF+ M#DA*74HH[PAZGU2<>HB0@?\9*'F@Y*\H^77]T,\J^:1O"NHV385D.ZS,6:CDR$]E8@],Y+Q.R$?PRW-B\N6^ZQ/\@G.94/+Y8VDUS.N04_>5Q^4V M D?B72;L=@?V7V#/;KPXGQFWZR*8 NKKB=+<><5)V'?,&NO6Z,#YA_H^-1$( M=7Z+*\$;N-$D3JOWL'BC6;E=,YL)6E;78!!+]@9\3F9'"01KH@\)ZKR 7J#^ M@?H'ZO_UV.8JZD\;$8W>CC23HT,Z-4BMMIWR"*D_!#S, TF_Y-/<8;A&V..? MGQ*PN=NU.#$H$&1AUZ?L*[N'-*?(>&_LBP;X]_GK& MN73K/YSYF![6=A@KF #TBBFYE%_RQ5(R8C9*["CIQ)"8!PI=ECZSMQ>\/1W8 MGL#V!+;G&X*_S]L>LMIDC5FS)W',.C3;,G46Q!(BM#V,$[]F8O%7;,\WN(>! MXWJ'NJ6/?2P"G_7C/NNM+>$E[X#=>F$7=%@SN&4RO@_F6JWQC?TL+SN:)NIU%W\F":RIUU+!V9S662[Y>7Q<2PO$DG9K]9V)^U+(XBJVAY&;KFK# M:84>%N6TQNXX>P4*:@(7XKTZ: E,@7_4(S %/P7M/&\*)I6-RDL\N21S]B R MV)9[]I!<(U/P1KSSO_CT[N]92V&?Z.YEIG%:]#<<7WC6IL8?21IJ(ODGY(QZ MX>K6Q]>;[PGA9AK&9)^P/(%NJ-B9N_K'_]9<+TLPW%< ZT'\.F_B!I M+KL E 8&/%FKCU;L(%X(44WQU]^X1R>Q TG7;A27V)\WN\?,DFG:N+2VTYS" MM/2)?'+E#G[3 +B1A=M<4=AW,CTNIK[O]XX[Z&H?KJN.6\DMG"XTRO:!&(,) M;YO Z9&*)\(?D?4^FJ$S03/TH!GZ=<3M#<=303/TH!GZJ\W07VQL\O>E9D41 M8Y0?C>58EMLNF/4JMEF/*BG1JUE16^S.[4IE-"=#[>HHW>WW6JL%:E84?SHR MG2_S?*>P3'9*O%6TFWRA(836<"<_&ZEL 97=S$D(]NO);8<;M3*=Y'H4/7][ M7U49.=),4!VPM>>S64&LYELB'!E].G*VB2?TVCC3E9==O9N:%PJM.(]&GKW= M3N>5N9B<;3K S#;R8J$Q*O;0VZFS?CFVQ=:R=GL;ZH3:VMA*CNS$,./9U\A< M-5.TS->;'7XT6-B#N149&&CDV40KLCDM&WJW3/: -4S-0^0N$4$CSR8J\2%% M6B6KH8Z=Z\=[9564 8M&GD^TPO.RM3078J?6%"IZ0RL,NKN&5[.D19)MJ-*: M[)/T-EE>&C%I5AVBD6<3[47BW:HE9 B23T=R;-O,]NT5 M)_=RBU##;AF19M6S 1.]ZM=J8HL$'7J7;T3957^[F(EPY!E!*[-YKU[F5BTY MO9TG,EFYN.1R#3CRK/^1/9QWR^6H4I&W?-(*I=*%8;,B>C5UZD;&BUJ]RC6Y M[;R?D&QI.8XP:Z^F3MG!5&!R3HHES*AXS0@/5LZE04!SU.93229.1Y M2DXR8G0*<&C[C*+I37T)1E71DNUR+-:'3RYEV[C_TQE)^UO=FE3S3%2B?7G:D 0X[G4U@NIJ+')<& S*4+Q6, MLE@;DQOLEIY-H$FU5Q4J#;6YMFM+!;%366H #J7/)Y 91OK9]&Q$=IAE+*O; M^1)5HO#0>\A[GF]Y3M$?O MJ1;V-?#ZB6,277"?/L)ISQ63?7[2G+I0]"WT8;BEC7H>0DR$&OVM %%7^$O. M\@KAB9I&M""" .BN#O2LD'=%Q4_;$QZW1T8M*]$(HJ9JTM@V/99LZ*+!J\1O M] BW*R7^!J+%H3>ET^+^T$1UWV(+?M/I@XH:\>(GG[J8J&>PVVL9N$2'($B0 M#.@)ZH:)6JP*8 'PVK'D(_<6_P&U&K85BT<0"KF3T/V!/X:)#O9FW=:1SB1/ M5X^Z1.)I0==6"RUM2.NI! 3' 2;TA=MBV/F57RS@5)PV]@3V:TSLJ5K0=%B' M+Z$(A=O7U6GK>.Y,7[*AZG6DAET8DD)02>R/4Z])#$V](#&0YH<&IGBH.^18 M8IP^H4__^HP$X9S 8_X0OYV8!!*M1Q9*ARF<#D:,@0?)X)A2H^>B$-V<$:G.JG,SY6PC*_TD>GK!K8?&#!##1G5WT2=CB MZ5\520-_<.P)_73V9^?).+4'OA;O&$3-81AT.WP>(W8GBJ)8J, CV !C(IE. M(SM[/$=9KM#RK8#3F-QTV_V9A+U GW\?L!8Y&'W:E0S=@ M$RQXX]"FVW3;-3L69M\+>0:_>&DF"JO9R#&4!T/K[LPN#Z$QSN?5U4KK;..9 M3<'(*D92;;R;A^/7>3A^RD-NLY"<)3D2S[ /!R^/>"9M3+\E_O 6I&ZL M&XL>;UOZ_@,G8(X_^>(NI9'D*ZU_[K?;EG,2$R9CC]C&1VW0Z# 9\,6'?*%H M=) 6\,5W? DG [[XDB_4#^VKZ7.^T&$ZV&#\R)C D/F3+Q$XLX Q/F1,H# ^ MY0L5;#!^Y O]8UN=?PECWIE,^&H$YF9$./1DO4$'UI>#']^:)(>NG,F/=N6, M)<)DW-==.3T(^M)=2!Q7=JZ&.-'E3]4 "33JAVG4=2)Y7W1?^*U$^J*4QY>Q M]$\4DU<"6#^1)*_%CGRF.K<2G$"7WAM#\1LPV5= <[")6P?M4B7P OEX;\C@ M)Y+D-6_]GFQM /0#H/_C@7Z 5JX702")'/A>B'0-XF4'E) MP[T' I@;P-P Y@8PUX?R$L#Y%]YHG'+R3F1%GP:[S7W V" YP]9^2%H M%9570BGA-J\X(E*6IH%\!,CUGI#KA56&%44#B+P%@DL6 2C]&E!Z/S>5#A4( M[G^'N14XO1]AX9RR#\!!)G5#FOP(:/*52/5^A.7W )5#^"<0D(M"51\UB_Z6 M!SKTK?N)7UC+"M!=E#13FC@VNW4J-$C5?#XOY%D>KW"PB1A>I M_!P5KJ5__4T^))/G?0LNME/[38F.-Z(OO&;M,S)$^[G M:A2?-CO>^&_;:/-KO4'8OTYMFU'FGQ1JA"AI\\8M M@69!A]<"5JC?91D#&91HFI9>1L2%6;*-YHQAOVVN/K@6V.O MV@-?AVH*-56KV:SGUP0G5O@PPKF0* MA+LX8MH[S/Z_K_0A]<5U?NF+K,]?(=B?F"Q[I]FP@2#?P46H5YGJ!RK\1,[[ MZXK3G=QA^D)IOX\#'!-PC81U %#T\0)&?VNC+,=;A><5L>FZ%BH3Q$#?5HY A& MSYS ?X(0T5T?M-P,M?O,7GS5LTMB%MS^,N\\JXF+[?EV MW&9S,B@-)"[)E;2"BJQ-[-??1#C^4LPIL#;W>%3C!\($\N'; XN;.6!WJR;? M-W0/=[DID(+@O=_R.GZDZ_7)L[JL(\NV\8BD/'RS9CR1K>3)&DFVK&AD*ZE: M42F(HR3RS="UT:NY9C_,Y#M^V(TUR&K_05OEAD66AWHH]&)<#1Y/2?MA^G8S1.GOH][]L,DPQ<94SZCR3]/?:J@MLJ.YQ.A'IP?T"9ZKT=J;\B NG:^TZF^1*"^"+J->BC[ M06&^,B'J$;&95!P,RV*9D:4:OQN3^6$S-VOXX=[FL_E06.4DVL-9&VP84=";-->=V25DW7[HOLK:^ _A_-6FKFFN$ MQH/>HB"K8R4UD!/=;B:#30O.VHHS#W&:N)$0- M 7J*+0$ZO8V%XV1@">XF+_&>?.YW:\)SKCAUT(52.ZKFN>(F*:?EW*H-RJ8" MBE@7D"N..K=?S17_8:K@<5Q]QT[VK=<9>-0?V%+=C9.'C#J4W7_5XR[(S2VW M:J:KG>666LU))5N(3; %01XWS3S0L?C%'6Z?A?&>Y+\B O[0T_SK)\C>JVFY M'R?]R(P\ZXVW&+XP2XR6B\YR!,CD.M(RVKTUJAP%O7'F(4F^%*0+S@#N,*DV MJ%YZWV[\D55XI[]>:6T%A6T]> M_?.*\;K[OAV&2I4=NY+D4,G:)(K+46?'B4@UG)-T,A&4!T2,C2Y[FM,I$MK.#W(!>%?1*%F^[^"@]FGR(Q%_U[/_70B_[>V:% M+L-M5X1""IA:?TC$WF,!F-NF)4VWSD>2!LV ]2?DC#H2PR>FP_G+(7>"7G@U M #J6_"G\'Q1L3P-SE57&W[3*^+D=0(MQY1Y7/B)T-VPA:1/%%H!3^-5$%PC M!DQL2UK!>5HSWL(R#KX*$7Q(FVC-@ &*-_OGRU&97@498&=K;!6 WDCD25K-1_7'NK"94\-(PA'5* M1%5P&YI1*#N-419)27+)2J0L(3^AFO9+>HP! ]3E-32()M N!J:YI0WEL*"9 MEF'C5,>:!"XI;&?A2,D$(N"07?!R _S< (%3XS)E) "C&@A,[VW< BH:)S#M& M/Z!A@;A=K H:%ISNFE/6DBZEY&5J0*W3?6N3(]FW",ZA,""6C>M'Q#[+@'C& M:M3KU6ZW T0Z61Q25*)?8?UP \X[HN;H=:<]3F_EWHY3,\FZK.0-,141X58- M-^KS2@AO4=E3)AK8'2%T[Y2U(T6]WM[WD1W^Z=[71O9#MW@%[GLN!B)6" 2A MI9P+['ML%";CR4<18@UI]#\7AIF?+^01^_K(SV.R?1M1_YF#)>9(H*MUK;K< M 3K%M?H@5V)Z8&PMH$#'PN?]:@@H7PHB+6+!M>D=.:9W9)2."B,Y%"-3,LA& M%PE#2-?IQ#>DM[J)C2AC*.YDFXWW"M2\QYH:! ;0WSL/L>T)_@#M@HE.$2%: M5+;A"^J^AZ*_K-6(7+RVQ;7$X_^:$)E HB"M%B0#3E W3.(WTF,T@";_3:$_ MXY^I?_^!8P1"TRW$- 42E] -8L%OX<A7_Z5T72P!_H"@$#_73V9^?) M. $=OK8)02!T !&(='P0I)"0+2Y+FJV.N><(E#B?>U%HM@22%=,>SZ& [:]> M(XDP)S,@V J"D4&1L]N]IB"""9,&-BY'D?ZX2RCKM M(TLE]H&]@R12<6<5>-;XW_\ZGOQCO.*)+A^M:N8DWM-8542( W RR%^"E_\ MAU?6_-9T5QE//MZ5_W.(Z$6P;I#A2.P_Q-'/B!QGM%3Y3>B(8B>:Z7YM_QD. MXAT^U$WL./XQ@,*C_08]_>2YF#&6OOA#4V$&Z2[\U5U8E K'8U=BU1,304;OHN5LB#S^#K#,?B((V"1]J-]Q^EM5:FVL1[1J1KE4S7+7% M9=!/K5JYD&';\)=LHJVA0)YT"CJM@GM(20_V$P ? !TZPCL2B/#R3] + QW)0AG4(!D#6$B M?# TJ,)1+_<7;=^IZGII)+^/(%LKNE[JQR=;,C1/=M5E7318='"+[GA@Z3V, MW#3I9<@@YP;)%VM,JM5I)$)Y<42?CXR8_5Z/$YS2J(DAOTHCR9V\WI!U3Z1A51RT+?2XR$#F%9VK,;%E/;E$W#Q[9E_*M'>I;*O5JMS&A6$^'(LV>RBSJO]TJ]3"=4K.MB M02<3?%3TXOO2+%3*H4*]WI&X\331GW:RM=7:B^^;=2*[B)A<@>.C;"LJ&8G% MJK=VNA^RJ&KGV=O'^6VF,VCU]4XOF9F4HO5IJMII./4]G\@2G]B-IVN&E$.[<96, MQC<3B6\X-?E.1Y;-6G.7&V%J[TIII=%9M12.E[FIA&M.E ME):1#3M[?9ZI-_BU5HN2M*K5V,FX!(02ZV47V\5R?1(;5$,DLPA1,2M=M+:= M-=2/LV?&YAE[:46+/5(RXX6LUC2&;*WA91ZYHQ@@: M4QM&VC(_6"2;$\J2DUO/%76B\]BZ8(E,9SF=EPI:U]R./-B"R2K7 M"2V5252),VTYAD:>R0AC<+-T<9>B.NGB,K0;=%?1*,]ZK;W?3I/6G)EDN>5< MEBE^3F5MB?6R-[DY$ZJVJKV9K#*IS2#2M@?-%*+GV=N',3,1JRMR2&[5\U)> M3<7775'TVA/Z7*4HP1&T/WJ^#I\YA0*X)\G^]Q"Z^?/'"0>@(-&K;K@;&,$O MW@_EQZ:NV!;X"O?[^7MA1]][NQ0(TBK]>;/O_WK (U1/^((O_O5_371]-WD^%HXJ:UVA-O.8-X.^V0&WQ* MI[M2E_O0#O]3X#4L[C>Q=RYD.F9"GUZJ5/TKP/<[R<'!5-(?-954[)O)Q#Z/ MSY$*-YLOL(V!;;R(;;P?R.# \U.6E]RM%]]J MOH2)]5E>\WF#H R8X,N=ATO$%[.M/EOZN3I]O;?J6ES?5S^X6DX511_2'#YS M$9G)1C+$AG/>'WV(TU>J'AH+:B[L \\^(\-%2BHXD=MO;V@^4[GHRTS- MEY0]>KNE>5+U!0,=!'$0N#E-UGJLB621BT5LFU! 9ZLM397.Q5MC;(2;[G=W8]^5TXD9>KD'CU2)E/@,@-\J-\!TM>+NL #8+"%%B%D\B47&L4 M.M2&EXU<7.W&:_16!DM MNCM+DUOF=C6;4^7HNG"##F(7N)Z3V4F]IMR813H,WRJPJY*DKVJL4ZZ&>6#( M*QZ$^4U/@QA1<#WG&HW%KFMI_ &3/G4[9Y*WDEF15F0.C/-S*\>-5+[%.H6P M(F3XQ2N"7] VY<52-T\-QVFUTWMMB/)8%-ZI*(MKS$XABQ]+P^,R/[CSA2,8 M[ZO]?(,R\%>.G7Q)2?-WAF-QI?-SS3PN\C@I]T(AD;G:Q0'4$]R7[!EQ!@$[JO=6_8[TW3R$X$SJGC<1CA..5:F]2:)&; MQ3:=5"=-;S<@MQ%J>I,-JKU]9;6W>!2WXPQJOOBM& ^-:]8'?/$;7Y(!7WS) MET!?_,F7H B?/_F2#(KP79,O[SRL?!6&_: M8O?^B&.)CXK9!48Y4*4[-,I7K;)\T4O&/TQ>?J#I]:H7&IC=[V9V+RP4;V[U M\!D#>S^AO(N6:KY;6;F8<;T?P?E\86;7VOHLK>!K"C,[FN*SI7]]8DGR5F3P M2YK7FVNC/G>/-%Y/;&/91B8C]\J3GB:6DC,N\STSO,@&6^A'M4U9S@VTHIT8 M3]5,5G2+ "6N4GXY4$/_IKE=(K\K>:O$-?^D=WV!A;F#S*[2:%#9U/--@628 MXI**;:EDO,XZM7NB5#A"72[]W0=.YN7J+G]-D,5?UO++#SZ^8WWF]^:]^ ZO MO%J9&5!E?6=&2H!+)SK&.$M*5F8@.I5[J 1S/;CRL[3M)U8K>NT*J!\MS T* M]WS! M.^1;.;X+0/VE93!]";TN5@K\62P=%+E\9^FYYQS]P:R1FHJ)Z;23+EE1*[[* M3J<[/P837S_\7.ZB"ST>+;%DKMYH[,8+*RKEQ1%%XOJ6S!7#B3Y3O\#S"4X_ MO[ZXY<V 39Y'M<4\_;US7\@*%OYX: M%O7'5+_$Q2[A$!E8CS4O<:FSM63-W+^$QDCB<+4S.+F5- 'N)_MJ>E"S!%P+ MPG3JNH''LFBX)!RQ@#H#\.&<&G&VN2^Q64$Z M2Z1Y0]&)EJ3:"M8)0M4%H#A31*.(^=L"KPO; "-]MVR0TK ]ZTCY%M@TLV*= MFOKCNM67!&$/$8XC-PJI3!;J2L%5E2;4E(JD03=3/<1!0O11]?/UKIT+Q<7^ MO%.J#;,BE6P5J\;ZU]](.'G>1"#TUL!XP)_W\(??O, ?G9G-!YWJNK/-%3NA MDLU4+*;QZV\T?,$;^CY 2-QF 2:X&0D.?FH"L96 (ES'RM^32?>7_?[T(;$_ MDVM;4GHU!"4X:IZ8(D:S4A MUFC:I5B/$T=1G/S*A%_J;AB'^N0B6[?+*]91:Z5IDIF MM8RH^7)PK//5_79B/S1*[;/S CI,!XSP R.H<.2'=@CQ&2.283K@@P_X$%@F MGS BL$P^840R3,4#1MSL+/]5T/IUJTZ\8]57-<*^7O*AD&3LP[V$(F'Z196[ M^FG\:\?O;=PG%]WKG)D$A_OD?K9.9"#DWVG)%Q-R'U])>4T)O++F?*X%B3=( MQ"LASM\XW*?;)J\)YC_?2!W.UNYQU'.1(L XU>C[BO7YU:IOQ-,W7+*[3N7G MF+^OU[V!Z9%+V*Z;GN;"9]8-7; G%B& %5#T!3IWN)@1L2%6;*-YHQAOW02;QSZG8XIBN[ M)ULGY_)-8 *$=EA-R#QJEGNHZ9[1I\I2T0BQE:R<[E7ZR\+(S-9K'\_4=L_8 M@.!]!.>^VR/-VJQ&*M)0W29(4"L.VTNERPYBZU%T%/GU-_X0B4>NDV<=6(CO M;B%0F.N'FXC(L8F(7-Q$;-AH+U'FTTW.IC4>S&-I:5$0O]Y$@,Y:,!=R>D6& M6FS:G#4WU?RT 4T$\^MO%)J(\XO '\%%STG:+8(=+4@!\\%-!<8YMAH$OK8) M)PH,PK07"]VX'%+Z$4;O2Q=YP8HU+YXSWI])^P3J:0%%@;2!%JVRUYM3>U8D M%:8SJT0!E\Z$XOWD<#ILVQ_OS/%A>U;IJYQ2[M5"'+/6EX-:BR_$-NPHAB!/ M["$9N5)IF4#5?:[J+Q_ 5#%EY0)4TR M+0,?%0>.V^4=MUO7&KTB[/'A:OUD/3^!E%P5A=:3/5'0)^[?MD_&TA-E)[=2 MK#F8K(J-:?X&$:(M-.&&6<\U93XF;B@MNM4:'.H$!.$2 ^$2'42( D-SZ3#2 MK9?K)TOS"9SV-DNS,N-BNEYOL MVIVD.!-9&@S6DO3EP=J7:LW+F4)WX&.>G91^IP)QT51G(H1J9DD(TN$H:0KM.)&VB[.NLN=O6BR'/V1,I55I.!U6%1AS$( M4BCJ(4&]=&+^!9GI[W%@WII-CF:*6"5I3EW6_0W]H\2#B0)X XGY[-_31/8( MFLDU,@^>OO;T>KIZ./10-X8F8@[?_O M=BW]_ 5;#:FU^BYVZ) M//P,LLY\0!G\X<,UPMO/LEIK77DHDR]]$^\<_CA<\7;=^IZGIIY!-C MNJ]Y0&\JF90!*OV.JD2I:D,O2JHACM!0^F*:>(6:ZNQC4QPB0CT0")LC*AJ' M4@_/^KR'ZABHB,7_7!A//.UW8%)Q,"R+94:6:OQN3.:'S=SL]/@Y]@X \:;2 M%X*:_^'O4WIG3UD"U^ AZC;47DA8HJ[ M!_U&$) F_^5:]3K^D?KWGQL7%RIHKH6!8@5M#*J@D](ANPE^L3"@! MN41T5 M3G*+:\S%_S7Q8 *M(GQ8H4D@2\]/D!E2)'.&OPFAGS@C%CQRV:2%:Y4U0I#, MB0$L!"ZF< F:Z.J$&290(PGT8*1:_(J7% Q"H&YUPJVP:^F 2V.G>(\*Q1 I MD]<\H3B%O+[HO&=B&P:TQ$]G =58A,R"4\V "0[D$H[UC>#WK:$)(%"=1!V1 M;GLPS1:MP]R> ?H#Z::.M2]GB#A>FM FI*)7QC"J' M!ACPO\ $ )-D:ENV 6ZF&1VXB3F30MR">S[\GH3F=<0<) \N]_C)TI;@[TY; MG>?8!64'4L#9U8CQ%DF3[?3I@,280B_"/)*IK:%#1@@ )5J@2DX._1=[A5M M&P(>?+\_4@![H?':T&2EX#.A#M'A%G@7]W?/'N][D3H+RX7X#Z!4V("[%/Y0])V6_)?8#"O_?[88([X8$!,.WQ#C6# M5FI/D$<"("KQA.J4JT4O@+)(J$Y:[6,_%.N8O*BJULV$K_4:[-DKS)Z?Q[NR M!I>*CFN0U0XID@8(^" X!F_7Z$N87A!>@GV'FJ,=&_#05/)H/PP3K\X"8U.' M[H?)6&@7A9]=&I2]@A=,PQHU45U!?(J%?G.+W[HG58?*AW";JD*H@(<)J]GH M@!308O>V'HU"6X#[Y88]28\Z4I?DED7+G,T'['1GKC\, -\903I&[5@C@Y/Y3 M7P@S[N2CR /4.1-MO'A;#3\38^/W(<=>:-RCM-2R([=4<3U08:&7LZLC@1S9*Z7FVX=*?&J3:4P5)Z M#>7I[.VVV&M24CN>E+?#S38?;<531D^$(\_>#G;53B23G!9(J5))]B?=ZG*^ M1"//WCYI-;OY6ES6WC2SIOL^O0'BZ)^P;$)L =_4Y'4%KL=6V)=F2O/2+H@@4 M15@@0&.1Q/[U-S.KL'"G)) $*9R8:5,DEJK<,ZLJOU/]^&VY=14.3OJ_CLKV METH-5Z0GKH3D\J#YX?I3Z^CLXN1CWSKO?+INXR+0Q)7M_OEWKW7[]^E16*]\ M''SY,!SVO]Y?-R>O_!+\M()_AZW^;?_D9WA?_GG2<*_QR@DJ5;^_W?//>IV+ MLO[OP>G7!^?C!W[0ABLGJ/3^Z^#R5^^L\>'V5WEXT/X6OBT/O]Y,DZ5+QZL8 M%^WS\RO]MFG_,@\^'+0^3I60 6OG\?V\7>WV M]BZ9=?6N6VF^*U>/+WX.[J?Q_1]+._SUO7SCW1XXU7=7/R^N/__3F,KW+X/J M7OWOHR_WM^^\[W>UVM'PW8_#FVE\/RO7!JWSTWOOJ/[!__KYQ+1;'X9MT5)V M[,K/US^U(_W'S>W9._;KPC[L=,\UO'+B[?VP_.E=9_CEY)9]'5Z9[09O_FW= M3Y.E^[][[WYJ'[]]N/IU\_.H<7!_;_?+-]-DZ:O1ZQ[>?-[K'(4_+]Q*9WC7 M^;XW59:Z;_O.N<9MYZA_;/_]L__UZ]>!B5=.S"B\,VX/_:OO[?)9JU7]?O'K MGR_!(2Y;1#-:<<_0MBG@\IA];#G,,2QFGSC"N,.WAY!IV:X/F<)D+]"WA]:_ MAMG0WY4OJE=7Y5/MXONGF_M7<8YBMH,YUU']3%M1Y]")Q'IV+*A52I-X-1T>X?92DR7I FLDB+1]M06VH8!1#:C+K[^ADL'T7!DN.NG4;Q'G72<1T=^ M6KGGF!QNJKNN'/E'B]&RG<5GH2!^9'K_^.ZL:5U]J-QVG'_:G=Z15K3+76^[ MW'*I_D);\.4<;:_4*OB22[YH+[2):\[YHI7*!6QH'AE3&+*<\J7R0EN^YIPO MH#"U@C$K8\QCCUPL"I W"K.[IMW+\RWXRE%U9P/G9MNMM%&J3AQ>R%6'OT<" MZ+9]02>W^[RV?RM7@86PRKGI8+IR75BC-TNJ[I#'3VOUFV"MURRSI MT^6B4JKLE"6-:JR3HO',CJK"M.8,'_,K=TS7PUU ?;$S/2/!S]DT-W%.7MM, MB])Y9,CB()BLON2SL^((DN_FMVLO<][+O.OMRW44H8P2H=0_$+LJIYSP.@\> M/G:.[A]^7M6UNV][=^7>^_MS7,ZFEJBU\DKZ@Q5ZG:JEY(P,&>DU%B->JEYK M>KRI[-LWK_WKY.O]6?E"^]H\_\HOWKWM/?X@YQ,4NV5^9B?#VDG]:/C]8C#\ M]OY3S1GBGI(Z=K+1F_,4.W>9WF),\FB+/^[YM7P_AI'MN$Y(R_+YC\)S::'F M+UMM$^CZHI6>'3) F0<6\<8F88/>"J6:;7Q^_&-Y/T_?77M'^O#?]^6:\^_5 MSZYLM-Y2&ZV5-%I_F0HZ?SEFNQ1T_@K&#BEH]A'"8S64V^:/BO9WY6/Y;%!K M__C6O#^Q/\D^YWI9;9:S:72>XW+%N3RMA%$"G7^.CTG%AT3D+KHBX]GI2D;6 M(<9+37M6'75<,)MYUCRCUOUQ?'MV]>[BX8J]/S1.FKW6X5%=-CO7-+6F%]6, M%U;-R#HZ>:FZO?* 9;%R[VGFX4E8.:R4SX8_!L/F6_[/9>]&=#?7RFJ]/*\W M[_95-*IE[99B$PQ!4B=8BT2IJ&04E8QGQQ3G0JO:CGF&L?^YZP<>#RR/CB(= M\J[E0!+%'?@0X%'>R"ZECJ=,,5%OO_>"\Z^MS]_*9U?5Z^:G=MG1'VY$]W!- M+:\R_'AIVER4/;90FU<71:Q$G7^\_S;\?G9\=5 .;SOU_J=ZFUI>HSJ39 MESWF"& %^FYVZM6[#2^^'N]=.;>69YWYM6_ZQ9>/;='TNZI6ZO.P"@ISL:*R MRJ;U9<-EETU//Q?F8L5EF:?:"\-I>.[)X.#B2M_[&MP&;^_;WUNR;7A%K35K M.U6I$5 G;*SS0I'9/2.$IE>;-MEO-S4 _-P^OW MMY;S^>W):?-KS_A\<]W$&*=2577LJE\4;S*,:#8M^NO:!+OI>>9"Q5>^?K24 MCA^]^^Q7W_[="96SAZ?$>EC+ON"3 AKMRT41/7<<5(W5N MQ*C>#@\B>DPVZ/IV<7C\_>?'UL7MN];9.3O\\(_?"-J3/>RF7[?2'G9%.Z^G M 406S2,VT]5C$>Y=P9>-=<$INA/ED"\$(UJP)6]L*OE]>Z\9?7TK_HZ1V_*B5]M=O/,NY#\E>O.5B[5*KND QEVL-LXQ^=. M=)IZ9R82VHZ)Q#,[UPDSF+-=?2=(%>X'R\=P4@^JYO7M7JW\]I8?5P=- MSSPXUYMKT?+^8>OH@]^>8I@/8]2 >,D_/XX^BT8T>CG#HTVYK)6(K:]]RS>X;3.'NZ$?G7FBG;!%7K7RO&K3 M1Q_7%\KDU>4C>Q1+A.B[?I@Y7K66/:]"SS58M>3;B#\"JDK:($ M?Y%TUP=%5O3!JO[-:8"H5_&0JOY>%@ M?+XT?C6!RU(:;WW56?W;J1L>U=_Z_[PS?_S;_OGYLVACHZN-RN1I\?'UIEG' MQ2?^ILWIJ2WXALV9AP+3D]2/Y0')OHH]^#-W"6G-B.\QT[76^,;Z_QDY/Q!' MXWCXU?7V(\E-S4J>6]!)B&_XGCB>P+KPXGUFW[.A'P5RK5*L^_NQ\",9%*U< MJM1^5U*?D1P3M,2#M2F*C9RME;>-'J^-OEQP3$(R)G '^[I6PI.\J>/%5:W4 MJ*V(56/ZJ%<36\V4GH=:]+^79P>SMWPZJ![VR)9/^=6KOR[I"+/;Q7/K@<#Q ME&:@$_L2FM$6[T [)'G[%YPZ5]_ =L,Y7\CT\D)Y?77:OCH\ M@=_?*&N]WN@VX'OI+>'JSB4C2'!T &J/@]YG'%9 %3P1W8W/<% MPLJ]Y>/I>.R$\";91CC7]HVJ[C2-!%,J.PN0WXBZ$+P]M/XUS(;^KGQ1O;HJ MGVH7WS_=W,ON C/OFMN38/7=)V9%7/&1IU%G@!Q;.@(;F_&T;S8PO:=/:,4] M, X02)#VI?AMQSP@.MUPQ["X?VCYANWZH< ML[^W]WE%[2PFE'.V1FO5TB1^=VJ.L@%):I89FIXE3AO,'OFJ!C7:8Z/4F"ZY M])6%O5R"_3UQU1RS:)G\63J: ) MK_T(1O&&?@"=SM)EK(!$QY[;5P)XJQ*X]*\JV^7T0;&'BN4K?MCYR8T ?[]C MGH7KBS:_8;8R\%R#' M."PY3L/U09_N>QR\2H S@H%W**H20XD?-U1ZS%NQ9K8,RAZ:DEIV^BI;WIB_F% MK85@WOCG,E3&,3AN@,,8P ,M PE]#X17#" SLYQ@J"H@4A#*HSF!E!4((VZP M+7X731UH*E[J\Y$7 4T%!)M\V[UEVT ']JBZY*;=%U"7C*_I^ Q:>!]["C3N=FJ>RWQ M&Z38%SYP/12J><[ET+B\NOS0-V]OK<^G5GMXQ=]]/+K)@7.I37$NXK]R>A"< MBYR/!U^_/-QG7, \.3T>J6?L^=S F@:>Y/>Y,RY.(*<=[IUUSZ*5 M&,F !-^@+,3IE'G>]4GM+;S3_?OFJ'XP/.^=U-_IQUK[U5^NPR=J&TJ\N$-V M822*PT'M60][(E[;?T__7->JWT[N_VG\^GZDM]Y6[WY4WFJ'5GMJ@)M!9#$O MJ?5(N] &QQ$D_:-(5HZ8_=BD&#V+=U/31J80%%.?W8*M\OB=Q>_]E+VQ$B%' M,\50$I+>;QWF6V"> O>&DZU+F\\QXL(?]"3'X$H?S#Y8 W0C8,^M ;/! 8!S MQ$'$0P+Q[8!95WKN/?X&U[@&O!3-'O@X@PM;+A^5?GQIJLW+NDXQSG/3\@QVTM&N5&YKG8JS>M6M=FYUK1&O=5M M&-6*88[<<1+POOXICD I20]]M(U@^=H.LX=@?=WNL;QI%72?5S3#X8F(2-\7 M_R9CC1U.,F8RU]&HD1''L9,YB():NN9+$M>FNHEF7#K,( _,KNZSLL@Q/?Y* M?6X6B]&":,A*<<$HVUB*;>!\I^4C=-WTE,2'/,TV9;Y'[63AKI^A(R)2BAGP MH18:9*L_J\]L(BZICK/BI0+:&G(S# H& U!;G .W?0YYIR>39!C]YY!! NU! ML"%R$P&4#:]FD.SB(Y)Y^:/O$,_&*)A1J(WA#=S7=IP0+I9/@\D<@[D!,[WW M@9)J3.J&,!J%4X.:0VYP#&65BJ8JN/17@AQ"04$D0D"0@\^$@0:NAVNL1%Q! MB9&H:VIT)HH.4SDHATV)_CU$^WNVZ][B-:E)4NX )M:F?!2&,4!,,35.R^$C MTH%RWR[DE6=(-2/ V4=,-XC+I@4YK1>GN$#K+M5'>BXDR')024_AV2,J*30Q,/-UB(Q0U1KO"L3AB(H@MEW^+-W#'B @:?]MH,^$:D6"Q>:JJ.0H4O M>G /= "_03N@0S8YX,3*4Y PN.^&>?3KL23,1TF81.9+=*/VY[IRSD!QQ\-UI9+R=J@8 M8 HI-^J[6.&*7@1:C$3 M9[C^T =! 6I[KG/#/57Q&>HCY4KX*DAK(5\B:^'QSA!K7S[R"NXFA626I]PQ M.^3)0>"Y\) ^VEXCD0R@MDO:+.0'Z>> G1"V,WKV M(.S8E@_D!TGXAOFN#8S' J_U*Q1+C,+?PI-Q;!X5.=%J@0V#R()+3]EE!K#Q M\*MR;CD.@V 5\W +B'$O#-E# M?T#Y>WK"X@Z0!R)%K!<4*@B:@N57;OEP5#I2!!%^*Z(,O[/ :I,[1/NJBG&Z M0L$4#)30Z6I:&?T 6GY.U6A4YO2$T"-9=U@DP*])K.FQ9R,71;ZAG]1N%1OD M"+NE2$6-V!^)>R(68[,=XV5$?5$F 4<.8J4J1)&]6 9ER8)JB+XLP*7)UF<_ MP62(=XSK%U:DR1]8@0*/L3A=.#%>L$(#>PBZ!&-))@[\[X![[('2W(ZP._5R M00^P [CVD1\#0*I%-MD#2^V$R!T(93PK M"DDH\(L)EZ)3AV&H((OR=ZX=BH4%(<*C!IEH[\L5&7>JR8F+7:^EQ_]$STD= MU?.53^(:4[KV-R6EG>)H&$ *\:^P^J#O[1 ^.*B&;5-HBHEHL!;Z#WA;@#7] M<;E1?D&\8^&*!@@!1_N.6D*&[X'$U* I=CV(A%7AI\AQX!WHQZ/5'?S^AJ,E M&/2&)'J<&;V4L(R.?,"&2HCRDV0078\(@/MO(CV8R@60DGX MHC0X@T5S2"LO!LGN\!ZSNZ(^"B(A9MYW0?ME=D-M8>EF'*_U@*M-9\ZX_P=; MYJ%SC$8"8\6:4B(I_@#"1\$@? UIK3 ]N/8T0 MF >UBWP]RV;<\CV('+[$, M- DFS Q?5R9PO(J$)4_@&4D9 V?!X+G9*\C%R>JJ$]W#"@;)0.AAQ**.6'8* MYW!)#E) BSD4R:-1QQDA: 75B9$N:=&AY4A.*Y#R.>-.Q)\P@0F=',Y-7Q&! MD5Q=RXFQNX$HU1,%BS J4QQ?<[X-AZ8=] MY09R&Z PEV7W #P/-V.YIN7=]"4>6:(5.X-GY"@IW!O@_=2*4]Y2%[$43;*: MN.!1M!U/YK,C%9HH/4>3$6N&7"/:&'\>W;CSBQ#JO%7-1B-+*DZ,.!!C!N/BV3 MJG&U[X8<8D10CV.4CI$'T?D>GH")A]*J_1X7@P+J-DW&TI=%(6JG&U6$JC*3 M ZWCBU\A' S(!F6#5"V@HH$9W\"9AQ,@7D\+456%=J"2_\0]%LC"[O1'L4 4 MRL1N'1>[*@4SGFE:F+R82F>X:'QS!L8?HNB!I<>&1)%W1_%3O/TF6MHU<7P^ MUL.Z$,).>WQI*Q<2M6(AL5A(7'XA,0]^[3C*[&1]9*$!).,Z\E6%RI61_S*5 MEO;[F"&8;49<@,U0<0RO>8/UK9&7>O,LF=V&\"KZ4R!KD7N'!(#B5ZI"G3 MIJ@N$-?I/ RO<(?D2.$OKOBDTQ]90AM/@H Z/-NT>1_2I5]) $FI\ELWYTU M5UD)'"G$S1["1*(?$8>( 1."$> Z$\?MFM@B: IAIDVC+4ILY,RB6:3C%'P5 M5;#DN^;PVT=/0VFTSR@%/#&I$GA^-(25;WSAM@[UQL*@RAU]/5>GKB>=]SXRAYO-*-FZ/%$N>XO(HH M.26UPZ@D+6K=^"!13K"\T7IGEQE8N*)G8C28;$<3,HY_IFIE5,N+^0R. NV% MBV)_D9K.5+F/)X^AKMP!EZ8!\SRL&:166^,Z]'B\*ZH]T9(LEG:B-)TDS$N) MKRDVY?F@GNBE:).]V)4G@EC:9C M3!5\*2!&"[:D^J246P5?\L<7,&/U@B_YXTNKI!7ZDD.^@!VK%7S)'U^T4KGP M^SGD2[W4+.Q8#OE2V+%\\J5::A1\R2%?M%)C;I_'@B_KA'Q?6!7;*+SSQ(Z? M3> ]EZN[!&PZ!2']TT((Z)4YQS4U?%LUG/B3<7,;I=9J<:PREIX#VN'ZHH0C M>N\!/*/C6?">][@PAA/%=S+'WYM*];7+4KU472V.TAIDJ?!>6<-R5YN[Y+TR M16J?7T?/V]1G]9U:):9[M;YCPE/9%M>U[<(C IO=D9W?"L%9C^"(*&9W!.?W MJ0'.6(6C/"->'"&IEM!T9,Y_%&'3$Y/^=(:?+XEZ]$&HUR>.4,G+J$_YF^Q0 M2;8C47MJYK6:9;*M5J'5K%"]0)*L1W/RK">+EF%R9CLV(R:+UD0VX()FAWQ; M7*N9%ZA]B39D#Y/#H\%PP/\T*22JDV5Y33DQEXG+;WP35*HZ56=#WK.'VS MQ,FI:U0=LXQS-3AWI+;;:R58?:IHF34W4H;\:(KEH=1#2^(^K04JN5 M\@YH0[YD7\3Z.R(B6B7K\#]G\O'[-E?F4XU*=JC4O@M%]J?J6[6EZHU:45C? MM<)ZAI*]Z?+XDT5;4RO-;$6[J*GEH"2>F6BOI]*]DC(+I)69!](O,6K>1N9K MK:)"OBL5\FG]^U99*]_@ANTU!^,YG/Q*C(&N:AD'.1NO-^4T[IE1<-^T5*TQ M"\CA[%>B4Y X:(T=J%/F7Z=F5.TW+55K3#]R./M5Z%2SWMP!ATCVO0L5Q*0 M5) MH&"^Y0<1DEP"@H50KC>$++B?FSG\QYK-%$0$%_.(@-W^\X?UER+BZ+&?HEG[ MB$D&K[-L J@S7/R*<._DA7M^#WY%L+DT[AO!(R/VW8!Y@4/ 7Q%@H])S!: Q M8K^I M-.1#_BZ6H"T$PXQD!S3PFXT7-O3: O?68SC^ P.ZX3TKO\P#5N]P1"F>'V<0@" M_! ?U>$.[UH!(0O/& 9*#J+D(6PYWF)RVP(#&R-'3H!2BZMP\ F\XI9(V;GG MFD!IF.,=M]V!!&"/)6W*SY/*-B)U*V%5T+,\D^1SJ( DFZX$.G7#P >.&' W M=V#^G)-X1_"D0G@2)&=LV]WC#-&ZY2+O\PQ8",T/,0K) _&!QX*A E MX2\$L1- B#1X,0]Z^Y@TQ]*:?B'=2&"6701;)7Q(-B"I^%?B\ E(1B8P6!W" M1_1,,:KX4FY.?[P8C<22))S24>'+B+HT(XY?@N@O2U! YT!-Y)<8XP MNC3W &R$24H#RHX10"#>'7C,! _7<^_]:$@I^LZT01(Q>-N [O4"Z+X NM\N MH/OYQO\=@?#:0L=-Q#I&I&4(9!/#*X4I M@[ #O"#GPYQAVG<)NPW7XV] 4**7%T9FW^,W8?SRP0 >0O(LKV<.!F,V3#W" MFKXJ791@0&" R=9C%$A]ZU7Y(IJ*"&SHA98P]_0F=+$$)0YCO9'O'(2>'V+\ M)>/(Z2.3V?/%T4&4N$7>,R%),F4+*.<) 0#BW'/;QG\I9-\3(?O$6)D!H9]0 MOJW)E$[0T8 121(*]OX;R2+3X6RGY'.F[R#^.7(/H-'?I[\-D500@>FI;(A MQE"0/:$X8(PMF$M$Y7>N?8<\/ #_;@7*L4"F)XF6,X([.B+TEKCK]X@)CHE7 M $/'>\%W2E#WN<^DF:8?*\T&J"=$2F "+A<^H0.6W$^> 8.Y.#O^ AE%B#*< M5BC!9+1E\(,3]B'. 3Y@.4XO__G1 NDSHR')1 )>*^T57J7I?QXBO<\2W2G1 MW=J?6R*N9Z2WH*40<5-^E9;7B1]GR%Q,:B"\(VQ2]-4>,@.9!,+- ^91$L!E MA'G#+&E=;==':X'L=CWPY8Y"P22&S6#?(7 WUF$$1J.0^7T8T0V0"91%4!A= MW(-Q \7GB3$N58W>WM+S ?I!S_(32S4+,VJ>#=UTN1HCU9'Z,ZU>B)QK7I5C MJOAMKF*]TI4021*9AXFU*,C!;#;P^7[T(3U^')M,63"2-T0&,)HDI=:J9(8T MF81.-,#7Q$R7W$E6+=5?*(3@=(7>():C/G=+7\&(-3&B6:J]4-#FG#'BY:(! MYXP1A6G*"2/ -%4*1N2 $85IR@DC"M.4$T84IBDGC"A,4TX846A$3ABAE2K- M@A'9,>*QAQ47E9C6-^OZ(V;]: 3$F099*]4F3GFL]=QJ?=XNDR66$6;5K,7R M2T539R"8;L=)CZGB\A2D>B3S!/76CE/>*C56V[#SN=(T#:O^90K+!F2CM5I+ MO K9>)GNYCGZOUFD^>?* "Z";HMUF%Q@S!4 N/ %VRT+E4(6"EE BOU6"$*& M0< 6"\+O4^.#L12^/,/WCM!02X@X,LD_7EC4L9K:>_:*M!A(.WWB"')<]MP0L@[3?[.]_1?FR_=ST^R<"GS^='Q1$7L'IYPO M22^XO"I=GK\HD-\I/RTR66\CSN;XW+]DV2AP>HOX#4:T$]/-HCF4V(>8OXG. M:P>DEVHCYU4WUCEPTZUG9ZM[<[WA>?[D9Q6*4LGC1+-7E-4T&RP4I5"4'5.4 ME30??.EZ\G+$)]/FA)AGY(]H(Y+U#+S3E=<]F\DSQ:&X1DF/F"[/^>V)KT:F M--Y5[C5_,.S0QQ8,=/Q\3M\D.M@(_\5^/BS@-A[5MMW[-]M009I@;6:]JA<= MB\JG*NMUM:YM<1O:')C][9;9U=:U5B.S%;55RSP=+F2VD-D5RJQ:K]<+D7UQ M?->T72S)/Y;I6UF2G]*Z=97%E&TUQM-K\-NFIY6Z6BDJAVNK'&ZKL$^O[VR; ML.M-M5;+%F^W$/9"V/,I[ VU6QM%(U MY'YJU_D77RO9PIIT!4QVHZCOO5R9W<(ZCUY3&UHALX7,;I',:KH*\R]D]L4Q MOIIYT+N-3-_*HO1LY(RB@K&KM6E=5\N-HEQ7E.M>1$&F7&Q-+83]A0B[IC:; M&<9BA:SOE'1DN&I1E*;7:ND.YVV?SLZ*_;0O5V"W<%NE7BLZ/!0"F^^@1J_N9,_[%[/A>VE&9YG+%'N\UVJ5 MSH(>]Q2+BLFJXO"5MAW9U=7%;6L-OKP%5_6&7A0J7F*/X]47ZG9"/QJ5[(.< M0C\*_=C\;+/0CVJ]\!Y%Y^_EY45KK*,,7NQG67N9?/KFE0[ONAZ7V8<2L >> MW0:6;?4%6U@\;ZJM2K$3\>6*[!:6S[6&6L\>Y:J0V4)F,]XHTJAF&1*]0#'= M&EY7BRKZUE;13^((-O--(/G*7XHR>@;G=AJ-HD=L43)\626@I^E*3:V5BYX5 MA:Z\+%U9.F2LJ V]6138BP+[TA)3SU)ZOZQ_6BO H-"*O<&%O"_7[F 'Y!T[2V??L;00^$+@\Q.VU=2REOV! MT1#?7E;]!VI5/REZUO8$V?? MXS8UK<>GCSR7&!.X@WU=*V':U(<_Y<2J6JE16Q&K1B60*3V/=__[ZG\OSPZF M6DG\##KK]9DMGG0OABB_>O77):J'XG:5 _@5>._'HLF6$<]1ZDXC6N82^C/T M ZL[%%]9#JA:L%^ICY/FLL>5KFO;[CT";I$14'P>^/"E%_04-_1PQB:NMIGX MB6H,+( _OG _M.%"H,E9W!H);U,">*8_X(;5M> Z^,UR35]A\'_X!VH.2#/> MAT_W^!UW0BYO='T>WP#VV$)P!LBT(BPC-H939_J5Y[+TS;/1!AH4F1Q*<71Y>R#LAE&/ UF)+I$9;V MB @K\0C/#"M:)7UN@%DP8DV,T$N->L&('# "0HQ"(_+ B-:"?8L%(]9GF@J- MR) 1CURA6A@LY;H(!$$H?OG?5[573Q6_6JE>SU/[W]&\7;ZD,_(2F?IU7-ND M!,GC7/D$/_1\Y0BR!%/YQ#RC)_9.5#0UVD31>?HZYHY(B?Y4*='T4EG;:BG1 MRWIU5 16%L-D7PN<.S,AWI/_G9AM!F*@E5JM;1>#2A:68-.[@[Z(HDP&TBQR MU W,9]X2:.5IB"^9(NMBQKAI-O\^JM 9F:Y-SVK2LT6//8!I=#P+'O.>VW<< MIX:/9(Z_)Y^[EE6RU@9Z!&^'3N1 >F;HQ!9$= >N'V!5/:JHO^8/AAWZD)3A MM^8\!#/%[[GW\%\^8!X+N#U4.AS2O3>9.8#MD^Q,3X_,+P^N0!8R-NF%_7Y, M<2NG(JUG;JLW*M+;&5F?>ZX9&@&8XSNPL(,^9!A%E)T6TDQWU>8AR"ZBZR*Z M?J(N9 JVF(?@>@NCZ@MFJ8G M1XLX>?+0R7#^>5F;,SW1L^^YZY[#8S-^-YZ@Y01-FK-^"[IA'9YI4YL!F[ M%J2O"RI]=X+U3,_/%['ZBS7U.Z *6J9MH8M8_4E#7@&F[I96L5%3-3U#32U* MV;MH>0NY+NK93YS%*B @\Q@9+RN9K[/%K"JBX9=JDPOQ+P+@#.L7JT'+VM&J M=?:+CWFNT14!=5&U7EC7J!9EZ]S'XBL!DID9C&^:@=G+^!H"]TT3K0CL-^\; M\B<5F:M2]MXB?T3;I20ATX[_TY*"]7:%W99ESDV3:)D#PD5VL.+L8!=40\O^ MN/RF:;2,;FQ)A^FLV\=$#6;'W FVC95"<^H&?%\YCYOB^DJ?#17'#10_["MF M"$F*J]#(@6^EU;;!G3W*6?V2K0">8(ST2Y9]<.+^,1D2]PGM>\I,1A/&H,I%4U5L!$0\NXWK5HN-1][:W7%K'XTR=HF&2=XP2SJ-4J54>K5 M@7K+3A=[0T-0-6 >_ 146XJ\JF)Z%HQ%&7@6C-_"IA5#!015:_X>CPZ'\(F; M%E,N/7!BS!!=JC_!;R&\3%7@G8'%;+C9[79]"._P&8K^NV+R]!/$Y>F'*,>< M^R4E-XQJPZCNQ+;KZ2QJE:JC'*ILAD,W,*8 !(F9[H"&*QN!MT-XJ ,>4'GK MX<;QBQ#LBS#DRNOVVXLW"K6-I'WEOG+/;1O_Q3L-K-B_=EQGCRX;>.Z-Q_I] MAL^*[O%QKH8=HB%5+@SP$*:O7'*CY[BV>S-4+MH7RFOT"7KY3_DS_:7]^28_ MRBCE$)L&3&'R;XU2:Y3#K0!)ET8 M9#_P2--S[Y)'^7@]^FV'H^WW$:P")RCOV?-[\ ZT'Q[XD1NR,&#]4SX#@1,L MN-*$!]UQ/Z K\*&&[8:0CG'OSC+@-3! \"5WJ+H^Y&6*EL!*-TP +LFI[9%^A)UICE,.M,H1V)YQ,^;#DSIHA,MY?AC"M%(PF]2 M"+V1*$3SJ5%]I9X$4YDJ!'-&0MMQO<@Q.1NH17@]AW0;+A;O#470ATZ:%: MDB&E1IX2_<$TMG01248ZCFW#<*H6&$X%AE,.,)RRM/.RH7EDRJ*7M)PJI5"_D41M>A42\OI0U!KA13>2K(;K@ V!A 9\$OBL'C #M%1+Q$>(33E)V!YGZ)Y@(3-=7GH6*\6IJ!-Y*NI4 MGHK* R\GSFN-,A/(7AMCH3PR,&;;'\7,D4<\6AZD+8@7KI:Q!;;KHS^F"1@] M+)=1(0S/0 #A0)#%EPHZ''^&GYJP+E()F.? $-WDJ[T.%Y4YF ,/L&PF[$]N MQ%%N#+YD#SFT+>-[EL<$LI*2.6(G4WZK)4(:W_48>63HZ9I/?<1R\CBRT(I[ M97"*'=>]C;2!ZE$<4G@'HW_\92]PZ:KH A/I247W)YV-XD M@/$)1#.F*;PY$%Q@+@OH9I.#8D*$3I5P*G2M1RX.;6V-Q(-CU%$9C2CWWVB<4-BZ'$E]'DW MM'%<_([9(:/L#@??"2'M!%]:4KY!Y,ML(\3@9<:SL-P__HMI84F?M"9(;P@1 MXCH.ABU1J'V*QPT7)FC+&!',]-BC8>1SR*%&\54?5W!,"QX7@"*()3QZU\0M M^':QOC>#/UD*_"JV5&U;P;=6%'R+@N_R!=^L(-PEQ8ES+ SWVR#$=:55\"5_?&F5JB\4 S[?? $']D*1R//.ETJSX$O^ M^ )VK/#[J^/+8P\\+@K#-D:$S<#)5TJ5S;:-6(00/85^&T27GT7'7(K5\F<0 MLY'"I^.4ETO-S7;FR%@*LT6O7VVCQ.8BNH9(C M9*W'9!V9]1\[YB"76$-8F0]-.\Q\2=FC=T&]/G&$GE[VW! <@>E/=L][FMSD MH(-^FC29]I<0E:*1=&8-R'8JG-;*:DO/ M$$TQE_%TAKWG&LG6*QG"=!:1](NQXKLB M_E,69K8OCEX)VDD10>= /C6UT6@5 7010&]Y %U3:^7&;L;/G_Z/]0=_BM.N M&$=[H1&$= 9>]&QYS=X4(?5+"JFUS"L>.6-[L=>C"+V?KR:S@,NW+_P^ZW:Y M%W>FPPX")G8^<:.OI1_H9.<'=LCH;Z/HUC)??7Q9=JR(W;=)VK7FCD;NH@$8 MMGR!L6,3T==&$:J_J%!]5@Q2Q.M%O+ZK\?I\NLS2E-=ZO9'5B9S-VWRYD?NU MF:&]SPT&[^J-?XXQFI\JW:K>T"?E>XNC^JR7/7,LWALS[+NH!XU*=>=.7@ID M[VD-.U<4Z><(LG?-YS,W/O-5I F5IJI5)K=_[7"6L+'#0WD4J8T=^-SXS%>B M3#6UI4^"I&]?*C'>=+@X%KIKBP%ZHS@7NAOU_BPSX/R5\?76^''//ZAM\?H0 ML/#_L=GVN+")R^(428_9E#0Y?GKG\4>T9GZ>3$7C3WV#G;.)-#B&/9L-W3#8 M[UH/W)Q&K517PZ@;N*#5J,.3EQ&'J5-2\M.S9C$FXS1 F, U80<"Y&2V,FJC+=A[ VKX1?-4C(*\0IBH"S4)JN0/N M4;,#9BL/-AR*>:5GP2$E>7#NVCT$V/!H<91 XT^BF-2X%X! M2(-)$B*'#M]%2&78UR<23H(B8_ )@PN0'0DP!CK=E]!D]UPQ79A>#%E&TP'> M@34@(.+T().7P8]XTIY#U_9__]NJ-UI_YLJ]O?H+1&,8 M::_'NS8'_Y$X#T);-IC?@]\@U?8(F) D5%7N7>^6\B VP%;"BL.YZ?]9Q%&% ML,T4M@EH2!?>,B)Y4I;HY+0)]I @-P]"H9 0W/M@#.F> M0CH+Z7R<*;0F<8!EO#]I%3% 8\/4+;P0N$+@'BUP8Z#V,\7-X0;$^I@&@N#! M..ZPF!'?CGD#)(N&-0 3:/).@+(IC" &IX5<%G(Y4RZ9'4#JD54HA9_0W:$<63\,FZFWP5_ MW5NV+=(N>%P'PX"!#=0U(V1T$1VH4Q/^B1"#.G8$;[[MI9$4 M&CG$\E2WHNJ!8XGB$":6\"1X,-B1/ANF$+X7%RU,"]<=8!3V4,7+@<28X5/R M216&'K<\6=80=0F?R@H$P$V% ?FHDO+##:-\.6X^&=?6_-&$MC-$*1M2"2'& MMW?%7&BH<:8,\H E$1K)W)FX**M^.!C8Q'EFV\.2DC6X_7)0]A\M$$O@V)"& M?R #W"_0,J)W4O,@8",*"[B5L"7H>61+2N!ONX/6XI.6Y_9&* M69OJ%*,%4Q4+2SUFBIN1&O0!U?:.V:2V<,]OE;)>*BM CNR4@X/QK-3-:IF MX7=8'Z5B:!!9H-=)70O?\4:Q45RCBVR+T:8(T!F57JDU]%(K>J44E&V#7J\7 MT.L%]/KRT.MY,#FILCI_D+H\:AMF6ACP3^X-)_]W;P4]<@B_:;5RRG* K'OL MWE$ZS$8K)FNK>"'-C]^Y]AV^\<#C8)Z58V;01BET:M-,%\8L$*OXH5Q/"#!X MZ?-)TR1'/U'(& U0J"(/'M*#()-[?;K)=D'>Z2^JSV?JL9Y917=Q,K)J$\UM M9#[1DA4SX5MFX+X*A=TQRR9![H:X-$$TA+ 0*(+S[V/HUF4&+HRHF&9+BPW! M*D0(IN4;H8_KNJSCXA($W,_A?N;3>SS+OY41@2/#3[3GD#@%&&: 2 A^X]8V MO?SG%[@<68SOHJ^T/Z-PJ>TX(7EDK,'CN(Y!"<%X[7V(UP*'H%IR#? 0LK1^ M!QX83@/C CB=2W* M;I?4ULRIOQRM#] X'=ON_>;B-[&V!2)JPS!(;42B'_8Q5/L7@^!0UOH123K9 M;B$6'?UH/8^;CUX[$D/&X4C/B@['$(YJU)>7DPQ9.O+)6&D" 5.36?]R9Q6J M)5TK +=G51;$?8,- *'K);U@2_[8HI4JE8(O^>-+B_*;@B]YXTMAQG+)EL*, MY9,OK05XV05?GL67QQ[D710<[_[QR 7V>P/X[>*XY.1_'XE3WP>2V9%0ZY52 M;;.-9)Z 8]\9>>63AS$>+D2X=FK.S.6KQY]=?K$T=0Y[+GACYS M3/_Y#>&$5N2LX]5!LO P\-P["R.XSC!U6@C[ -S1'HRLU")G%-A(9^!*_EOB M9M/5JY*_YK]/;MJ%0&35C'U$H0PO21DVT_%P):"1FEK5GX\;N?E(,>4 0U\> M$J5CP*MQ?B]1N7.ER1EV09N_$IC;_L:5IEHO3VEP7 AV(=C+K WE5K"K:KG5 MVOT\[;7T4V]&,C9YNJ+(V%YND)JQ:\O[=)ICKL3N)6K>]" MUG;4[7+1<6NDJU;<0@4[E\X\O18W2[4,/+*"OQ=1\#/LP#9!P&3M([=I[DNF MAXTI(&>%5A1:\0A7F>.Y/QD!MC():;\3F>7K0VYXV)GU#9[M\V335O**ZH3O M5%?I/'-&F!S%U;D&P9D@W$I7#K>+%,NYW*:J:5,*5X4V%=JTXJ7'7)/BR:ZZ MH;;TR87Z]8#"S#\*O @8YNE ,#DXV7X6;QIJCY:@\W"X_6SLE'6J3\5(S9PZ MZB2-="RG:X>@O<,@FCN2 \@H]OGGE]2\(QZWC7;SST_+Z>-D.]C(,7[0_CWHT_%;12LVHMPI$ MZP$$ZIU0- T &F"+)MDH$QLJ-4IZZMJHA1MV()AH,"=:/I5J(QV??JLE_9BH M%WPD:T3ZM#8DXQ6=GZB/2M+?J:2CU,O) M/)4(HF5/Z$G<]DRT:NMVL3,)4/BW:JI'#;VFRPD6AAJ,"H7!9GN*Z5EW*:B7 M1TQ:N[DT)@$C*E7F/#-29[C> M,+P0IB7[7J8?F1YJPHTQ+*@I1H,:J8\]=OO4KO(HM=.UA(<+U4[3'Z=W6C,E M("31K91 KTGO6N/ZL%#MM)0IFJ=VV2J35AVQ#\_1)L4,>:JC)AM]7N)Z1_4@ MY<%B=:R5&G/&E#A7O'I<(9=0O3N07^P\*S6PM)6=\1I%9[RB,]ZZ.^,]*^$Y MB3>*YC#A>6QX.6_WJPPMFZ5ZXK:21G"_55+^;,+WB>>)R "M9M)++VD(:SD( M79ETJ/NMGG9X8P\\SP3'[';7<@\@;$_2LICPT,YA(,/6:UI,630 *N:2)Y*0<@:7W$K\N-)G]B#L1Z2#6LBFJ- M/_VH)VFB5^!_%@!/#5$AHSRV[Y0J/6"0F#U+?'\AZFM3/&,<,D],EN;-L)HP1@R%-!6BCI?:B8> M'^5"ST*@/A)5?*"'R('B^2Y5_RP7*")R.=FZ-L;,2X/E82+F.J+W+1 'Z(># M^!F:-S(8Z;AA((% /(]ZWR.2'Y]#,7J-P&A ] -FHJEB V0[6 A1TJ1QR<[R M5!N- 0X%KY.)DVC"?V]GG).&WTOX1DSHQY:!%$-4F@<# 6%@ M(>L2(Y=02X!;^"0?3$A>TN,8?CQU@4TZ:AO*(8,0.%C&%N";)8YH1@V-E0L+ M93Y2P\BZ]2$(I"H'3'OV*Z*^OHEI(J;>=E8=F M47DH*@_+5QZ88IG_?76M:=56UVAJUTVCHU]7:YWF=;-L&M?=5K55T9J\VZJ9 MK\1;Q1TG8 HJGT/([@A3Y8Z#ZL"?MOSK,'*O\J9LJ#O:YYG F!88W#UQU2A; MYG6AP7G)AE_[XM_T),E I*:I'*;#"/*OD!S<0LB-S=_C;C:YFOVC5^U7N$3_ MZ#T'DKJR$W\P#H]-'@!CE:=0F#$\5 MK:'GVMC,YAR39!-I>-UJ0&@#:X-(GP9/1;DF;(W]0XCQ1KDIQ.2<'-A (GGYMD\0*N-^+> M(.:>BN M)H=T7EC[+R'$4UJ%[6FUU_P-7:S53/E78L:/HI-8D)ZJ4^%Y1%:_ M> BZ>(^D%44'&6A,)VN8Q+K,9$ ,5Q=)TS[0%0JJ2AB2MA"^;[$* M8;"47:=';%$N&O9#.X9AQ-)EZ CDCR@/ZZ>$)UE^>;*PX)(VHI+@0C+'>BHW M+)^J AZ_89X9IQP9"?>IX4!AP2EP2:3E9%Y!\D6R].,']V@%/2VBO8]SO%P"]1]2Y?9G^].V>?@@HT7G\9VSYJ M170WTG1/JJQ)U3152OT5@C/AWM2U+*%8],I4L,](>=! X;ZM=%%TJ-C6+1>; M7R9N4!\WQLU5#+=>4N8KZL<41*LK'-S1N-_?6)CV++;DB0=)W$:AP(U#T%VB MUA_+OC_T(7U192D5M; 'WI7@\.)H!CE@]27@+2H=;E>.XAO"PTV"')7R\@@8 M01V/>6A98N35\0J8V_DI),"/$1'[/"@IQZ&'=5]55(UI3+24,?8TP^B#>ZD6+)V()@S8*!AY"^R7[X3H@?%U+K"W%OIL>VQ$WP'PQIH@*:W)3 MF^5%VS'>VSP/C& CZ0L\0C2U(X(.T[7]"-I MT5C,"C>I,%H,P65;CX4F&DSN>2[0T^KBNHF:LN2Q&8[A*>B7!M._2CI-4#[@Y0QN'OSC"]6(,NQ"-UZ*9E7&ZZ3DDM M+E0)>4VS6)Q0B%9M+7'D0BS[IP#0XQ6P9(F/G)W5Q<%U+0\:BHW+M!-I!PH<@,7J]56"L S M7I@#!L&D*/?X&1V.D 08E?/1C ^W:HA'16""J+:0Z_PDM79CA$XQ_D1-:;&/ MMBN#(R>DT("G)2D5J"2#5*CJ%RT,\QO< T)\ :FSDF5N2GBCQ2/^#%W&>&\_>52.3FA)25-_U,YNWQ_]$4Y M.3T^^_*I?7ER=IJ@9F2R&(SO.SFAMZ1>[[K-HU$4 MDL4\*8ST)&A?N/Q)C*(23#JP06;3-+8G1X@.M%17!VX?9N(9K*BJ&NVX MZT 0CU&E.G7_I)L^"$Q;VB">4N4",A""HDWX5\6HRG(0)EQ$QI-S8!"1RFU2 M.%!AI=KVJ2) M:N,*_+'8:WG=:.JM5K;FZ7DG=1)+U"[17@%%#C7+C=;9,'-*87C:QKPX=XOV MMT+J:7A6)UGG\N49^< *;/A6;J](3U[NE\AH2T>FF];SJ!BUKMDUS+)V;=9: M[+K:TIO7S4:K<\TKS8K1;8*B:),;+_0K!PPMGJ,%.W2!9T;=[M&O$%YYP<&R M4\TGCXJBEY3TR!4:.II9,7@E&3U9U2MAG*5_7_'Q@!$>GV*-%)M)&&CB=UX( M.6?-AE'O7E-5/K5B;WHGV"\.H"[@J&J?U\U\TZ1 W5/,IAM:3@D!4QYO0FQ-RQ M=TS^^K#URO:PUS?)UO<:JU]6RT;UN,LBF-;/5TLH-WF!,GQ"_VADF1B?) M_IOK6JU2J^IC6M^D2]='/+X:L94H9%^65KZ[M9 M2*^4BT+ZBRVD/ZM G:*0II?JM6C4Z J/OK\_>7MR>7)Z>/3]6F]J3;T^6JKF MW6J35:O-ZWJEU8383H/8CG5U^%0K:ZV:WBF;Y0GG6K\^>NB!#@;9)K4K6Y5; MHH2MU$M*-*D\U*SIWOKRUDZ4/B-C(3J^XJX,-O#Y?O0A/2Q\MI0:E#!#2&9D M&8D%+ S=?]I^/]\=?"JT[=4K+6G)&2YY!H(EN=_.^2T'C,0&7N:"HMA0T@4GJA3?^1#Q%9V6F99)5H@,G^LF@]9T7!$*$MZ;:-$ M78_8/&[*2;(<)SA3RCUQ1+I>,=LYDNRHTE2TDD:KX=5E8+ *A=A^A6#1,/9\ M;NS!S1XS@GTN@K^1N5+0'_E#13*W4 M"_K3DI9'DF!A2>D 6=/%H\/R5,"LT[B#T/.QV09N)TD.>5=?,W'(6WR%)[WI M*[D)?^*8-S/= 1YG2#_M0FX]J93UZ+X+YG68P_V]LP>;#^E<-?RBE\OZ1,6K M")*V+DA:IW%?PI;K6V/+ZX4M?SY)UF[+]0W;\LGN"84MSX-R;X4M'ZOS$AS1_[_\NX$BI-^^D%[/>4BO-96KTD7IH!2;<*U2*R^T\ZURO;#S MNV#G=]"BZX5%+RSZ*BUZO@/[35GTL8BQ2KNO=BYB+!9."A-4+)P\4FFTLE8Z M.;W8FGI;H1//)\GWMU\^*B>R'99RZ!H$W2::+6A_RE8]\EHP]V%T>-]%EO$P@85-FAM M-NB@_;&P084-4@Z8;6 ?>?S\T7)NL0UF89$*B[1^BW1X=%Q8I,(B80L/R[$* M@U08I T;I(_MMX5!*@R2\I%UN%W8HL(6;= 6G7\Y*FQ188N4NU:-@5B(:LZ34J@>_G(!2)^%$>.5? M,;S9>D79]3T5+UU/UNJF>'_";JII+N MVU326KP_I?_':%./9?J!Q7U''J8\CEY=JL.KQ(/U6JD<-P*C%FX1 15L]:.4 M%43)&VDFLFH^10WE++*E>QW;-6Y'>C[A/=(VU"=O?]:HEMS6%X< 4FSH'W0' MIH)MO7'30ND139GB/FRO%GD"I,)<=T 468F%6"C-4SSKJ[^F;N'-T?C.TQLI MCPZ4+]SF&)J?NB6E4ME#7!%5@-\:(ULY([R]P.-,8@'+SNO,0"PLY@QAAE'G M=7K 9X'9:0^CUNL1 I6\$5&*S>@.>!X!FB'6&N(("X1-:M ^"#W0:]&E.]X@ MVIQ^V NAK["QZ+WE3T""V183YG"9!PE@M.EDB%&T>#^&8[8DSBR'F\ MBZ!>!OXB<2U@O@@ D: QIWJ-TSOY@\$'\7 Y)E,).J$BFI9[R#M_P T:$X)? MI-[L*Q!MI5]>6JGKV=TNIL^(\K:L!Z=6]. L>G!.E=5E0:*NJYU.JU4QZM=Z MJ]J\KIIF\YK5F_IUR]1JK-)AU4JU]>JO5$/-BY-WI^W+JR]'%]=ZL]S4HU_7 M896D1BPT2O-:8"7CCSM@9:BY4P 38Z"P1''3?EQX!T*S%U"0T:F(Q+^DG1O^ MK+4J57743&RH- 1*>)Q^15>?2U;DEKK7MNC+R?$/Y?W9Q\.3TW<7JG)R>E":VBET7!OT+)U1SAB;@3W?OADM M-(EYFM(.6Y5%T]F Y+T=[C]JB%*49+ MK?(/NW$]_]8JA&DSPG3*^GP9<8K:<6_,.!72D@-IN43KQ"H? G4;F<+D]T= M,4--?F\;AALZ 6Y^*]*)(IW8@BGE<9]^L6>SF%(QI3Q-*2+V+.M9[EE. M'^>2VX7E5R-;B%-;A"M"G,>W.M^YECE]IW-RGJCCFD/XIQ?T[;_^/U!+ P04 M " #T@:=89!W*"JD( #P,0 %@ &1V+3(P,C0P,S,Q>&5X,S%D,2YH M=&WM6VUOVS@2_BL\+_:: );EEZ0-Y#1 FV2Q 3;;;M>]P]TW6AQ;1"A12U)V M?+_^9DCY)8Z==7!-ZLTE@&.+XLN0?)Z99VCY]&]1=%EDO$A!L)\'U[\PH=,J MA\*QU !W6#J5+F,#79:\8-=@C%2*?312C(&Q3KOUMM7I'K?:471VBGV=UXUT MD;#C^%W<;7>/6*>;'!TGG;?LPS4[^#HX/_25+SZ=#_[U^3*,^OGKQU^NSEDC MBN-_]L[C^&)P$6X_-E@C\;.3=C641.ETFO7;H^MHSQ]EJ=VV@JA2X=7*R+#)RG"W*=)A:8D!Q)R= ?:_TFBK@)AEJE_77!]C4LIRW M&^G"12.>2S5+W@QD#I;]"E/V1>>\>-,,)?ANP5_ +O&Z3FX=1%7 M>T]*$%/ ?CY$BFG/:6Z1'[ M;&21RI(K=GD+:44[S3Z-L :89U[@A\PN*V,KCAO@]!Y9=7F+C"_05WU('?M2 M*1RXT^-1Y^B 'S)>"-8Y%N&JN4=6<\NXT"5YTOUCLM;N$4)N.=;KO=_<9V;^?\LU)\:0:C5Z?^@$->-=DU-S?LWWRLC;V1 M399Z2L]PG;A+O V.#Q6PH38"S/M&NX%5E*K#P^+:ECRMK[&%P9>8FUZ'@1,< ML&XU7Y#8B=6*$QHZY:K>:;_I&,7ZTTPZB&@$2 H]-1R+MO;Y+5G7+\AF[P652@#JX&6!A AB$QE$+C0(:N^>RP"@S8U7A3 5H)JICKZX1)9SE M>&4DQO41)V]IF,XE.?I0[UZ% E*PEIL95LWE\$Y\!&LD D$2B7R&EZ*84I"D)K>5\6(_2* M0<:B@E65P#X1G2LP:2*R)7G2$L%%O""^8(*Y 'Z-.;LV-')+^-RG234JA140 M[1HAZ8>SWIZ4VXR-E)[:.14,C*5UAN04I\)@-UK97$&TG1MSS]I74#\.14?[ M!>K!'020,.R\Z]L:MK5$(V>G0V[EL7'%N &/0D25I&U&M#"PM.729E2=JN7H MZ,G9T[60-E7:5MB.0H#1*L"Q-#H%@<66'2#Z!""< \2V)2G'!["2I-!5N)2D MUHM ^J?D0M>84= *]FR\T"CY4#,7Q[ZB:Z3!JN0($J>E B]MR^-"/QPKXAP M 197#2'A!<"?X[5)VB3EE=V]"8F$(2#VZI&"[-"5P0[0S5*F1LX;:T'A^Z'4 M:.GV5T-'.-U",->Z8XG'9AU6Z*;$$("V6*VD\$>0MAI:*20WDB8@@SKRP:R@ MGBI+BL5SWWIYXUV]MH &.0PMU*CDA+)*<8I0."UOQ%+Y8(N@HU;E'WX: E7$ M((+M03QMT'AY7!GN,U=V]KSW*+.[S]Z9.'$+9*)A#ZQA!LQ M1RQR2/)P-$)::-.PQ%\/;H_;Q>'C)KD78N!M/:&R,B7RQGKMEJ8(:&^ 3QG& M4* D4T@?O /^0(NJ8#H4*.(/-C$,O9+D<:A,]XLDEQ.N*N]U"4$P&M'QX 3W MWFZ0W@OAM4,4"9>;U;CG!#;$"&"#YA_JRFVW8)U@1*:T9\GNFPX3Y4\ MS2&L!-K3I\Y?8?TH'(G]@O5%0,Q]Y-&13JVD_9V-\'Z$QR?MH].T,H2O%:&Q MH==<6X?E=&*/?5G<6_9'.(]D!UN:C) HZ(O7:M>&8Y(,_C2*#JJ*:F'78; J MXW:ARLB+>V*!\.'-KT<=>F9,R1M0]='46OWF_[Q$3T^FEY=]'[^$[-L?OXLY M#YM+;TO.?Y4+2\=+:'Z$3KN752Q,XYA9.&WL0AKY NPRSZ5S ^$MJ%&\47W MA43[?"<'R!B,))8B%;Y3?C.G.?Q1233?4[HJ_#=K]O UQ_Y+Y]@?%"IF7#?_ M33YN+)W"I!(0?K6L6>2Z4^ WI%."@O9*Q6M__X7 _$3S4:"NT])PA>]=D])#C#K9Z=Q-6$Y>_WN=Y#"EOF3^Z9#^T_=_S M3B2V\=U'5M8HM*= 8?-7KWN?CK4;6Y!A1WKN+=Z^\V17,$N1X3L#=@>PHN/$ ML(Y>MMO8=7[_5YOYK/MUGDD8;7I\]67M7&A%GQ/IT-2T_P+W\E1NGV[C[."! MIY51UHL/$V_)QHM&!/^9V8AS7AZ,S:Z*@3),VV2N>M;>43_[HU:I!%2 ME"P@JJ_;=V 1?@90EZS^,F#]-PW " %S( !8 !D M=BTR,#(T,#,S,7AE>#,Q9#(N:'1M[5MK;R(Y%OTK7D:SG4A 8%.!.E(W4E: M'6GZ,3WI6>VGE:DR*2NNZXI MCO_1:)SG*<]CD; /EQ]_88F.RTSDCL5&<(?2B70IN]1%P7/V41@CE6+OC$RN M!&/M5O-UL]WI-5N-QLDQ^CJM&NF\SWK18=1I=;JLW>EW>_WV:_;V(]O[=GFZ M[RN??3Z]_/>7\S#JEV_O?KDX9;5&%/WKX#2*SB[/PHUNL]5FEX;G5CJI"_X,G)<28< M9W'*C17N3>W;Y?O&$6HXZ90X.8YF[Z'N4"?3D^-$CIEU4R7>U#)NKF3><+KH M'[0*-T#+"+=7ZMPT)C)Q:;_=:OT\*'B2R/RJH<3(]7O-HZ-%D9%7Z;Q,AZGU MC5#C7PM:W\KT#7F)X3-Z[!E;Q"YV3K(,R_7TU]>&N0B?#3&6J5 MX.;Y32J'TK&#=K-S' VQ3L4C6!4#HL*LF$75-UHVEA9V*>FF_50FB"I,$Z.9,QI;YD>L2]&YK$LN&+O90ZJ2GSZ/$(-89YX M@>\SNRB-+3DVP.D=LNK\!HS/X:O>QHY]+14&;A_P1KN[Q_<9SQ/6[B7AJKY# M5G/+>*(+\J2[N:R_B=BC\Z#5(82Z5+#?N!GR7-C&YQLEIGZ]<:?3:GUO+["9 M\T]*\849C%[MZ@.&O*BS3S+6BK.W2G%IZRSVE)YBG;CK>QL<'RK!AMHDPKRI MM6JHHE05'N;7MN!Q=8T6!J]D9GH5!HXP8-5JMB"12Y8KCFGHF*MJI_VF(XH- M)JETHD$CB'ZN)X:C:&.?WW/%&@AE3F>WBBBLAJ':3;\\*Y/X8>9A'M:.2!\(*'31O0V2T\O./6JUN63=DUEDD)Z.!Z@(4)8$@T1LTU M!#2ZYS)'E)FR,G>F%# 3ZMBK:Z"$LPQ7AJ+YB).W-$QGDAQ]J'>G0BYB82TW M4ZJ2\6OA_>Z\3XNR!,9@2$6^>N:88VD@Z5$-(M_"$B",8;?CE-F2_BW:3X01 M52&!K<2G_O4J4:I4 %HUX"D'\YZ>V)N4S92>F)G5##B2EIG2$YQ*@QV MP\KZ$J+MS)@[UKZ ^F$HZNX6J"]O(8"$8?MP8"O85A*-G)T.N97'Q@7C1G@4 M E62MAEH8<+2EDN;4G6JEL'1D[.GZT3:6&E;HAV% *-5@&-A="P2%%NV!_0E M G .$-N4I/3VQ%*20E?A4I):SP,-J']&+GB)'0&M9,O6 XT6 S%_N>\GNDH: M5"%!U']4(AR\?FY$X/L[180S8;%J@(07 '^.USIIDYB7=OLF)!*& MBK1@JR M0Y<&'<#-4J9&SANU1.[[H=1HX?:70T5X2YS96O/>X3MR"3"3TB27<)#/$@D.2AZ,1TD+KAB7^>G![W,X/']?)O1 #;ZH) M%:4IP!OKM5L< ]#> )\R7(D 8>V_72.^Y\-HBBH3+]6K<AR0A$@2]>J5T9 MCB19^-,H.JC*R[E=^\&JE-NY*B,O[HDE$A_>_'I4H6?*E+P6JCJ:6JE?_\M+ M]/AD>G[9=^\Y9-_^^#V9\;"^\+;D_)>YL'"\A.8'Z+0[6<7<-([,PFECY]+( M%Z#++)/."7%/:!MJB"^ZGTC8YSO9 V,022Q%*KQ3?C.CN?BCE##?4[K,_3=K M=O\EQ_Y;Y]AO%10SULU_DX^-I5.86 K KY(U\UQW(O@UZ92@H+U2\=K??R$P M.]%\$*BKM#2<7*UQT#Q!0ROF_GDC :J, 4V 8B"N'L22A5*R988Y8TG\9*JX MN/;L]T4(W8>>W=7 MU1==IG+Q(BN4G@K14\T-6-N1IP_HT2X/PCC*L-B-! MU4O@0B/62O'"BO[LP[(=!/H?=-A&;GYP!=OUU#+EW M"KUFM_W$<_C(I^RPSN@IR"W,]?[(V]K#_E1 F 69XH;YLTWV4\O_/>U$(AO= M?J9EA6.[BR0V>[T^N$O9RM7-";,EA7<9=3]XODO(I0#R@V&[!611 =$?SKA3 MVW9^_U>;^:3[=9I*,5KWE.OSVKG0BC[WI8.I\> 9[N6QW#S=VLG>/0\U0_S* MDPTB+CQTOR-2+A@3_J=FKN!X?'UE=)DGI.*TZ<]*V%!!0 QA@ !8 !D=BTR M,#(T,#,S,7AE>#,R9#$N:'1M[5AM;]LV$/XK-Q=;$L!ZM9VZLF.@=5*T0-.F MC;-A^T:+E$6$(E6*CN/]^ATEV5;<.,B -C&Z&9!MD)XQ:2#6C!AL77"3PD3E.9%PSK3F0L ;S>F, 02^>^P&8<_U M'6I"2$?2\EU[HAUT(PJC;BX)C>'T.AU>3\5$I?/II//GSXJR:]>+J MS8?W8V@YGO='9^QYIY/3JJ/K^@%,-)$%-UQ)(CSO[&,+6JDQ>>1YB\7"771< MI6?>Y(N7FDQT/:%4P5QJ:<M"WXS0@=#3-F",0IT04S)ZVKR5NGCQ*&&\%& M0V_U6\E.%5V.AI3?0&&6@IVT,J)G7#I&Y5''S\T 1WK8O25SZRPX-6D4^/ZO M@YQ0RN7,$2PQ4<_M]S=-FL_2=9NJEA9I)HCA-\SJ;FB-!2,ZFBJ3#K8GN&]D MOAJ7*&F8;?& M(8+/4+G%.JC6']5+G]Z99,'*Y4R5H-AY=IOR*3?0"=U@Z$W13OD/0!4C19G> M@F7%=R*[X07B$MPLHY13RB2.^.U%/_0[@Z%GI9\2Z4,&'#-M>,)C8GU;@$K@ M0G,9\YP(.+ME\=RZ&CXE*,+T$UOX(=SY7!=S@AXP:H]0!7VXQ\;VA+X? M?F?-Y P/L$]1_MC$M4FZ84^0D9E&NF;/0)$>9BXU;80M^&0,.'T@J1U;AJ9I/!?O=FF,)[Y )N'$5 M.(.,73BT.*RQ0W\P5AF6!LOR+1@ >;U1VI\G6&]54P5%I MGJU%/!N<"?JRX?G@Y:" SW.B,;.()7QAN=+H9PEOE)0$;B#$D3E$E1E*S!FE# M,A>(*4:T@J,ARH+6SJ/9USG7S%:[Y3:["@=TJ-UV&&0:*RWF%6/ M9:3$ KB.O>!5ISL (NG&19YEI5>2^7].9]&]' J?B]([&6.&W;3?!,A,-P:DRGV)$CD[#'CDJXQ-.5;4>%M*S7 M+5.LU%Q4O%,YTYMBSVPBR]W!ISW96NTAI23:2<5HKHM=:*KX[L1*"Y 6+ M5G^:.(YQ\K0J-NSAQMHDR6\K#+Q(^"6B:7$VD,GU-Y>;1KY+11* M< HO_/+SM OQ"N]N';052/M+%U@]G?#;N*QSUCHJ'AFG^\RZ9UYO@[EV)WAF MVCZ"LIA$<1O'C!NV'KN^_Y0SG]1?.\Y6/YOGJE'V?\0-0HT'/Z$OAWSW*TID&_[X;==8JN MVOSRX%/=T)=7_J-_ %!+ P04 " #T@:=8J1'M7#$% "#&0 %@ &1V M+3(P,C0P,S,Q>&5X,S)D,BYH=&WM67MOVS@,_RJ\#+NU0/Q,TF9.&F!+.VS M^MB6WN'^5"PY%B9+GJPTS7WZHVSGV:;8@"T-#@O@Q)9(BH\?1COZYN:A6O;E] M^_'#$!J.Y_W=&GK>^>B\FFB[?@ C363!#5>2",^[N&I (S4FCSQO-INYLY:K M],0;??92DXFV)Y0JF$L-;0SZ=@2_&:&#?L8,@3@ENF#FK'$[>N=TD<)P(]B@ M[RU^*]JQHO-!G_([*,QH/&KYN>DAIX?36S3WSHQ3DT:![[_L MY812+B>.8(F).FZWNQK2?)(NQU1E6J29((;?,2M[36HL&-'16)FTM[W 8YSY M@B]1TC@)R;B81Z]&/&,%7+$9?%89D:^:U0C^%DSSY%6OI"[XOPQ%HWF&W1N' M"#Y!X5;77F5_5)L^WEADQDISQDI0G+RX3_F8&VB%;MCWQNBG_!=H%2-$F=Y2 MRY+OU.R.%ZB7X&8>I9Q2)I'CSQ?=T&_U^IZEWJ>F3SEPR+3A"8^)C6T!*H$; MS67,8JQSOKA,D87K/'GY*[WRJBRG!"!AU0%H%7;AUO[A#%[ZPV'H4 M@E;';QZ0AJ0 0E5NM\W#=.'"<:_]$XM&DS+X0O282%8XU_>"S>%-;.Q,Z/L_ M.^5W)_A>\WFE!M@KJ&]PR9M5R& 'UN#Q",,/^;4)'YIPQ6,E"+P1@O"B"<.4 ML^3AG@!'3VP8QU;@N9J.!?O+FCJ']QAE+$HH[X.,73BR>EA'AGYOJ#(L^_/R M*>@=-R%EFHWG$)=;U!Q5)J9I3;$\8U:4VF9S^"K53#!L$:(R!H;@:C!6FC)] MUO ;R"]$70N7ST5.XOH9.31>=!&ZNN9UT>$UUP(0GJ'KA'=6KYB(&NDEZ+%D M]V8I-\RQ*[ (5=,$AW;*_)F(<;!N&Y5M#-D>HEHJ."[=LV7$LZDSPB"N13PX M[17P:4HT[A9B#I]9KC0&6,([I3-, ><3)$J7H?]640&3%#%^272<0BMH0MG^ MK0.J$K+"$T('8X/4)N5%#:NZ\@$.$&-(G*)(S*#UOJ()R52@3C%J*S@ZHFQ2 M[3J:?9MRS6P'6Y;.52(>$82^AJ!S1(^7Z<;BJ<8>BEGQV!I*;&KKG M>M]H] M()*N0N195'HEF']C.HL>Q5#X7)#>B6@N$:59!:D8)1 N$5! M:U98X#3M-,%S#K+ATKAYXD2.2,(9RY4L-U442,L>W"+%4DU%A3N5,[UJX,PJ ML]P=>#J0@SJ3^K9 M<4\Z>U;TDLSAM-J)?U3=#L:A#OBB;N3W4"C!*;SPR\]^;?$*;[,%VLJEPT4, M+*Y6^# UZVUKF1C?F:J'#+QGMG<-N;88/#-L?T/V-V2_"[)[1>6.P^/C^$0 M8Z>)34'8.#QCGHQ*TQH&W:X;MI>%J!KSRQ->]?="^7_%X#]0 M2P$"% ,4 " #T@:=8X*W0Y&L. _D@ #P @ $ M9'8M,C R-# S,S$N>'-D4$L! A0#% @ ](&G6*A"U<8=$0 ]_H !, M ( !F X &1V+3(P,C0P,S,Q7V-A;"YX;6Q02P$"% ,4 M" #T@:=8FW&>_!$C #6/P( $P @ 'F'P 9'8M,C R-# S M,S%?9&5F+GAM;%!+ 0(4 Q0 ( /2!IUA.]P^0YV$ &6(!@ 3 M " 2A# !D=BTR,#(T,#,S,5]L86(N>&UL4$L! A0#% @ ](&G M6&T \[3L00 *=D$ !, ( !0*4 &1V+3(P,C0P,S,Q7W!R M92YX;6Q02P$"% ,4 " #T@:=8L"+TZAVB 0!X,A0 $P M@ %=YP 9'8M,C R-# S,S%X,3!Q+FAT;5!+ 0(4 Q0 ( /2!IUAD'#,Q9#$N M:'1M4$L! A0#% @ ](&G6&PR!>W " %S( !8 ( ! MB)(" &1V+3(P,C0P,S,Q>&5X,S%D,BYH=&U02P$"% ,4 " #T@:=84EXK M84$% #&& %@ @ %\FP( 9'8M,C R-# S,S%X97@S,F0Q M+FAT;5!+ 0(4 Q0 ( /2!IUBI$>U<,04 (,9 6 " M ?&@ @!D=BTR,#(T,#,S,7AE>#,R9#(N:'1M4$L%!@ * H D@( %:F $ @ $! end XML 77 dv-20240331x10q_htm.xml IDEA: XBRL DOCUMENT 0001819928 us-gaap:CommonStockMember 2024-01-01 2024-03-31 0001819928 us-gaap:CommonStockMember 2023-01-01 2023-03-31 0001819928 us-gaap:RetainedEarningsMember 2024-03-31 0001819928 us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember 2024-03-31 0001819928 us-gaap:AdditionalPaidInCapitalMember 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-03-31 0001819928 us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember 2023-03-31 0001819928 us-gaap:AdditionalPaidInCapitalMember 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-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-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-03-31 0001819928 dvh:EquityIncentiveProgramMember 2024-01-01 2024-03-31 0001819928 us-gaap:RestrictedStockUnitsRSUMember 2024-03-31 0001819928 us-gaap:PerformanceSharesMember 2024-03-31 0001819928 us-gaap:RestrictedStockUnitsRSUMember 2023-12-31 0001819928 us-gaap:PerformanceSharesMember 2023-12-31 0001819928 dvh:PerformanceAndMarketBasedSharesMember 2024-01-01 2024-03-31 0001819928 us-gaap:RestrictedStockUnitsRSUMember 2024-01-01 2024-03-31 0001819928 us-gaap:EmployeeStockOptionMember 2024-01-01 2024-03-31 0001819928 us-gaap:PerformanceSharesMember 2024-01-01 2024-03-31 0001819928 srt:MinimumMember 2024-04-01 2024-03-31 0001819928 srt:MaximumMember 2024-04-01 2024-03-31 0001819928 dvh:SupplySideCustomerMember 2024-01-01 2024-03-31 0001819928 dvh:MeasurementMember 2024-01-01 2024-03-31 0001819928 dvh:ActivationMember 2024-01-01 2024-03-31 0001819928 dvh:SupplySideCustomerMember 2023-01-01 2023-03-31 0001819928 dvh:MeasurementMember 2023-01-01 2023-03-31 0001819928 dvh:ActivationMember 2023-01-01 2023-03-31 0001819928 us-gaap:SoftwareAndSoftwareDevelopmentCostsMember 2024-03-31 0001819928 us-gaap:LeaseholdImprovementsMember 2024-03-31 0001819928 us-gaap:FurnitureAndFixturesMember 2024-03-31 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-01-01 2024-03-31 0001819928 us-gaap:AociIncludingPortionAttributableToNoncontrollingInterestMember 2023-01-01 2023-03-31 0001819928 us-gaap:RetainedEarningsMember 2024-01-01 2024-03-31 0001819928 us-gaap:RetainedEarningsMember 2023-01-01 2023-03-31 0001819928 us-gaap:RevolvingCreditFacilityMember 2024-03-31 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 us-gaap:USTreasurySecuritiesMember 2024-03-31 0001819928 us-gaap:PropertyPlantAndEquipmentMember 2024-01-01 2024-03-31 0001819928 us-gaap:PropertyPlantAndEquipmentMember 2023-01-01 2023-03-31 0001819928 us-gaap:TrademarksAndTradeNamesMember 2024-03-31 0001819928 us-gaap:NoncompeteAgreementsMember 2024-03-31 0001819928 us-gaap:DevelopedTechnologyRightsMember 2024-03-31 0001819928 us-gaap:CustomerRelationshipsMember 2024-03-31 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-03-31 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-03-31 0001819928 dvh:MoneyMarketFundsAndTimeDepositsMember us-gaap:FairValueInputsLevel1Member 2024-03-31 0001819928 us-gaap:FairValueMeasurementsRecurringMember 2024-03-31 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-03-31 0001819928 dvh:DoubleverifyInc.Member 2017-08-18 0001819928 srt:MaximumMember dvh:EmployeeStockPurchasePlan2021Member 2024-01-01 2024-03-31 0001819928 us-gaap:SellingAndMarketingExpenseMember 2024-01-01 2024-03-31 0001819928 us-gaap:ResearchAndDevelopmentExpenseMember 2024-01-01 2024-03-31 0001819928 us-gaap:GeneralAndAdministrativeExpenseMember 2024-01-01 2024-03-31 0001819928 srt:MaximumMember dvh:EmployeeStockPurchasePlan2021Member 2023-01-01 2023-03-31 0001819928 us-gaap:SellingAndMarketingExpenseMember 2023-01-01 2023-03-31 0001819928 us-gaap:ResearchAndDevelopmentExpenseMember 2023-01-01 2023-03-31 0001819928 us-gaap:GeneralAndAdministrativeExpenseMember 2023-01-01 2023-03-31 0001819928 us-gaap:AdditionalPaidInCapitalMember 2024-01-01 2024-03-31 0001819928 us-gaap:AdditionalPaidInCapitalMember 2023-01-01 2023-03-31 0001819928 us-gaap:TreasuryStockCommonMember 2024-01-01 2024-03-31 0001819928 us-gaap:TreasuryStockCommonMember 2023-01-01 2023-03-31 0001819928 dvh:SupplySideCustomerMember 2024-03-31 0001819928 2023-01-01 2023-03-31 0001819928 2024-03-31 0001819928 2023-12-31 0001819928 2024-04-29 0001819928 2024-01-01 2024-03-31 shares iso4217:USD pure iso4217:USD shares dvh:segment 0001819928 --12-31 2024 Q1 false 0 0 New York P1Y 1 10-Q true 2024-03-31 false 001-40349 DoubleVerify Holdings, Inc. DE 82-2714562 462 Broadway NY 10013 212 631-2111 Common Stock, par value $0.001 per share DV NYSE Yes Yes Large Accelerated Filer false false false 171796441 302017000 310131000 32312000 9580000 9442000 195638000 206941000 20356000 15930000 550323000 533002000 60851000 58020000 64910000 60470000 432865000 436008000 132815000 140883000 16619000 13077000 1810000 1571000 1260193000 1243031000 12761000 12932000 34218000 44264000 9844000 9029000 6064000 5833000 2640000 2934000 9841000 8863000 75368000 83855000 75124000 71563000 2344000 2865000 7514000 8119000 2752000 2690000 163102000 169092000 0.001 0.001 1000000000 171756000 171724000 1000000000 171168000 171146000 172000 171000 899354000 878331000 32000 22000 1146000 743000 206139000 198983000 -7428000 -2803000 1097091000 1073939000 1260193000 1243031000 140782000 122594000 26618000 23952000 36394000 28555000 37872000 25712000 22075000 20188000 10928000 8983000 6895000 15204000 232000 256000 2272000 2734000 8935000 17682000 1779000 5507000 7156000 12175000 0.04 0.07 0.04 0.07 171306000 165631000 176124000 171657000 7156000 12175000 -4625000 1193000 2531000 13368000 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 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 7156000 12175000 907000 1285000 10928000 8983000 74000 74000 1569000 1658000 -3963000 -5382000 20241000 11813000 -64000 677000 -2000 -9626000 8052000 5218000 6874000 55000 3700000 -10342000 2048000 31774000 21426000 6393000 4099000 32211000 -38604000 -4099000 50000000 50000000 1695000 1766000 815000 513000 1792000 787000 -912000 466000 -377000 131000 -8119000 17924000 310257000 267938000 302138000 285862000 302017000 285738000 121000 124000 302138000 285862000 1324000 1708000 74000 266000 6207000 1415000 45000 378000 471000 179000 <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 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 March 31, 2024 and December 31, 2023, the Condensed Consolidated Statements of Operations and Comprehensive Income for the three months ended March 31, 2024 and 2023, the Condensed Consolidated Statements of Stockholders’ Equity for the three months ended March 31, 2024 and 2023, and the Condensed Consolidated Statements of Cash Flows for the three months ended March 31, 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 March 31, 2024 and December 31, 2023, the Condensed Consolidated Statements of Operations and Comprehensive Income for the three months ended March 31, 2024 and 2023, the Condensed Consolidated Statements of Stockholders’ Equity for the three months ended March 31, 2024 and 2023, and the Condensed Consolidated Statements of Cash Flows for the three months ended March 31, 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:74.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:74.51%;margin:0pt;padding:0pt;"><p 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.21%;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:23.27%;margin:0pt;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></tr><tr><td style="vertical-align:bottom;width:74.51%;margin:0pt;padding:0pt;"><p 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.21%;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:23.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:74.51%;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.21%;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:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.51%;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.21%;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.33%;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.2%;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;"> 79,322</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;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.33%;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.17%;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;"> 69,892</p></td></tr><tr><td style="vertical-align:bottom;width:74.51%;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.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p 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.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 49,275</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p 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.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 41,385</p></td></tr><tr><td style="vertical-align:bottom;width:74.51%;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.21%;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.33%;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:9.2%;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;"> 12,185</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;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.33%;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:9.17%;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;"> 11,317</p></td></tr><tr><td style="vertical-align:bottom;width:74.51%;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.21%;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.33%;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.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 140,782</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;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.17%;border-bottom: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;"> 122,594</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 $55.1 million and $55.0 million as of March 31, 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 March 31, 2024, the Company had $13.9 million of remaining performance obligations which are expected to be recognized over the next <span style="-sec-ix-hidden:Hidden_6oO-vskWGU61dqr4XTVgPQ;"><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 $12.2 million, or 8.7% of the Company’s total revenue as of March 31, 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:74.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:74.51%;margin:0pt;padding:0pt;"><p 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.21%;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:23.27%;margin:0pt;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></tr><tr><td style="vertical-align:bottom;width:74.51%;margin:0pt;padding:0pt;"><p 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.21%;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:23.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:74.51%;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.21%;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:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.51%;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.21%;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.33%;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.2%;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;"> 79,322</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;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.33%;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.17%;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;"> 69,892</p></td></tr><tr><td style="vertical-align:bottom;width:74.51%;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.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p 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.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 49,275</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p 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.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 41,385</p></td></tr><tr><td style="vertical-align:bottom;width:74.51%;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.21%;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.33%;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:9.2%;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;"> 12,185</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;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.33%;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:9.17%;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;"> 11,317</p></td></tr><tr><td style="vertical-align:bottom;width:74.51%;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.21%;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.33%;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.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 140,782</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;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.17%;border-bottom: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;"> 122,594</p></td></tr></table> 79322000 69892000 49275000 41385000 12185000 11317000 140782000 122594000 55100000 55000000.0 13900000 P3Y P1Y 12200000 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 artificial intelligence (“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 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 March 31, 2024, the purchase price allocation for Scibids is subject to the finalization of working capital adjustments.</p> <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 March 31, 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;">Foreign exchange impact</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: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%;border-bottom: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;"> (3,143)</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 March 31, 2024</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: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%;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;"> 432,865</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;">March 31, 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,351)</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,382</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,687</p></td><td style="vertical-align:bottom;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;"> (66,462)</p></td><td style="vertical-align:bottom;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;"> 94,225</p></td><td style="vertical-align:bottom;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,443</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;"> (60,235)</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;"> 32,208</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;"> 65</p></td><td style="vertical-align:bottom;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;"> (65)</p></td><td style="vertical-align:bottom;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,928</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;"> (132,113)</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;"> 132,815</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 March 31, 2024 and March 31, 2023 was $7.3 million and $6.2 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;">Estimated future expected amortization expense of intangible assets as of March 31, 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 nine 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;"> 21,417</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,751</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,997</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,081</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,928</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,577</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,064</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;"> 132,815</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 March 31, 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;"> 7</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 three months ended March 31, 2024 and March 31, 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;">Foreign exchange impact</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: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%;border-bottom: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;"> (3,143)</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 March 31, 2024</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: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%;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;"> 432,865</p></td></tr></table> 436008000 3143000 432865000 <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;">March 31, 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,351)</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,382</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,687</p></td><td style="vertical-align:bottom;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;"> (66,462)</p></td><td style="vertical-align:bottom;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;"> 94,225</p></td><td style="vertical-align:bottom;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,443</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;"> (60,235)</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;"> 32,208</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;"> 65</p></td><td style="vertical-align:bottom;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;"> (65)</p></td><td style="vertical-align:bottom;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,928</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;"> (132,113)</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;"> 132,815</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><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;"> 7</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> 11733000 5351000 6382000 11734000 5140000 6594000 160687000 66462000 94225000 161173000 62955000 98218000 92443000 60235000 32208000 93013000 56942000 36071000 65000 65000 66000 66000 264928000 132113000 132815000 265986000 125103000 140883000 7300000 6200000 <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 nine 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;"> 21,417</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,751</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,997</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,081</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,928</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,577</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,064</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;"> 132,815</p></td></tr></table> 21417000 26751000 21997000 18081000 14928000 12577000 17064000 132815000 P8Y P7Y 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.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">March 31, 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.12%;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.85%;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,982</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.12%;margin:0pt;padding:0pt;"><p 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.85%;margin: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,334</p></td><td style="vertical-align:bottom;white-space: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.12%;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.85%;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;"> 33,153</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.12%;margin:0pt;padding:0pt;"><p 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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 39,708</p></td><td style="vertical-align:bottom;white-space: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.12%;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.85%;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;"> (41,326)</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.12%;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.85%;border-bottom: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;"> 60,851</p></td><td style="vertical-align:bottom;white-space: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 March 31, 2024 and March 31, 2023, total depreciation expense was $3.6 million and $2.7 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 March 31, 2024 and December 31, 2023, respectively. As of March 31, 2024 and December 31, 2023, accumulated depreciation related to property and equipment under finance lease obligations totaled $13.6 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 three months ended March 31, 2024 and March 31, 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.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">March 31, 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.12%;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.85%;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,982</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.12%;margin:0pt;padding:0pt;"><p 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.85%;margin: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,334</p></td><td style="vertical-align:bottom;white-space: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.12%;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.85%;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;"> 33,153</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.12%;margin:0pt;padding:0pt;"><p 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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 39,708</p></td><td style="vertical-align:bottom;white-space: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.12%;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.85%;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;"> (41,326)</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.12%;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.85%;border-bottom: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;"> 60,851</p></td><td style="vertical-align:bottom;white-space: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> 25982000 25013000 3334000 3170000 33153000 32595000 39708000 35039000 41326000 37797000 60851000 58020000 3600000 2700000 17800000 17800000 13600000 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 months ended March 31, 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:70.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:70.8%;margin:0pt;padding:0pt;"><p 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.1%;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:27.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;"><b style="font-weight:bold;">Three Months Ended March 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:70.8%;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.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.8%;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:2.1%;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.27%;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:11.21%;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.1%;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.27%;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:11.21%;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:70.8%;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:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p 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.21%;margin: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,637</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p 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.21%;margin: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,587</p></td></tr><tr><td style="vertical-align:bottom;width:70.8%;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:2.1%;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.27%;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:11.21%;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.1%;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.27%;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:11.21%;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:70.8%;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:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 619</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 217</p></td></tr><tr><td style="vertical-align:bottom;width:70.8%;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:2.1%;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.27%;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:11.21%;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;"> 64</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;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.27%;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:11.21%;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;"> 23</p></td></tr><tr><td style="vertical-align:bottom;width:70.8%;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:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 317</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 246</p></td></tr><tr><td style="vertical-align:bottom;width:70.8%;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:2.1%;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.27%;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:11.21%;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:2.1%;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.27%;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:11.21%;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></tr><tr><td style="vertical-align:bottom;width:70.8%;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:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;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.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 3,637</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;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.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,806</p></td></tr><tr><td style="vertical-align:bottom;width:70.8%;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.1%;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.27%;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.21%;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.1%;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.27%;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.21%;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:70.8%;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:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;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.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;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:70.8%;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:2.1%;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.27%;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:11.21%;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.1%;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.27%;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:11.21%;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:70.8%;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:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p 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.21%;margin: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,516</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p 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.21%;margin: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,336</p></td></tr><tr><td style="vertical-align:bottom;width:70.8%;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:2.1%;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.27%;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.21%;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;"> 74</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;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.27%;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.21%;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;"> 23</p></td></tr><tr><td style="vertical-align:bottom;width:70.8%;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:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p 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.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 815</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p 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.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 513</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 March 31, 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;">March 31, </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.9</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.9</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;"> 2.1</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;"> 1.4</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.7%</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.4%</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;">3.7%</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 March 31, 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;">March 31, 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 nine 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;"> 7,802</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;"> 2,325</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;"> 9,410</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;"> 8,140</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;"> 7,586</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;"> —</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,731</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;"> —</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,154</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 3.5pt 0.05pt 0pt;"> —</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,157</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 3.5pt 0.05pt 0pt;"> —</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;"> 115,980</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;"> 5,294</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;"> (31,012)</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;"> (310)</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;"> 84,968</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,984</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.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:70.8%;margin:0pt;padding:0pt;"><p 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.1%;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:27.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;"><b style="font-weight:bold;">Three Months Ended March 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:70.8%;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.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.8%;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:2.1%;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.27%;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:11.21%;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.1%;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.27%;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:11.21%;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:70.8%;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:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p 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.21%;margin: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,637</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p 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.21%;margin: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,587</p></td></tr><tr><td style="vertical-align:bottom;width:70.8%;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:2.1%;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.27%;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:11.21%;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.1%;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.27%;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:11.21%;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:70.8%;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:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 619</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 217</p></td></tr><tr><td style="vertical-align:bottom;width:70.8%;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:2.1%;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.27%;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:11.21%;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;"> 64</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;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.27%;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:11.21%;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;"> 23</p></td></tr><tr><td style="vertical-align:bottom;width:70.8%;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:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 317</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 246</p></td></tr><tr><td style="vertical-align:bottom;width:70.8%;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:2.1%;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.27%;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:11.21%;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:2.1%;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.27%;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:11.21%;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></tr><tr><td style="vertical-align:bottom;width:70.8%;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:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;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.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 3,637</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;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.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 2,806</p></td></tr><tr><td style="vertical-align:bottom;width:70.8%;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.1%;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.27%;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.21%;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.1%;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.27%;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.21%;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:70.8%;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:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;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.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;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:70.8%;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:2.1%;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.27%;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:11.21%;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.1%;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.27%;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:11.21%;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:70.8%;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:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p 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.21%;margin: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,516</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p 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.21%;margin: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,336</p></td></tr><tr><td style="vertical-align:bottom;width:70.8%;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:2.1%;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.27%;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.21%;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;"> 74</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;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.27%;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.21%;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;"> 23</p></td></tr><tr><td style="vertical-align:bottom;width:70.8%;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:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p 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.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 815</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p 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.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 513</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> 2637000 2587000 619000 217000 64000 23000 317000 246000 267000 3637000 2806000 2516000 1336000 74000 23000 815000 513000 <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 March 31, 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;">March 31, </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.9</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.9</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;"> 2.1</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;"> 1.4</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.7%</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.4%</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;">3.7%</p></td></tr></table> P12Y10M24D P13Y10M24D P2Y1M6D P1Y4M24D 0.047 0.045 0.054 0.037 <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 March 31, 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;">March 31, 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 nine 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;"> 7,802</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;"> 2,325</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;"> 9,410</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;"> 8,140</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;"> 7,586</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;"> —</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,731</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;"> —</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,154</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 3.5pt 0.05pt 0pt;"> —</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,157</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 3.5pt 0.05pt 0pt;"> —</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;"> 115,980</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;"> 5,294</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;"> (31,012)</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;"> (310)</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;"> 84,968</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,984</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: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;">March 31, 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 nine 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;"> 7,802</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;"> 2,325</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;"> 9,410</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;"> 8,140</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;"> 7,586</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;"> —</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,731</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;"> —</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,154</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 3.5pt 0.05pt 0pt;"> —</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,157</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 3.5pt 0.05pt 0pt;"> —</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;"> 115,980</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;"> 5,294</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;"> (31,012)</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;"> (310)</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;"> 84,968</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,984</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> 7802000 2325000 9410000 2150000 8140000 819000 7586000 7731000 8154000 67157000 115980000 5294000 31012000 310000 84968000 4984000 0 0 <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 March 31, 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;"> 50,083</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;"> 50,083</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;"> 32,312</p></td><td style="vertical-align:bottom;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;"> 32,312</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;">Cash equivalents consisted of treasury bills with original maturities at the date of purchase of three months or less and money market funds of $50.1 million and $61.5 million as of March 31, 2024 and December 31, 2023, respectively.</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 $32.3 million as of March 31, 2024. As of March 31, 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 March 31, 2024 and December 31, 2023, the amortized cost of the Company’s treasury bills approximated fair value. For the three months ended March 31, 2024, the Company did not record any unrealized gains, unrealized losses, or credit losses.</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 March 31, 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;"> 50,083</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;"> 50,083</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;"> 32,312</p></td><td style="vertical-align:bottom;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;"> 32,312</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> 50083000 50083000 32312000 32312000 61463000 61463000 50100000 61500000 32300000 <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 March 31, 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 March 31, 2024.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">As of March 31, 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 months ended March 31, 2024, the Company recorded an income tax provision of $1.8 million, resulting in an effective tax rate of 19.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, which represent a rate impact of (10.9%). During the three months ended March 31, 2023, the Company recorded an income tax provision of $5.5 million, resulting in an effective tax rate of 31.1%.</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;">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> 1800000 0.199 -0.109 5500000 0.311 <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 months ended March 31, 2024 and March 31, 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:71.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.86%;margin:0pt;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></tr><tr><td style="vertical-align:bottom;width:71.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;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.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;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.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;background:#cceeff;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.14%;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.29%;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.56%;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;"> 7,156</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;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.29%;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.56%;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;"> 12,175</p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;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.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;background:#cceeff;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.14%;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.29%;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.56%;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;"> 171,306</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;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.29%;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.56%;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;"> 165,631</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.99%;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.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4,818</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 6,026</p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;background:#cceeff;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.14%;background:#cceeff;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.29%;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;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;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;"><b style="font-weight:bold;"> 176,124</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;background:#cceeff;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.29%;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;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;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;"><b style="font-weight:bold;"> 171,657</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;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.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom: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.56%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 0.04</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom: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.56%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 0.07</p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;background:#cceeff;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.14%;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.29%;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:10.56%;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.14%;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.29%;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:10.56%;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.07</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 6.2 million and 7.1 million weighted average shares issuable under stock-based awards were not included in the diluted EPS calculation in the three months ended March 31, 2024 and March 31, 2023, respectively, because they were 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:71.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.86%;margin:0pt;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></tr><tr><td style="vertical-align:bottom;width:71.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;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.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;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.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;background:#cceeff;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.14%;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.29%;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.56%;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;"> 7,156</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;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.29%;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.56%;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;"> 12,175</p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;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.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;background:#cceeff;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.14%;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.29%;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.56%;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;"> 171,306</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;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.29%;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.56%;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;"> 165,631</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.99%;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.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 4,818</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 6,026</p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;background:#cceeff;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.14%;background:#cceeff;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.29%;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;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;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;"><b style="font-weight:bold;"> 176,124</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;background:#cceeff;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.29%;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;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.56%;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;"><b style="font-weight:bold;"> 171,657</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;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.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom: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.56%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 0.04</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;border-bottom: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.56%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 0.07</p></td></tr><tr><td style="vertical-align:bottom;width:71.99%;background:#cceeff;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.14%;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.29%;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:10.56%;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.14%;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.29%;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:10.56%;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.07</p></td></tr></table> 7156000 12175000 171306000 165631000 4818000 6026000 176124000 171657000 0.04 0.07 0.04 0.07 6200000 7100000 <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 three months ended March 31, 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;"> (194)</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;"> 8.78</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;"> (23)</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;"> 28.49</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 March 31, 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,775</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.15</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.67</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;"> 176,726</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 March 31, 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,744</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.70</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;"> 8.07</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;"> 26,257</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 March 31, 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;"> 6,906</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;"> 13.58</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.08</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;"> 149,377</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 three months ended March 31, 2024. During the three months ended March 31, 2024, there were no stock options exercised and 1,373 market-based and performance-based stock options remain outstanding as of March 31, 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 three months ended March 31, 2024 and March 31, 2023 was $5.1 million and $12.8 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 three months ended March 31, 2024 and March 31, 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 three months ended March 31, 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,387</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;"> 33.88</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;"> (435)</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;"> 27.13</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;"> (65)</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;"> 28.48</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 March 31, 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,607</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.20</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 three months ended March 31, 2024 was $11.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 three months ended March 31, 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></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 March 31, 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="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 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:74.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:74.51%;margin:0pt;padding:0pt;"><p 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.21%;margin:0pt;padding:0pt;"><p 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:23.27%;margin:0pt;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></tr><tr><td style="vertical-align:bottom;width:74.51%;margin:0pt;padding:0pt;"><p 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.21%;margin:0pt;padding:0pt;"><p 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:23.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:74.51%;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.21%;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:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;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:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.51%;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:2.21%;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.33%;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.2%;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;"> 7,373</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;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.33%;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.17%;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;"> 4,379</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.51%;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:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p 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.2%;margin: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,936</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p 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.17%;margin: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,507</p></td></tr><tr><td style="vertical-align:bottom;width:74.51%;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:2.21%;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.33%;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:9.2%;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,932</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;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.33%;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:9.17%;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;"> 3,927</p></td></tr><tr><td style="vertical-align:bottom;width:74.51%;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:2.21%;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.33%;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.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 20,241</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;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.33%;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.17%;border-bottom: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;"> 11,813</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 March 31, 2024, unrecognized stock-based compensation expense was $217.7 million, which is expected to be recognized over a weighted-average period of 1.5 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 December 1, 2023 and will end on May 31, 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.2 million for the three months ended March 31, 2024 and March 31, 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;"> (194)</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;"> 8.78</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;"> (23)</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;"> 28.49</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 March 31, 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,775</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.15</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.67</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;"> 176,726</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 March 31, 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,744</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.70</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;"> 8.07</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;"> 26,257</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 March 31, 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;"> 6,906</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;"> 13.58</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.08</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;"> 149,377</p></td></tr></table> 9992000 17.01 P6Y10M28D 197598000 194000 8.78 23000 28.49 9775000 17.15 P6Y8M1D 176726000 2744000 25.70 P8Y25D 26257000 6906000 13.58 P6Y29D 149377000 0 0 1373000 5100000 12800000 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,387</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;"> 33.88</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;"> (435)</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;"> 27.13</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;"> (65)</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;"> 28.48</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 March 31, 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,607</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.20</p></td></tr></table> 4720000 28.03 2387000 33.88 435000 27.13 65000 28.48 6607000 30.20 11800000 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></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 March 31, 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> 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:74.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:74.51%;margin:0pt;padding:0pt;"><p 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.21%;margin:0pt;padding:0pt;"><p 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:23.27%;margin:0pt;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></tr><tr><td style="vertical-align:bottom;width:74.51%;margin:0pt;padding:0pt;"><p 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.21%;margin:0pt;padding:0pt;"><p 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:23.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:74.51%;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.21%;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:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;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:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.51%;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:2.21%;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.33%;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.2%;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;"> 7,373</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;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.33%;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.17%;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;"> 4,379</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.51%;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:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p 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.2%;margin: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,936</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p 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.17%;margin: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,507</p></td></tr><tr><td style="vertical-align:bottom;width:74.51%;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:2.21%;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.33%;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:9.2%;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,932</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;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.33%;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:9.17%;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;"> 3,927</p></td></tr><tr><td style="vertical-align:bottom;width:74.51%;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:2.21%;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.33%;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.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 20,241</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;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.33%;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.17%;border-bottom: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;"> 11,813</p></td></tr></table> 7373000 4379000 5936000 3507000 6932000 3927000 20241000 11813000 217700000 P1Y6M 300000 200000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">13.   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 March 31, 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.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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 0pt 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;">March 31, 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.12%;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.04%;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,506</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.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;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,793</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.12%;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.04%;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;"> 11,526</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.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;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,026</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.12%;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.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 0.05pt 0pt;"> 4,367</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.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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 0.05pt 0pt;"> 34,218</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:74.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 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.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 0pt 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.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:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 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.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 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.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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 colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.27%;margin:0pt;padding:0pt;"><p style="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></tr><tr><td style="vertical-align:bottom;width:74.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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 colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.27%;border-bottom: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;">March 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:74.51%;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.21%;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:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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:74.51%;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:2.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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;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.2%;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,279)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;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.17%;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,756)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.51%;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:2.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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times 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.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 978</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times 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.17%;margin:0pt;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</p></td></tr><tr><td style="vertical-align:bottom;width:74.51%;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:2.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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;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.2%;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;"> 29</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;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.17%;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;"> 2</p></td></tr><tr><td style="vertical-align:bottom;width:74.51%;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:2.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-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;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.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,272)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;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.17%;border-bottom: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,734)</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.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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 0pt 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;">March 31, 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.12%;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.04%;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,506</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.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;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,793</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.12%;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.04%;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;"> 11,526</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.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;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,026</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.12%;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.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 0.05pt 0pt;"> 4,367</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.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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 0.05pt 0pt;"> 34,218</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> 7506000 6286000 9793000 20809000 11526000 10602000 1026000 2982000 4367000 3585000 34218000 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:74.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 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.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 0pt 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.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:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 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.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 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.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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 colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.27%;margin:0pt;padding:0pt;"><p style="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></tr><tr><td style="vertical-align:bottom;width:74.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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 colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.27%;border-bottom: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;">March 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:74.51%;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.21%;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:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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:74.51%;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:2.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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;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.2%;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,279)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;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.17%;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,756)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.51%;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:2.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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times 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.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 978</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times 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.17%;margin:0pt;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</p></td></tr><tr><td style="vertical-align:bottom;width:74.51%;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:2.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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;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.2%;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;"> 29</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;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.17%;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;"> 2</p></td></tr><tr><td style="vertical-align:bottom;width:74.51%;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:2.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-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;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.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,272)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;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.17%;border-bottom: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,734)</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> 3279000 2756000 -978000 -20000 29000 2000 2272000 2734000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">14.   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;">15.    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_54WIwZ7qXE29B4vY3B1DiA;"><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